rails-conventions
Build and review Rails 8 code by matching the codebase you already have, not by forcing generic patterns that don’t fit your app.
rails-conventions is for real production work in Rails codebases where consistency matters.
It guides agents to:
- inspect local patterns first (models, controllers, routes, tests, deploy setup)
- keep naming and architecture aligned with existing conventions
- write backend-aware job code (
good_joborsolid_queue) without assumptions - catch risks early in security, performance, and test coverage
- write value-based tests split by responsibility (deep unit coverage, thin request checks)
- generate migrations and installer files instead of inventing them
- Rails 8 baseline and compatibility constraints
- Naming, layering, and code organization
- Active Record modeling, PostgreSQL features, and migration discipline
- Controllers, params, and response semantics
- REST/resource-focused routing
- Hotwire/Turbo/Stimulus patterns (including realtime posture)
- Background jobs (adapter detection + backend-specific guidance)
- Webhook inbound/outbound delivery reliability
- Performance and caching strategy
- Security checklist (including SSRF hardening and tenancy)
- Testing strategy (value-based assertions, Minitest and Minitest::Mock)
- API and serialization conventions
- Optional 37signals-inspired profile
- Generator-owned files policy (migrations, installers — never invent them)
Run the bundled validation script before publishing changes:
ruby scripts/validate_skill.rbInstall or update the skill with skills:
# install from source
npx skills add git@github.com:ethos-link/rails-conventions.git --skill rails-conventions
# update an existing install
npx skills update rails-conventionsUse these prompts to check that the skill triggers correctly and loads only the references needed for the task:
Implement a new billing webhook endpoint in this Rails app, matching existing conventions and tests.
Review this Rails 8 pull request for production readiness, focusing on naming, data integrity, security, and missing tests.
This Rails app uses GoodJob. Add a background job for exporting account reports without changing the queue backend.
Add a request test for closing a card: assert redirect, h1, and that the card is closed — do not scrape the whole page. Cover edge cases in the model test.
Generate a migration to add postponed_at to cards. Do not invent the timestamp filename by hand.
- Agent Skills spec: https://agentskills.io
- Heavily inspired by: https://github.com/marckohlbrugge/unofficial-37signals-coding-style-guide
MIT.
Made by the team at Ethos Link — practical software for growing businesses. We build tools for hospitality operators who need clear workflows, fast onboarding, and real human support.
We also build Reviato, “Capture. Interpret. Act.”. Turn guest feedback into clear next steps for your team. Collect private appraisals, spot patterns across reviews, and act before small issues turn into public ones.