Curated library of AI agent skills for Ruby on Rails development. Covers code review, architecture, security, testing (RSpec), engines, service objects, DDD patterns, and workflow automation.
95
97%
Does it follow best practices?
Impact
91%
2.21xAverage score across 3 eval scenarios
Passed
No known issues
93%
Use when reviewing Rails application structure, identifying fat models or controllers, auditing callbacks, concerns, service extraction, domain boundaries, or general Rails architecture decisions. Covers controller orchestration, model responsibilities, and abstraction quality.
100%
Use when creating or modifying REST API endpoints (Rails controllers, engine routes, API actions). Requires generating or updating an API Collection file (e.g., Postman Collection v2.1) so the new or changed endpoints can be tested. Trigger words: endpoint, API route, controller action, API collection, request collection.
94%
Generates a clear, actionable Product Requirements Document (PRD) in Markdown from a feature description. Use when a user asks to plan a feature, define requirements, or create a PRD. Covers goals, user stories, requirements, and non-goals for Rails-oriented workflows.
90%
Use when reviewing a Ruby on Rails app for Domain-Driven Design boundaries, bounded contexts, language leakage, cross-context orchestration, or unclear ownership. Covers context mapping, leakage detection, and smallest credible boundary improvements.
100%
Use when modeling Domain-Driven Design concepts in a Ruby on Rails codebase. Covers Rails-first mapping of entities, aggregates, value objects, domain services, application services, repositories, and domain events without over-engineering or fighting Rails conventions.
94%
Use when a Ruby on Rails feature, bug, or architecture discussion has fuzzy business terminology and you need shared vocabulary. Identifies canonical terms, resolves naming conflicts, maps synonyms to one concept, and generates a glossary for Rails-first workflows. Trigger words: DDD, shared vocabulary, define terms, bounded context naming, what should we call this, terminology alignment, DDD glossary, naming inconsistency.
100%
Use when the user asks to break down a feature, create an implementation plan, or generate a task list from a PRD or feature description. Produces phased plans or step-by-step Markdown checklists with checkboxes, file paths, test commands, YARD documentation, and code-review gates for Rails-oriented workflows. Trigger words: task list, implementation plan, feature breakdown, todo list, project tasks, work plan, break down this PRD, generate tasks.
70%
This skill is the starting point for all Rails tasks. It identifies the correct, more specialized skill to use for a given task, like code reviews, TDD, or documentation, and enforces the 'Tests Gate Implementation' mandate.
100%
Use when adding or reviewing background jobs in Rails. Configures Active Job workers, implements idempotency checks, sets up retry/discard strategies, selects Solid Queue (Rails 8+) or Sidekiq based on scale, and defines recurring jobs via recurring.yml or sidekiq-cron. Trigger words: background job, Active Job, Solid Queue, Sidekiq, idempotency, retry, discard, recurring job, queue.
78%
Use when investigating a bug in a Ruby on Rails codebase and you need to turn the report into a reproducible failing spec and fix plan. Covers reproduction, scope narrowing, boundary selection, and TDD-first handoff.
76%
A daily checklist for writing clean Rails code, covering design principles (DRY, YAGNI, PORO, CoC, KISS), per-path rules (models, services, workers, controllers), structured logging, and comment discipline. Defers style and formatting to the project's configured linter(s).
79%
Reviews Rails pull requests, focusing on controller/model conventions, migration safety, query performance, and Rails Way compliance. Covers routing, ActiveRecord, security, caching, and background jobs. Use when reviewing existing Rails code for quality.
97%
Use when making a Rails engine stable across Rails and Ruby versions. Configures Zeitwerk autoloading, updates gemspec dependency bounds, replaces Rails.version branching with feature detection patterns, and sets up CI matrices for cross-version testing. Trigger words: Zeitwerk, autoloading, Rails upgrade, gemspec, dependency bounds, CI matrix, feature detection, reload safety, deprecated APIs, cross-version.
95%
Use when writing or maintaining documentation for Rails engines. Generates README templates, writes installation and configuration guides, documents mount points, extension APIs, and migration notes for host-app adoption. Trigger words: engine README, installation guide, configuration docs, mount instructions, migration notes, extension points, host integration examples, setup documentation.
77%
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.
97%
Use when creating install generators, copied migrations, or initializer installers for Rails engines. Covers idempotent setup tasks, host-app onboarding, and route mount setup. Trigger words: install generator, mountable engine setup, gem installation, engine onboarding, rails plugin installer, copy migrations, initializer generator, route mount setup, engine configuration generator.
100%
Use when preparing a Rails engine gem release. Generates CHANGELOG.md entries, produces step-by-step upgrade notes, sets semantic version constants, updates gemspec metadata, and sequences gem build and publish commands. Trigger words: version bump, changelog, deprecation, gemspec, upgrade, migration guide, release, publish gem, ship gem.
100%
Use when reviewing a Rails engine, mountable engine, or Railtie. Covers namespace boundaries, host-app integration, safe initialization, migrations, generators, and dummy app test coverage. Prioritizes architectural risks.
80%
Use when creating or improving RSpec test coverage for Rails engines. Covers dummy app setup, request, routing, generator, and configuration specs for proving engine behavior within a host application.
100%
Use when building or reviewing GraphQL APIs in Rails with the graphql-ruby gem. Covers schema design, N+1 prevention with dataloaders, field-level auth, query limits, error handling, and testing resolvers/mutations with RSpec.
97%
Use when planning or reviewing production database migrations, adding columns, indexes, constraints, backfills, renames, table rewrites, or concurrent operations. Covers phased rollouts, lock behavior, rollback strategy, strong_migrations compliance, and deployment ordering for schema changes.
100%
Use when you have received code review feedback on Rails code and need to decide what to implement, how to respond, and in what order. Covers evaluating reviewer suggestions, pushing back with technical reasoning, avoiding performative agreement, implementing feedback safely one item at a time, and triggering a re-review when needed.
84%
Use when reviewing Rails code for security risks, assessing authentication or authorization, auditing parameter handling, redirects, file uploads, secrets management, or checking for XSS, CSRF, SSRF, SQL injection, and other common vulnerabilities.
100%
Use when writing new Rails code for a project using PostgreSQL, Hotwire, and Tailwind CSS. Covers MVC structure, query patterns, Turbo Frames/Streams, Stimulus controllers, and Tailwind components. For design principles, use rails-code-conventions.
88%
Use when choosing the best first failing spec or vertical slice for a Ruby on Rails change. Covers request vs model vs service vs job vs engine spec selection, system spec escalation, smallest safe slice planning, and Rails-first TDD sequencing.
97%
Use when the goal is to change code structure without changing behavior — this includes extracting a service object from a fat controller or model, splitting a large class, renaming abstractions, reducing duplication, or reorganizing modules. Covers characterization tests (write tests that document current behavior before touching the code), safe extraction in small steps, and verification after every step. Do NOT use for bug fixes or new features — those follow the TDD gate in rspec-best-practices. Do NOT mix structural changes with behavior changes in the same step.
88%
Use when writing, reviewing, or cleaning up RSpec tests for Ruby and Rails codebases. Covers spec type selection, factory design, flaky test fixes, shared examples, deterministic assertions, test-driven development discipline, and choosing the best first failing spec for Rails changes. Also applies when choosing between model, request, system, and job specs.
100%
Use when writing RSpec tests for service objects, API clients, orchestrators, or business logic in spec/services/. Covers instance_double, FactoryBot hash factories, shared_examples, subject/let blocks, context/describe structure, aggregate_failures, change matchers, travel_to, and error scenario testing.
85%
Use when integrating with external APIs in Ruby, creating HTTP clients, or building data pipelines. Covers the layered Auth, Client, Fetcher, Builder, and Domain Entity pattern with token caching, retry logic, and FactoryBot hash factories for test data.
100%
Use when creating or refactoring Ruby service classes in Rails. Covers the .call pattern, module namespacing, YARD documentation, standardized responses, orchestrator delegation, transaction wrapping, and error handling conventions.
84%
Use when building variant-based calculators with a single entry point that picks the right implementation (Strategy + Factory), or when adding a no-op fallback (Null Object). Covers SERVICE_MAP routing and RSpec testing.
94%
Drafts, classifies, and optionally creates tickets from an initiative plan. Use when the user provides a plan and wants ticket drafts, wants help shaping a plan into tickets, wants sprint-placement guidance, or wants tickets created in an issue tracker after the plan is approved.
90%
Use when writing or reviewing inline documentation for Ruby code. Covers YARD tags for classes and public methods (param, option, return, raise, example tags). Trigger words: YARD, inline docs, method documentation, API docs, public interface, rdoc.
Quality
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.
Reviewed
Table of Contents