Curated library of 39 AI agent skills for Ruby on Rails development. Organized by category: planning, testing, code-quality, ddd, engines, infrastructure, api, patterns, context, orchestration, and workflows. Includes 5 callable workflow skills (rails-tdd-loop, rails-review-flow, rails-setup-flow, rails-quality-flow, rails-engines-flow) for complete development cycles. Covers code review, architecture, security, testing (RSpec), engines, service objects, DDD patterns, and TDD automation.
95
98%
Does it follow best practices?
Impact
95%
1.20xAverage score across 35 eval scenarios
Passed
No known issues
Use this skill when you have received review feedback on your own Rails code (PR comments, pair review, async review). This is the counterpart to rails-code-review, which covers giving a review.
Core principle: Verify before implementing. Technical acknowledgment over performative agreement. Re-review after significant changes.
WHEN receiving code review feedback:
1. READ: Read all feedback completely before reacting
2. UNDERSTAND: Restate each point as a technical requirement
3. VERIFY: Check the suggestion against the actual codebase
4. EVALUATE: Is this technically sound for THIS codebase?
5. RESPOND: Technical acknowledgment, clarifying question, or reasoned pushback
6. IMPLEMENT: One item at a time — test after each change
7. RE-REVIEW: Trigger a re-review if any Critical items were addressedDO NOT start implementing before completing steps 1-4.
These responses skip verification and add zero signal:
| Forbidden | Why |
|---|---|
| "You're absolutely right!" | Performative — confirms nothing was verified |
| "Great point!" / "Excellent feedback!" | Performative — signals compliance, not understanding |
| "Let me implement that now" | Skips verification — reviewer may lack codebase context |
| "I'll fix all of these" | Batch commitment before evaluating each item individually |
Instead: Restate the technical requirement, ask clarifying questions, push back with reasoning if wrong, or just start implementing one item after reading all feedback.
Before implementing any suggestion, classify it:
| Category | Description | Action |
|---|---|---|
| Correct + Critical | Real security, crash, or data risk | Fix immediately, re-review |
| Correct + Suggestion | Real improvement, not blocking | Fix in this PR or ticket follow-up |
| Correct + Nice to have | Style, minor optimization | Optional — acknowledge explicitly |
| Incorrect | Reviewer lacks context or misread the code | Push back with technical reasoning |
| Ambiguous | Unclear what change is actually requested | Clarify before implementing |
Push back when a suggestion is technically incorrect for the codebase. Use this structure:
"I see the concern about N+1 here. In this case the association is already
preloaded at line 42 via `includes(:orders)`. Adding another `eager_load`
would run a duplicate JOIN. Happy to add a comment clarifying this if helpful."Never: Push back without technical evidence. If unsure, verify before claiming it's fine.
After implementing feedback, decide whether to request a re-review:
| Situation | Action |
|---|---|
| Any Critical finding was addressed | Request re-review — mandatory |
| 3+ Suggestion items changed logic | Request re-review — recommended |
| Only Nice to have or cosmetic fixes | Comment what was done — no re-review needed |
| Architecture or class structure changed | Request re-review — mandatory |
| Mistake | Reality |
|---|---|
| Implementing all feedback immediately | Verify each item first — some suggestions may be wrong |
| Treating all feedback as equally urgent | Classify by severity — Critical before cosmetic |
| Closing review comments without verifying | Comment what you checked and why you agree or disagree |
| Skipping re-review after Critical fixes | A fix can introduce new issues — re-review is mandatory |
| Asking for re-review after cosmetic changes | Wastes reviewer time — only request when logic changed |
| Skill | When to chain |
|---|---|
| rails-code-review | The counterpart — use when giving a review, not receiving |
| rspec-best-practices | Run the TDD loop after implementing feedback that changes logic |
| refactor-safely | When feedback suggests a larger structural change |
| rails-security-review | When Critical feedback involves security — get a dedicated review |
docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20
scenario-21
scenario-22
scenario-23
scenario-24
scenario-25
scenario-26
scenario-27
scenario-28
scenario-29
scenario-30
scenario-31
scenario-32
scenario-33
scenario-34
scenario-35
mcp_server
skills
api
api-rest-collection
rails-graphql-best-practices
code-quality
rails-architecture-review
rails-code-conventions
rails-code-review
rails-review-response
rails-security-review
rails-stack-conventions
assets
snippets
refactor-safely
context
rails-context-engineering
rails-project-onboarding
ddd
ddd-boundaries-review
ddd-rails-modeling
ddd-ubiquitous-language
engines
rails-engine-compatibility
rails-engine-docs
rails-engine-extraction
rails-engine-installers
rails-engine-release
rails-engine-reviewer
rails-engine-testing
infrastructure
rails-api-versioning
rails-background-jobs
rails-database-seeding
rails-frontend-hotwire
rails-migration-safety
rails-performance-optimization
orchestration
rails-skills-orchestrator
patterns
ruby-service-objects
strategy-factory-null-calculator
yard-documentation
planning
create-prd
generate-tasks
ticket-planning
testing
rails-bug-triage
rails-tdd-slices
rspec-best-practices
rspec-service-testing