CtrlK
BlogDocsLog inGet started
Tessl Logo

sandi-metz-rules

This skill should be used when users request code review, refactoring, or code quality improvements for Ruby codebases. Apply Sandi Metz's four rules for writing maintainable object-oriented code - classes under 100 lines, methods under 5 lines, no more than 4 parameters, and controllers instantiate only one object. Use when users mention "Sandi Metz", "code quality", "refactoring", or when reviewing Ruby code for maintainability.

88

1.17x
Quality

81%

Does it follow best practices?

Impact

100%

1.17x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

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

The body delivers highly actionable, well-sequenced guidance with precise counting rules, executable examples, and a clearly signaled one-level-deep reference file. Its main weakness is token efficiency: the refactoring-pattern catalog and the Resources section restate knowledge Claude already has and duplicate references/rules.md content that the skill could simply point to.

Suggestions

Replace the 'Suggest Specific Refactorings' pattern catalog with a short pointer to references/rules.md, which already contains the detailed strategies — Claude knows these standard patterns and doesn't need them enumerated.

Delete or compress the 'Resources' section: listing what the reference contains ('Rationale and benefits', 'Common violations and their causes'...) is meta-description that adds tokens without adding guidance beyond the existing 'Read references/rules.md' instruction.

Add a verification checkpoint to the review Usage Patterns (e.g., re-measure after suggested refactoring or confirm line counts) so all workflows, not just Pattern 3, close the loop.

DimensionReasoningScore

Conciseness

The body is mostly efficient operational guidance, but several sections restate knowledge Claude already has or duplicate the reference: 'Suggest Specific Refactorings' catalogs patterns like 'Strategy, Decorator, Command, Facade' and 'Replace conditionals with polymorphism', and the 'Resources' section merely lists what references/rules.md contains ('Detailed explanation of each rule / Rationale and benefits...'). This matches 'mostly efficient but includes some unnecessary explanation or could be tightened' (3); it is not severely padded (2) nor free of over-explanation (4).

3 / 5

Actionability

Guidance is fully executable: precise counting rules with runnable Ruby examples ('def method(a, *rest) # 2 parameters - OK'), a copy-paste-ready RuboCop YAML config, explicit thresholds for priority tiers ('Classes over 200 lines', 'Methods with 5 parameters'), and a concrete load instruction ('Read references/rules.md'). Specific examples cover the common cases, matching the score-5 anchor.

5 / 5

Workflow Clarity

The five-step Code Review Workflow is clearly sequenced, and the three Usage Patterns give concrete numbered procedures with '4. Verify that tests still pass' as a checkpoint. It falls short of the score-5 anchor because validation appears only in the refactoring pattern — the review patterns have no verify/feedback step — matching 'clear sequence with most checkpoints present; minor validation gaps'.

4 / 5

Progressive Disclosure

The single bundle file references/rules.md exists and is clearly signaled at one level of depth ('Read references/rules.md' appears in both the workflow and Pattern 3), with the body organized into scannable sections. It does not reach 5 because content that also lives in the reference (rule details, refactoring strategies, when-to-break guidance per the Resources list) is substantially inlined, so the split is good but not minimal.

4 / 5

Total

16

/

20

Passed

Description

88%Weight 40%Scale 1-5

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

A strong description: it names the domain (Ruby), states all four rules with concrete thresholds, uses third person, and includes an explicit 'Use when' clause with natural trigger terms. The only improvements are adding the synonyms already present in the body (POODR, code smells) and tightening the broad 'code review' trigger to reduce overlap with generic review skills.

Suggestions

Add 'POODR' and 'code smells' to the trigger list — they appear in the body's When-to-Use section but are absent from the description where trigger matching actually happens.

Qualify the broad 'code review' trigger (e.g., 'reviewing Ruby code for maintainability') to reduce conflict risk with generic code-review skills.

DimensionReasoningScore

Specificity

The description lists multiple concrete, parameterized capabilities — 'classes under 100 lines, methods under 5 lines, no more than 4 parameters, and controllers instantiate only one object' — comprehensively covering all four rules with specific thresholds. It is not vague fluff; every claim is explicit, matching the 'comprehensive coverage' anchor rather than the score-4 anchor which implies gaps.

5 / 5

Completeness

It explicitly answers both questions: 'what' is the application of the four rules with concrete thresholds, and 'when' via the explicit clause 'Use when users mention "Sandi Metz", "code quality", "refactoring", or when reviewing Ruby code for maintainability.' This matches the score-5 anchor (clear what AND when with concrete trigger phrases); the score-4 anchor requires a weaker or less explicit 'when', which does not apply here.

5 / 5

Trigger Term Quality

Good keyword coverage with natural phrases users would say: 'code review', 'refactoring', 'code quality', 'Sandi Metz', 'Ruby codebases', 'maintainability'. A few natural terms are missing — 'POODR', 'code smells', and the '.rb' extension appear in the body but not the description — so it falls between the good (4) and comprehensive (5) anchors, closer to 4.

4 / 5

Distinctiveness Conflict Risk

The 'Sandi Metz' naming and Ruby scoping give it a clear niche with distinct triggers, but generic phrases like 'code review' and 'refactoring' create minor overlap risk with general code-review/refactoring skills before the Ruby qualifier is reached. It fits 'mostly distinct; minor overlap risk with closely related skills' (4) rather than the minimal-conflict anchor (5).

4 / 5

Total

18

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
Dicklesworthstone/pi_agent_rust
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.