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.

81

1.17x
Quality

71%

Does it follow best practices?

Impact

100%

1.17x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./tests/ext_conformance/artifacts/agents-mikeastock/skills/sandi-metz-rules/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

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 a strong skill description that clearly articulates what it does (applies Sandi Metz's four specific rules for OO code quality), when to use it (explicit trigger terms and use cases), and for what domain (Ruby codebases). The description is concise, uses third person voice, and provides enough specificity to distinguish it from general code review skills.

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 concrete activities like code review, refactoring, and code quality improvements.

3 / 3

Completeness

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

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 the key phrases a user would naturally use when requesting this kind of help.

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

Implementation

42%

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

The skill is well-organized with good progressive disclosure and a clear reference structure, but suffers from significant verbosity - explaining design patterns, principles, and concepts Claude already knows well. The refactoring guidance is mostly abstract (listing pattern names) rather than providing concrete before/after Ruby code examples, and the workflows lack explicit validation checkpoints for a refactoring-oriented skill.

Suggestions

Cut the 'When to Use This Skill' section entirely (this belongs in frontmatter/description), and remove explanations of well-known patterns like SRP, Strategy, Decorator - just name them as options.

Add a concrete before/after Ruby code example showing at least one refactoring (e.g., extracting a long method or introducing a Parameter Object) to make the guidance truly actionable.

Add explicit validation checkpoints to workflows: after refactoring, re-measure against the four rules and verify no new violations were introduced before proceeding.

Consolidate the three 'Usage Patterns' into a single workflow with branching, since they share most steps - this would reduce redundancy significantly.

DimensionReasoningScore

Conciseness

Significant verbosity throughout. The 'When to Use This Skill' section repeats what should be in frontmatter. Extensive explanation of concepts Claude already knows (SRP, design patterns, what guard clauses are). The 'Consider Context' section lists obvious exceptions. The 'Resources' section at the end redundantly describes what's in the reference file.

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 strategies are mostly abstract lists of pattern names (Strategy, Decorator, Command) rather than executable examples. The 'show before and after code examples' instruction tells Claude what to do without demonstrating it.

2 / 3

Workflow Clarity

Multiple workflow patterns are listed with numbered steps, which is helpful. However, there are no validation checkpoints or feedback loops - for example, after refactoring there's no step to verify the refactored code still meets all four rules, and 'Verify that tests still pass' is mentioned but not given as an explicit validation gate with error recovery.

2 / 3

Progressive Disclosure

Good structure with a clear overview, well-organized sections, and appropriate references to references/rules.md for detailed guidance. The skill keeps the main content at a summary level and points to the reference document for deep dives, with clear signaling of when to load it.

3 / 3

Total

8

/

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
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.