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.
98
99%
Does it follow best practices?
Impact
98%
1.38xAverage score across 26 eval scenarios
Passed
No known issues
Conventions and structure for every SKILL.md in this library.
rails-agent-skills/
├── .claude-plugin/ # Claude Code plugin metadata
│ ├── plugin.json
│ └── marketplace.json
├── .codex/ # Codex installation instructions
│ └── INSTALL.md
├── .cursor-plugin/ # Cursor plugin metadata
│ └── plugin.json
├── hooks/ # Session hooks
│ ├── hooks.json
│ └── session-start
├── docs/ # Documentation
│ ├── implementation-guide.md
│ ├── architecture.md
│ ├── workflow-guide.md
│ └── skill-template.md
├── rails-skills-orchestrator/ # Bootstrap skill (loaded at session start)
│ └── SKILL.md
├── <skill-name>/ # One directory per skill
│ ├── SKILL.md # Main skill file (required)
│ └── reference.md # Optional reference material
├── README.md
└── .gitignoreEvery skill follows this structure:
---
name: skill-name
description: >
Use when [concrete trigger conditions]. Covers [key topics].
[Additional trigger words for discovery].
---Rules:
name: kebab-case, matches directory namedescription: starts with "Use when...", third person# Skill Title
Use this skill when [brief trigger].
**Core principle:** [One sentence philosophy]A scannable table at the top for fast lookup:
## Quick Reference
| Aspect | Rule |
|--------|------|
| ... | ... |Non-negotiable blockers in a code block:
## HARD-GATE
\```
DO NOT [forbidden action].
ALWAYS [required action].
\```The main instructions. Use numbered steps for processes, bullet lists for rules.
Table format with "Mistake" and "Reality" columns:
## Common Mistakes
| Mistake | Reality |
|---------|---------|
| "Excuse or bad practice" | Why it's wrong and what to do instead |Bullet list of signals that the skill is being violated:
## Red Flags
- Signal that something is wrong
- Another signalTable of related skills and when to chain them:
## Integration
| Skill | When to chain |
|-------|---------------|
| **other-skill** | When [condition] |"Claude Search Optimization" — how the description helps AI agents find the right skill:
Good:
description: >
Use when reviewing Rails pull requests, checking controller conventions,
or validating migration safety. Covers routing, query optimization, security.Bad:
description: >
This skill reviews code by checking routing, then controllers, then models,
then queries, then migrations, then security, then caching.Follow exactly. Do not adapt away discipline.
rspec-best-practices (tests gate / TDD discipline)refactor-safely (characterization tests hard-gate)rails-migration-safety (phased rollout hard-gate)Adapt principles to context.
rails-stack-conventionsrails-code-conventionsticket-planningruby-service-objectsrails-background-jobsddd-rails-modelingProduce findings with severity levels.
rails-code-review — giving a reviewrails-review-response — receiving and responding to feedback (split from rails-code-review)rails-architecture-reviewrails-security-reviewrails-engine-reviewerddd-boundaries-reviewBeyond HARD-GATEs (which block entirely), some skills use checkpoints — explicit pause-and-confirm steps that require user approval before continuing. Checkpoints differ from gates in that they pause for collaboration, not to enforce a rule.
Defined in: rails-tdd-slices (step after writing the first failing spec).
Purpose: Present the failing test(s) to the user before implementation begins. Confirm:
Only proceed to the Implementation Proposal once the test design is approved.
Defined in: rspec-best-practices (step in the gate cycle between test validation and implementation).
Purpose: Before writing implementation code, propose the approach in plain language:
Wait for confirmation before writing code. This prevents surprise implementations that require full rewrites.
Defined in: docs/workflow-guide.md (TDD Feature Loop), rails-code-review.
Purpose: Run linters (bundle exec rubocop or project equivalent) and the full test suite before proceeding to YARD documentation or PR. Fix all failures before continuing.
All skills use standard Markdown and YAML frontmatter, which is compatible across:
| Platform | How skills are loaded |
|---|---|
| Cursor | Read from ~/.cursor/skills/ directories |
| Codex | Read from ~/.codex/skills/ directories |
| Claude Code | Loaded via .claude-plugin/plugin.json |
Platform-specific features (hooks, commands, agents) are handled by the infrastructure files, not the skills themselves.
api-rest-collection
create-prd
ddd-boundaries-review
ddd-rails-modeling
ddd-ubiquitous-language
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
generate-tasks
mcp_server
rails-architecture-review
rails-background-jobs
rails-bug-triage
rails-code-conventions
rails-code-review
rails-engine-compatibility
rails-engine-docs
rails-engine-extraction
rails-engine-installers
rails-engine-release
rails-engine-reviewer
rails-engine-testing
rails-graphql-best-practices
rails-migration-safety
rails-review-response
rails-security-review
rails-skills-orchestrator
rails-stack-conventions
rails-tdd-slices
refactor-safely
rspec-best-practices
rspec-service-testing
ruby-service-objects
strategy-factory-null-calculator
ticket-planning
yard-documentation