Skip to main content
plugin

railscto — Claude Code plugin: Rails work with QA gates

Turns Claude into a senior Rails collaborator: plans features, writes code and tests, and blocks anything that skips review.

Install into Claude Code · Plugin marketplace All methods and platforms ↓
/plugin marketplace add anthropics/claude-plugins-community
/plugin install railscto@claude-community
Open on GitHub

What railscto does

The plugin follows a Rails project through the whole cycle. It starts by planning a multi-step feature: scope, gem research, edge cases, a step-by-step plan. Then it writes code for controllers, models, RESTful routes, JSON APIs and service objects, and builds the front end with ERB, ViewComponents, Stimulus, Turbo and Tailwind.

Quality control comes next. RuboCop and Herb tidy Ruby and ERB, while Reek, Flog and Flay look for code smells, complexity and duplication. Brakeman and bundler-audit handle security. Tests run on Minitest with SimpleCov reports, and the git workflow covers clean commits, PRs into staging and separate production release PRs. QA gates sit at every step, so code without tests, lint and review does not move forward.

Open a session with /rails-cto. The orchestrator skill initialises the session, routes work to specialist skills and runs the completion checklist. Skills use whatever model your session runs on, so the author suggests picking a stronger one via /model; the architect skill is the exception and plans on the best model your account can reach for that turn. PR skills need the gh CLI with gh auth login done once, and the Stimulus skill pulls better-stimulus@obie-skills from the obie/skills marketplace.

What it helps with

  • plan a multi-step feature before writing code
  • write idiomatic controllers and service objects
  • build a front end with Stimulus and Turbo
  • run lint, code smell and security checks
  • open a staging PR and a separate release PR

Example prompts for the agent

  • Start a session with /rails-cto and help me plan a shopping cart feature
  • Run lint and a security scan on the changed files
  • Open a staging PR from the current branch

How to install railscto

Plugin marketplace

/plugin marketplace add anthropics/claude-plugins-community
/plugin install railscto@claude-community

Step by step, with commands for each platform: Claude Code plugins: marketplaces, installing, and building your own

Questions about railscto

How do I install railscto in Claude Code?

From the marketplace: run /plugin marketplace add anthropics/claude-plugins-community, then /plugin install railscto@claude-community.

What does railscto do?

It carries Rails work from feature planning to a release PR: code, tests, lint, code smell checks, security scans and the git workflow. QA gates stop steps from being skipped.

What else do I need alongside the plugin?

The companion rails-cto gem in the development and test groups, then bundle exec rails-cto init to set up the toolchain and configs. PR skills also need the gh CLI, and the Stimulus skill needs better-stimulus@obie-skills.

Source text

SKILL.md · MIT
# rails-cto

Opinionated Claude Code plugin that turns Claude into a senior-engineer-grade Ruby on Rails collaborator. It guides every layer of the stack and enforces strict quality, security, and test gates so nothing ships without review.

## Help wanted — early days

rails-cto is in active early development. The vision is a fully integrated Rails workflow that makes Claude the best collaborator a Ruby on Rails developer can have — see [railscto.com](https://railscto.com) for the bigger picture. There's a lot of ground still to cover, and a helping hand goes a long way. If you write Rails and have opinions about what a senior-engineer-grade Claude should do, contributions, issues, and feedback are all welcome on [GitHub](https://github.com/mattsears/rails-cto/issues).

## Skills

rails-cto covers the full Rails development lifecycle:

- Plans multi-step features before code is written — scoping, gem research, edge cases, and step-by-step implementation plans
- Writes idiomatic Rails code for controllers, models, RESTful routes, JSON APIs, and command/service objects
- Builds the front-end with ERB, ViewComponents, Stimulus, Turbo, and Tailwind
- Writes Minitest tests targeting full or near-full coverage — Spec DSL, parallel execution, and SimpleCov reports to verify it
- Auto-formats and lints Ruby with RuboCop and ERB with Herb — fixes what it can, flags what it can't
- Enforces code quality with Reek (code smells), Flog (complexity), and Flay (duplication)
- Scans for security issues using Brakeman and bundler-audit
- Guides Rails version upgrades with selective diffs and upgrade notes
- Automates the git workflow — clean commits, PRs targeting staging, and production release PRs
- Enforces QA gates at every step so nothing ships without tests, lint, and review

Start every session with `/rails-cto` — the orchestrator skill handles session init, routes to specialist skills, enforces QA gates, and runs the completion checklist. Browse `skills/` for the full list of individual skills.

Skills run on whatever model your session is using, so pick a strong one (Fable or Opus) with `/model` for the best results. The one exception is the architect skill, which plans on the best model available to your account for that turn, then hands back to your session model.

## Installation

### Install from the marketplace

```bash
/plugin marketplace add mattsears/rails-cto
/plugin install rails-cto@rails-cto
```
### Install the companion gem

The plugin's skills rely on a quality toolchain (RuboCop, Reek, Flog, Flay, Brakeman, bundler-audit, SimpleCov, Herb) and a set of matching config files. Rather than installing and configuring all of that by hand, add the companion [`rails-cto` gem](https://github.com/mattsears/rails-cto-gem) to your Rails project:

```ruby
group :development, :test do
  gem "rails-cto"
end
```
Then bootstrap the project:

```bash
bundle install
bundle exec rails-cto init
```

### Install marketplace dependencies

The Stimulus skill depends on `better-stimulus@obie-skills`. Install it from the [obie/skills](https://github.com/obie/skills) marketplace:

```bash
/plugin marketplace add obie/skills
/plugin install better-stimulus@obie-skills
```

### Node-side Herb tools

Herb's Node-side formatter and linter aren't part of the gem. Add them to your `package.json` devDependencies:

```json
"@herb-tools/formatter": "0.9.2",
"@herb-tools/linter": "0.9.2"
```

Then run `yarn install` (or `npm install`).

### GitHub CLI

The `rails-cto-pull-request` and `rails-cto-production-pr` skills use the [`gh` CLI](https://cli.github.com/) to open PRs. Install it (`brew install gh` on macOS, or see the install guide for other platforms) and authenticate once:

```bash
gh auth login
```

## Updating

Updating is two steps, run from your shell. Refresh the marketplace so Claude Code sees the latest published version, then update the installed plugin — refreshing the marketplace alone leaves your install on the old version:

```bash
claude plugin marketplace update rails-cto
claude plugin update rails-cto@rails-cto
```

Restart Claude Code to load the new version, or run `/reload-plugins` in a session that's already open. Check what you're on with `claude plugin list`.

To skip this in future, turn on auto-update for the marketplace: run `/plugin`, go to **Marketplaces**, select `rails-cto`, and choose **Enable auto-update**. It is off by default for third-party marketplaces.

## Uninstalling

```bash
/plugin uninstall rails-cto@rails-cto
```

To also remove the marketplace reference:

```bash
/plugin marketplace remove mattsears/rails-cto
```

© mattsears · MIT · mattsears/rails-cto

Similar plugins

All plugins for Backend and APIs →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor