Use when extracting existing Rails app code into a reusable engine. Trigger words: extract to engine, move feature to engine, host coupling, adapters, extraction slices, preserve behavior, incremental extraction, bounded feature.
79
71%
Does it follow best practices?
Impact
91%
1.49xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./rails-engine-extraction/SKILL.mdQuality
Discovery
72%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description excels at trigger term coverage and distinctiveness, clearly carving out a niche for Rails engine extraction with domain-specific vocabulary. However, it lacks specificity about what concrete actions the skill performs (e.g., scaffolding engines, moving models, creating adapter layers) and the 'what it does' portion is underdeveloped compared to the 'when to use it' portion.
Suggestions
Add specific concrete actions the skill performs, e.g., 'Scaffolds engine structure, moves models/controllers/views, creates adapter interfaces for host-engine communication, and updates routing.'
Expand the 'what' portion before the trigger words to clearly describe outputs and steps, not just the high-level goal of extraction.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names the domain (Rails engine extraction) and implies actions like 'extracting', 'move feature', but does not list multiple specific concrete actions such as 'create engine scaffold', 'move models and controllers', 'set up adapter interfaces', etc. | 2 / 3 |
Completeness | The 'when' is explicitly stated ('Use when extracting existing Rails app code into a reusable engine') with trigger words, but the 'what' is weak — it doesn't clearly describe what concrete steps or outputs the skill produces beyond the high-level goal of extraction. | 2 / 3 |
Trigger Term Quality | Includes a strong set of natural trigger terms that a Rails developer would use: 'extract to engine', 'move feature to engine', 'host coupling', 'adapters', 'extraction slices', 'preserve behavior', 'incremental extraction', 'bounded feature'. These cover both common and domain-specific variations well. | 3 / 3 |
Distinctiveness Conflict Risk | This is a very specific niche — Rails engine extraction — with distinct trigger terms like 'host coupling', 'adapters', 'extraction slices' that are unlikely to conflict with other skills. The domain is narrow and well-defined. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
70%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-structured extraction guide with clear workflow sequencing, a strong hard-gate principle, and good progressive disclosure through related skill references. Its main weakness is moderate redundancy across sections (quick reference, extraction order, and what-to-extract-first overlap) and limited concrete executable code — the guidance is more strategic than copy-paste actionable. The adapter example is helpful but could be expanded into a more complete, executable pattern.
Suggestions
Consolidate the Quick Reference table, Extraction Order list, and 'What To Extract First' section to eliminate redundancy — they cover largely the same ground in three different formats.
Add a more complete, executable adapter code example showing both the engine-side interface definition and the host-side initializer configuration, rather than just inline comments.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is mostly efficient and avoids explaining basic Rails concepts, but there is some redundancy across sections — the extraction order, quick reference table, and 'what to extract first' section overlap significantly. The safe slice checklist also repeats points made elsewhere. | 2 / 3 |
Actionability | The skill provides concrete guidance on extraction order and adapter patterns with one Ruby code example, but most advice is procedural/strategic rather than executable. The adapter example is illustrative but not a complete, copy-paste-ready implementation. More concrete code examples (e.g., engine generator commands, initializer setup, test structure) would strengthen actionability. | 2 / 3 |
Workflow Clarity | The extraction order is clearly sequenced with 7 explicit steps, the hard-gate rule provides a critical validation checkpoint ('DO NOT extract and change behavior in the same step'), and the safe slice checklist includes regression test verification. The workflow has an implicit feedback loop: keep tests green throughout each slice. | 3 / 3 |
Progressive Disclosure | The content is well-structured with clear sections (quick reference, common mistakes, red flags, extraction order, examples, integration). The integration table at the bottom provides clear one-level-deep references to related skills. For a skill of this size (~120 lines), the organization is appropriate without needing external file references. | 3 / 3 |
Total | 10 / 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.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
ae8ea63
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.