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
{
"context": "Tests whether the agent applies the ticket-planning skill correctly: classifying each ticket with all required attributes, applying correct area title prefixes (BE |, FE |, Mobile |) with a space after the pipe, using the standard five-section ticket structure in the right order, keeping sections business-facing without cross-repeating content, and sequencing foundation/api tickets before client tickets.",
"type": "weighted_checklist",
"checklist": [
{
"name": "All 8 classification attributes present",
"description": "Every ticket in tickets.md lists all eight classification attributes: area, type, dependency_level, execution_order, coordination_need, external_dependency, urgency, target_bucket",
"max_score": 10
},
{
"name": "area values from allowed set",
"description": "Every ticket's 'area' value is one of: backend, web, mobile, cross-platform, external — no other values used",
"max_score": 6
},
{
"name": "execution_order values from allowed set",
"description": "Every ticket's 'execution_order' value is one of: foundation, api, client, follow-up",
"max_score": 6
},
{
"name": "BE | prefix on backend tickets",
"description": "All backend-area tickets have titles starting with 'BE | ' (with a space after the pipe) — at least one such ticket exists",
"max_score": 8
},
{
"name": "FE | prefix on frontend tickets",
"description": "All web-area tickets have titles starting with 'FE | ' (with a space after the pipe) — at least one such ticket exists",
"max_score": 8
},
{
"name": "No prefix on non-area tickets",
"description": "Any ticket classified as cross-platform or external does NOT have a BE |, FE |, or Mobile | prefix unless the content clearly belongs to one of those areas",
"max_score": 5
},
{
"name": "Five sections present in each ticket",
"description": "Every ticket body contains all five sections: Summary, Background, Acceptance Criteria, Dependencies, Technical Notes — in that order",
"max_score": 12
},
{
"name": "Summary states outcome only",
"description": "The Summary section in each ticket is a single statement of the desired outcome — it does NOT restate the Background or repeat Acceptance Criteria verbatim",
"max_score": 8
},
{
"name": "Technical Notes scope correct",
"description": "Technical Notes sections contain only implementation details relevant to sequencing or scoping — they do NOT repeat Acceptance Criteria items verbatim",
"max_score": 7
},
{
"name": "Foundation/API before client sequencing",
"description": "sequencing_notes.md explains that backend/API tickets (foundation or api execution_order) should be started before web or mobile client tickets",
"max_score": 10
},
{
"name": "Draft-only output",
"description": "tickets.md contains only markdown ticket drafts — there is no mention of creating issues in an external system, no issue keys, and no API calls described",
"max_score": 8
},
{
"name": "target_bucket values from allowed set",
"description": "Every ticket's 'target_bucket' value is one of: ready-to-refine, next-dev-sprint, later",
"max_score": 6
},
{
"name": "type values from allowed set",
"description": "Every ticket's 'type' value is either Story or Task",
"max_score": 6
}
]
}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