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.
Install with Tessl CLI
npx tessl i github:Dicklesworthstone/pi_agent_rust --skill sandi-metz-rules89
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Precise code measurement rules
Method line counting
100%
100%
Blank lines excluded from methods
100%
100%
Block param excluded
100%
100%
Keyword args counted as params
100%
100%
Default params counted
50%
100%
Class line counting
100%
100%
Violation prioritization
100%
100%
Routes DSL acceptable
100%
100%
Specific line numbers
100%
100%
Method extraction suggestion
100%
100%
Parameter object suggestion
0%
100%
Without context: $0.8927 · 4m 28s · 20 turns · 27 in / 19,061 out tokens
With context: $0.8053 · 3m 1s · 24 turns · 2,651 in / 13,314 out tokens
Full codebase review with refactoring examples
File locations and line numbers
100%
100%
Largest violations identified first
100%
100%
Parameter violation flagged
100%
100%
Method length violation flagged
25%
100%
Prioritized severity list
100%
100%
Named pattern for long method
70%
100%
Named pattern for too many params
100%
100%
Before/after for parameter violation
100%
100%
Before/after for method length
80%
100%
Refactoring benefit explained
100%
100%
Summary statistics
100%
100%
Without context: $0.3402 · 1m 51s · 13 turns · 18 in / 6,639 out tokens
With context: $0.8515 · 3m 22s · 23 turns · 2,651 in / 14,149 out tokens
Fat controller refactoring and automation
Single object instantiation
100%
100%
Finder calls not counted
0%
100%
Named extraction pattern
100%
100%
Before/after controller comparison
100%
100%
RuboCop ClassLength limit
100%
100%
RuboCop MethodLength limit
0%
100%
RuboCop ParameterLists limit
100%
100%
Additional tools mentioned
100%
100%
Violation counts identified
100%
100%
Service object handles full flow
100%
100%
Without context: $0.3118 · 1m 32s · 16 turns · 23 in / 5,179 out tokens
With context: $0.6204 · 1m 59s · 27 turns · 2,907 in / 7,553 out tokens
Table of Contents
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.