CtrlK
BlogDocsLog inGet started
Tessl Logo

m15-anti-pattern

Use when reviewing code for anti-patterns. Keywords: anti-pattern, common mistake, pitfall, code smell, bad practice, code review, is this an anti-pattern, better way to do this, common mistake to avoid, why is this bad, idiomatic way, beginner mistake, fighting borrow checker, clone everywhere, unwrap in production, should I refactor, 反模式, 常见错误, 代码异味, 最佳实践, 地道写法

48

Quality

52%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/m15-anti-pattern/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

54%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This description is essentially a keyword list with a 'Use when' clause but almost no explanation of what the skill actually does. The trigger term coverage is excellent and includes natural user phrases in multiple languages, but the complete absence of concrete capability descriptions (what actions does it perform? what output does it produce?) significantly weakens it. It reads more like a search index than a skill description.

Suggestions

Add concrete capability descriptions using third-person voice, e.g., 'Identifies common anti-patterns in code, explains why they are problematic, and suggests idiomatic alternatives.'

Specify the scope or language focus explicitly, e.g., 'Focuses on Rust anti-patterns including unnecessary cloning, unwrap misuse, and borrow checker workarounds' to improve both specificity and distinctiveness.

Restructure to lead with a 'what it does' section before the 'Use when' and keywords, so Claude can understand the skill's capabilities, not just its trigger conditions.

DimensionReasoningScore

Specificity

The description lacks any concrete actions. It says 'Use when reviewing code for anti-patterns' but never describes what the skill actually does — no verbs like 'identifies', 'suggests fixes', 'explains why', etc. The bulk of the content is just keywords.

1 / 3

Completeness

The 'when' is explicitly stated ('Use when reviewing code for anti-patterns') with extensive keywords, but the 'what' — what the skill actually does — is essentially missing. There is no description of capabilities or actions performed.

2 / 3

Trigger Term Quality

Excellent coverage of natural trigger terms users would say: 'anti-pattern', 'code smell', 'bad practice', 'better way to do this', 'should I refactor', 'unwrap in production', 'clone everywhere', 'fighting borrow checker', plus multilingual terms. These are highly natural phrases.

3 / 3

Distinctiveness Conflict Risk

The anti-pattern/code smell focus provides some distinctiveness, and Rust-specific terms like 'borrow checker' and 'unwrap in production' help narrow the niche. However, broad terms like 'code review', 'best practice', and 'should I refactor' could easily overlap with general code review or refactoring skills.

2 / 3

Total

8

/

12

Passed

Implementation

50%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This skill provides a comprehensive reference for Rust anti-patterns with good structural elements (tables, checklists, cross-references), but suffers from significant redundancy — the same anti-patterns (clone, unwrap, String) are repeated across 4-5 different tables with only slightly different framing. The lack of any concrete before/after code examples is a notable gap for a code review skill. The cross-referencing system (Trace Up/Down) is well-designed but the referenced modules aren't available.

Suggestions

Consolidate the overlapping tables (Anti-Pattern → Better, Top 5 Beginner Mistakes, Code Smell → Refactoring, Common Error Patterns) into a single comprehensive table to eliminate redundancy and save tokens.

Add 2-3 concrete before/after code examples showing the most common anti-pattern transformations (e.g., clone → references, unwrap → ? operator) to make the skill truly actionable for code review.

Remove the 'Thinking Prompt' section or reduce it to a single-line heuristic — Claude already understands idiomatic Rust concepts like 'references instead of clones' and 'iterators instead of index loops'.

DimensionReasoningScore

Conciseness

The content is reasonably efficient with good use of tables, but there's significant redundancy — the same anti-patterns (clone, unwrap, String) appear in multiple tables (Anti-Pattern → Better, Top 5 Beginner Mistakes, Code Smell → Refactoring, Common Error Patterns) with overlapping information. The 'Thinking Prompt' section tells Claude things it already knows about idiomatic Rust.

2 / 3

Actionability

The skill provides concrete guidance through tables mapping anti-patterns to fixes and a review checklist, but lacks any executable code examples showing the transformation from anti-pattern to better pattern. For a code review skill, showing before/after code snippets would significantly improve actionability.

2 / 3

Workflow Clarity

The 'Thinking Prompt' section provides a reasonable 3-step sequence for evaluating suspicious code, and the checklist at the end gives clear review criteria. However, there's no explicit workflow for how to conduct a code review — no validation steps, no guidance on prioritizing which anti-patterns to address first, and no feedback loop for verifying refactoring correctness.

2 / 3

Progressive Disclosure

The skill references several related modules (m01-ownership, m06-error-handling, m09-domain, etc.) with clear navigation via 'Trace Up' and 'Trace Down' sections, which is good structure. However, no bundle files are provided, so these references are unverifiable, and the main file itself contains redundant content across multiple tables that could have been consolidated or split out.

2 / 3

Total

8

/

12

Passed

Validation

90%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

10

/

11

Passed

Repository
actionbook/rust-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.