A Claude Code plugin that teaches Claude to answer data questions about a Rails 8.2+ application using the rails query command — locally or against a deployed environment via Kamal.
When you ask Claude something like:
- "How many active users do we have?"
- "Show me the orders table structure."
- "What models reference
accounts?" - "Explain the query plan for this scope."
…Claude reaches for rails query instead of opening a console, SSHing to a server, or writing a one-off script. Queries are structured (JSON output), read-only by construction (writes blocked at the connection level), and safe to run against production with a read replica.
The skill covers:
- Both paths — local (
bin/rails query) and remote via Kamal (bin/kamal query -d <env>) - All four input modes — ActiveRecord expressions, raw SQL (
--sql), schema/model introspection (schema,models), andEXPLAINplans - Pagination — how to page through large results, and why you shouldn't add your own
LIMIT - The Kamal quoting rule — the one gotcha that bites when your SQL has parens or stars, and the reliable fix
This repository is both the plugin and a single-plugin marketplace, so you can install it directly without waiting for Anthropic marketplace approval.
From your shell:
claude plugin marketplace add lewispb/rails-query-skill
claude plugin install rails-query@rails-query-skillOr equivalently, from inside an interactive Claude Code session:
/plugin marketplace add lewispb/rails-query-skill
/plugin install rails-query@rails-query-skill
/reload-plugins
The first command registers this repo as a marketplace; the second installs the plugin. In-session, /reload-plugins picks it up without restarting. The plugin will also be submitted to the official Anthropic marketplace — once approved, a shorter claude plugin install rails-query@claude-plugins-official will work too.
-
Rails 8.2+ (the app you're querying). Earlier versions don't ship the
rails querycommand. -
jqon your PATH if you want the skill's suggested extraction patterns to work (jq '.rows[0][0]'). -
For remote use: Kamal with an alias added to
config/deploy.yml:aliases: query: 'app exec -q --reuse -p -r console "rails query"'
Your
consolerole should be configured with read-replica DB access. See the skill body for the reasoning behind each flag.
The skill is described broadly so Claude invokes it whenever a task would naturally be solved by querying a Rails database — not just when the user types /rails-query:rails-query. Try:
"How many users registered last week?"
"What's in the
mailboxestable?"
"Explain this query:
Post.published.limit(100)"
- rails/rails#57156 — the PR that added
rails queryto Rails 8.2. Read this for the full design, rationale, and command surface. - Kamal
appcommands — for wiringbin/kamal querytorails queryon deployed environments.
Issues and PRs welcome at https://github.com/lewispb/rails-query-skill.
MIT