Skills
RailsCTO is built from 16 specialized skills that attach to Claude Code and run automatically based on what files your agent touches. Each skill has a narrow focus, a clear trigger, and a single job.
Engineering
Skills that shape how Rails code gets written.
| Skill | What it does |
|---|---|
rails-cto | Orchestrator — loads core context, routes work to specialized skills, enforces mandatory QA gates |
rails-cto-engineer | Core Rails philosophy — 37signals patterns, One Person Framework, code simplification |
rails-cto-api | RESTful JSON APIs under Api:: namespace, OpenAPI 3.x conventions |
rails-cto-restful | Thin controllers, 7 standard REST actions, nested resources over custom routes |
rails-cto-erb | ERB template formatting, attribute alignment, scannable view files |
rails-cto-stimulus | Stimulus controllers, Turbo integration, reuse-first philosophy |
rails-cto-tailwind | Tailwind CSS conventions, dark mode, responsive, design system |
rails-cto-view-component | ViewComponent patterns with Hotwire, Lookbook previews |
rails-cto-minitest | Minitest::Spec DSL, parallel tests, SimpleCov coverage thresholds |
Quality
Skills that act as mandatory gates on every change.
| Skill | What it does |
|---|---|
rails-cto-qa | The main quality gate — linting, tests, and code review on every .rb change |
rails-cto-static-analysis | Reek, Flog, Flay — code smells, complexity, duplication; auto-refactors when issues are found |
rails-cto-security | Brakeman and bundler-audit — code-level vulnerabilities and CVE scanning |
Git Workflow
Skills for shipping code safely.
| Skill | What it does |
|---|---|
rails-cto-commit | Stage and commit with a human-friendly message; optional push |
rails-cto-pull-request | Create a PR from the current branch into staging |
rails-cto-production-pr | Merge staging into main for a production release |
Other
| Skill | What it does |
|---|---|
rails-cto-upgrade | Analyze Rails upgrade paths, fetch upgrade notes, perform selective merges |
How they fit together
When you start a Claude Code session in a Rails project, the orchestrator (rails-cto) loads first. It pulls in the core engineering context (rails-cto-engineer) and then watches for file changes and user intent. As soon as something happens that matches a specialized skill's trigger, that skill activates.
Three routes are mandatory and cannot be skipped:
- Any
.rbchange →rails-cto-qamust run before the task is considered done. - Any
.html.erbchange →rails-cto-erb+rails-cto-tailwindmust run. - Any implementation plan → must include
rails-cto-qaas the final step.
See Skill Routing for the full routing table.