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.

79

1.17x
Quality

67%

Does it follow best practices?

Impact

100%

1.17x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/sandi-metz-rules/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

35%

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

This skill is well-structured but significantly over-verbose, explaining many concepts Claude already knows (design patterns, SRP, code smells, what the rules mean). The code counting examples and RuboCop config are the strongest concrete elements, but the refactoring guidance is mostly abstract advice rather than executable before/after examples. The content would benefit from being cut by 50-60% and moving detailed refactoring strategies to the referenced rules.md file.

Suggestions

Cut sections that explain concepts Claude already knows: remove the 'When to Use This Skill' section entirely (duplicates frontmatter), remove lists of well-known design patterns (Strategy, Decorator, etc.), and remove explanations of SRP and code smells.

Add concrete before/after Ruby code examples for at least one refactoring per rule violation type, rather than listing abstract strategies like 'Extract related methods into new classes'.

Move the detailed refactoring strategies and automation configuration into references/rules.md, keeping SKILL.md as a lean overview with the four rules, counting conventions, and workflow steps.

Add an explicit validation checkpoint after refactoring: e.g., 're-run the counting analysis on refactored code to confirm all four rules pass before considering the refactoring complete'.

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~180+ lines, explaining many concepts Claude already knows (what Sandi Metz's rules are, what SRP is, what design patterns like Strategy/Decorator/Command are, what code smells are). The 'When to Use This Skill' section repeats the frontmatter description. Sections like 'Suggest Specific Refactorings' list well-known OOP refactoring patterns that Claude already understands deeply. The 'Consider Context' section explains obvious exceptions.

1 / 3

Actionability

The code counting rules with Ruby examples are concrete and useful, and the RuboCop configuration is copy-paste ready. However, the refactoring guidance is mostly abstract advice ('Extract related methods into new classes', 'Use composition or modules') rather than concrete before/after Ruby code examples. Step 4 says 'Show before and after code examples' but the skill itself never demonstrates this.

2 / 3

Workflow Clarity

The workflow has clear numbered steps across three usage patterns, but lacks validation checkpoints. There's no explicit verification step after refactoring (just 'Verify that tests still pass' without showing how), no feedback loop for when refactoring introduces new violations, and no checklist to confirm all four rules are satisfied after changes. For a destructive operation like refactoring, this is insufficient.

2 / 3

Progressive Disclosure

The skill references 'references/rules.md' multiple times, which is good progressive disclosure in principle. However, no bundle files were provided, so we can't verify the reference exists. The main SKILL.md itself contains a lot of content that could be in the reference file (detailed refactoring strategies, automation configuration), making the split between overview and reference unclear. Much inline content should be in the referenced file instead.

2 / 3

Total

7

/

12

Passed

Description

100%

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 is an excellent skill description that clearly articulates what it does (applies Sandi Metz's four specific rules for Ruby code quality), when to use it (explicit trigger terms and use-when clause), and is highly distinctive due to the named methodology and language focus. The description is concise yet comprehensive, with strong natural trigger terms that users would actually say.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions and rules: classes under 100 lines, methods under 5 lines, no more than 4 parameters, controllers instantiate only one object. Also names code review, refactoring, and code quality improvements as concrete actions.

3 / 3

Completeness

Clearly answers both 'what' (applies Sandi Metz's four rules for maintainable OO code in Ruby) and 'when' (explicit 'Use when' clause with trigger terms like 'Sandi Metz', 'code quality', 'refactoring', or reviewing Ruby code for maintainability).

3 / 3

Trigger Term Quality

Includes strong natural trigger terms users would actually say: 'Sandi Metz', 'code quality', 'refactoring', 'Ruby', 'code review', 'maintainability'. These cover common variations of how users would phrase requests in this domain.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive due to the specific focus on Sandi Metz's rules, Ruby codebases, and the enumerated constraints. Unlikely to conflict with generic code review or refactoring skills because of the named methodology and language specificity.

3 / 3

Total

12

/

12

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.

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

Repository
lucianghinda/superpowers-ruby
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.