Creates service objects following single-responsibility principle with comprehensive specs. Use when extracting business logic from controllers, creating complex operations, implementing interactors, or when user mentions service objects or POROs.
Install with Tessl CLI
npx tessl i github:fernandezbaptiste/rails_ai_agents --skill rails-service-object86
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
Discovery
89%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 well-crafted description with strong trigger terms and explicit 'Use when' guidance that clearly defines both purpose and activation conditions. The main weakness is that the capability description could be more specific about what concrete actions the skill performs beyond 'creates service objects'. The Ruby/Rails-specific terminology provides excellent distinctiveness.
Suggestions
Add more specific concrete actions to the capability portion, e.g., 'Creates service objects with input validation, error handling, and dependency injection following single-responsibility principle'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (service objects) and mentions some actions like 'extracting business logic from controllers' and 'creating complex operations', but doesn't list multiple concrete specific actions like 'validate inputs, orchestrate dependencies, handle errors'. | 2 / 3 |
Completeness | Clearly answers both what ('Creates service objects following single-responsibility principle with comprehensive specs') and when ('Use when extracting business logic from controllers, creating complex operations, implementing interactors, or when user mentions service objects or POROs'). | 3 / 3 |
Trigger Term Quality | Includes natural keywords users would say: 'service objects', 'POROs', 'business logic', 'controllers', 'interactors', 'complex operations'. Good coverage of Ruby/Rails terminology users would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | Clear niche targeting Ruby/Rails service object patterns with distinct triggers like 'POROs', 'interactors', 'service objects'. Unlikely to conflict with general coding skills due to specific domain terminology. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
77%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, highly actionable skill with excellent workflow clarity and TDD guidance. The main weaknesses are verbosity (explaining concepts Claude already knows like when to use service objects) and a somewhat monolithic structure that could benefit from better progressive disclosure through external reference files.
Suggestions
Remove or significantly condense the 'When to Use Service Objects' table - Claude understands these patterns
Extract the 'Calling Services' examples and 'Testing with Mocked Dependencies' sections to separate reference files
Condense Step 1's contract definition example - the markdown format is overly verbose for demonstrating the concept
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient but includes some unnecessary content like the 'When to Use Service Objects' table (Claude knows when to use service objects) and verbose explanations. The contract definition example in Step 1 is overly detailed for a skill file. | 2 / 3 |
Actionability | Provides fully executable, copy-paste ready code examples throughout. The service implementation, spec files, Result class, and controller/job integration examples are all complete and runnable Ruby code. | 3 / 3 |
Workflow Clarity | Excellent workflow checklist with explicit TDD steps (RED-GREEN cycle). Clear sequence from contract definition through implementation with validation checkpoints at each spec run. The 10-step checklist provides explicit feedback loops. | 3 / 3 |
Progressive Disclosure | References a template file (templates/service_spec.erb) which is good, but the main content is quite long and monolithic. The directory structure and conventions could be in separate reference files. Some sections like 'Calling Services' examples could be extracted. | 2 / 3 |
Total | 10 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
allowed_tools_field | 'allowed-tools' contains unusual tool name(s) | Warning |
Total | 10 / 11 Passed | |
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.