Curated library of 41 public AI agent skills for Ruby on Rails development. Organized by category: planning, testing, code-quality, ddd, engines, infrastructure, api, patterns, context, and orchestration. Covers code review, architecture, security, testing (RSpec), engines, service objects, DDD patterns, and TDD automation. Repository workflows remain documented in GitHub but are intentionally excluded from the Tessl tile.
95
93%
Does it follow best practices?
Impact
96%
1.77xAverage score across 41 eval scenarios
Passed
No known issues
Rails Agent Skills turns AI coding assistants into disciplined Rails collaborators.
It is a curated library of 41 public Rails agent skills and 9 callable workflows that teach AI tools how to plan, test, implement, document, and review Rails work using production-minded conventions.
The project is built around one non-negotiable rule:
Write test -> run test -> verify it fails for the right reason -> implement -> verify it passesThat TDD gate is encoded directly into the skills and workflows, so agents do not just produce plausible Rails code. They follow a repeatable engineering process.
Supported agent environments
Official distribution
| Reader | What you get |
|---|---|
| Rails developers | Agent instructions for common Rails work: tests, services, APIs, GraphQL, migrations, jobs, Hotwire, engines, security, and review. |
| Team leads | A repeatable workflow that makes AI-assisted work easier to review because tests, docs, and self-review are part of the process. |
| Junior developers | Step-by-step Rails workflow guidance that explains what to do next instead of dumping generic code. |
| Senior developers | Opinionated guardrails for TDD, architecture, review, DDD, engines, performance, and production-safe changes. |
| Recruiters and evaluators | A concrete example of AI tooling designed around engineering discipline, validation, and distribution. |
| Area | Purpose |
|---|---|
skills/ | 41 public atomic skills. Each skill has a SKILL.md entry point with task-specific instructions. |
workflows/ | 9 callable workflows that chain skills into full development loops (tdd, quality, review, setup, engine, bug-fix, graphql, migration, background-job). |
docs/ | Public documentation, architecture, workflow guides, skill catalog, and evaluation policy. |
mcp_server/ | Official Ruby MCP server exposing docs, workflows, and use_skill. |
tessl-evals/ | Tessl-native eval scenarios for publishable skills in tile.json. |
personal-evals/ | Open examples for the upcoming ruby-skill-bench full-context evaluator. |
The skills are not long-form tutorials. They are executable instructions for AI agents: when to gather context, when to stop for a checkpoint, how to write the first failing test, what Rails conventions to apply, and how to review the result.
Rails Agent Skills can be invoked in three distinct ways depending on your environment and desired level of autonomy:
use_skill): Autonomous tool calls by the agent (e.g., Claude Desktop, Cursor).@skill-name or /skill-name.gh skill / tessl): Manual installation or evaluations in the terminal.Read the complete guide on Calling Skills and Workflows for syntax examples and when to use each method.
The recommended way for autonomous usage is through the MCP server. MCP keeps the agent context small: docs and workflows are exposed as resources, available skills are discoverable through list_skills, and individual skills are loaded on demand. The use_skill tool returns a specific skill's SKILL.md only when the agent needs it.
| Path | Best for | Start here |
|---|---|---|
| Official MCP Registry | Finding the verified MCP server metadata and latest published version | MCP registry entry |
| Docker Hub image | Running without a local Ruby toolchain | Docker image |
| Cloudflare Worker | Hosted Streamable HTTP MCP for registries and hosted clients | health check |
| Smithery | Discovering and connecting through Smithery's MCP gateway | Smithery listing |
| Local Ruby/Bundler | Local development, debugging, and repository checkout workflows | mcp_server/README.md |
| GitHub CLI skills | Installing selected skills into a specific agent host | GitHub CLI install |
| skills.sh | Registering and adding the entire library to your workspace | skills.sh install |
For hosted MCP clients and registries that support Streamable HTTP, use the Cloudflare Worker endpoint:
https://rails-agent-skills-mcp.ismael-marin.workers.dev/mcpUseful public checks:
Health: https://rails-agent-skills-mcp.ismael-marin.workers.dev/health
Server card: https://rails-agent-skills-mcp.ismael-marin.workers.dev/.well-known/mcp/server-card.jsonFor repeatable team installs, prefer the versioned Docker image published from a Git release tag:
{
"mcpServers": {
"rails-agent-skills": {
"type": "stdio",
"command": "docker",
"args": ["run", "--rm", "-i", "igmarin/rails-agent-skills-mcp:5.1.5"]
}
}
}For local development, clone the repo and run the Ruby server:
git clone https://github.com/igmarin/rails-agent-skills.git ~/rails-agent-skills
cd ~/rails-agent-skills/mcp_server
bundle install
bundle exec ruby server.rbSee mcp_server/README.md for host-specific MCP configuration for Claude Code, Cursor, Windsurf, RubyMine, OpenCode, and other stdio MCP clients.
When configuring MCP in external tools, use absolute paths for cwd and BUNDLE_GEMFILE. Relative paths and ~ are a common cause of gem-loading and timeout failures.
Workflows are the primary way to orchestrate multi-step Rails development tasks. When connected via MCP, agents can automatically discover and execute workflows using two tools:
1. Discover available workflows:
Agent calls: list_workflows
Returns: 9 workflows with metadata (tdd, quality, review, setup, engine, bug-fix, graphql, migration, background-job)2. Load and execute a specific workflow:
Agent calls: use_workflow(workflow_name: "tdd")
Returns: Full workflow instructions with phases, gates, and skill chainingExample usage in MCP:
list_workflows → discovers tdd workflow → calls use_workflow("tdd") → executes full TDD cycleAvailable workflows:
Workflows enforce hard gates (like "tests must pass before implementation") and include TDD enforcement, making them more reliable than ad-hoc skill chaining.
Depending on your environment (MCP vs. Chat Commands), you can orchestrate your daily Rails work using these common loops. For explicit control in Cursor or Windsurf, prepend these with @ (e.g., @load-context). In MCP, simply describe the goal and the agent will load them automatically.
The core TDD feature loop:
load-context
-> plan-tests
-> write-tests
-> [verify failing test]
-> [implement]
-> [verify passing test]
-> write-yard-docs
-> code-reviewFor a new feature from scratch:
create-prd -> generate-tasks -> TDD feature loopFor a bug:
bug-fix (triage -> reproduce test -> fix -> verify)For a GraphQL API:
graphql (domain modeling -> schema design -> TDD -> security review)For a database migration:
migration (plan -> test -> staging -> production deployment)For a background job:
background-job (design -> TDD -> retry config -> monitoring)For a Rails engine:
create-engine -> test-engine -> document-engine -> review-engine -> release-engineSee docs/workflow-guide.md and docs/workflows/ for the full workflow guide containing detailed Mermaid diagrams of each phase.
The library contains 41 public skills organized by Rails development concern.
| Category | Examples |
|---|---|
| Planning | create-prd, generate-tasks, plan-tickets |
| Testing | plan-tests, write-tests, test-service, triage-bug |
| Code quality | code-review, respond-to-review, security-check, refactor-code |
| Architecture and DDD | define-domain-language, review-domain-boundaries, model-domain, review-architecture |
| Rails implementation | create-service-object, implement-background-job, implement-authorization, implement-hotwire |
| APIs | generate-api-collection, implement-graphql, integrate-api-client, version-api |
| Engines | create-engine, test-engine, document-engine, release-engine, upgrade-engine |
| Infrastructure | review-migration, optimize-performance, seed-database |
| Orchestration | skill-router |
Use docs/reference/skill-catalog.md for the complete catalog and docs/reference/integration-matrix.md for skill chaining.
This repo uses two complementary evaluation layers.
| Layer | Status | What it validates |
|---|---|---|
| Tessl | Public and active | Tessl-native scenarios in tessl-evals/ validate the quality of publishable skills from tile.json. Tessl does not validate repository workflows today. |
ruby-skill-bench | Coming soon | The upcoming Ruby gem will run personal-evals/ examples with full skill or workflow context, including SKILL.md plus companion resources bundled as XML. |
Root evals/ is generated Tessl staging output and must stay untracked. tessl-evals/ is the tracked Tessl source. personal-evals/ is the tracked source for open custom-evaluator examples.
See docs/eval-provenance.md for the canonical eval ownership policy and docs/skill-optimization-guide.md for the baseline-vs-context optimization loop.
Requires GitHub CLI v2.90.0+ with gh skill.
# Install all skills interactively
gh skill install igmarin/rails-agent-skills
# Install a specific skill for the current project
gh skill install igmarin/rails-agent-skills code-review --scope project
# Install a specific skill globally
gh skill install igmarin/rails-agent-skills code-review --scope user
# Install pinned to a release tag
gh skill install igmarin/rails-agent-skills code-review --pin v5.1.5 --scope user
# Search this repository's skills
gh skill search rails --owner igmarinTo target a specific agent host:
gh skill install igmarin/rails-agent-skills plan-tests --agent claude-code --scope user
gh skill install igmarin/rails-agent-skills plan-tests --agent cursor --scope user
gh skill install igmarin/rails-agent-skills plan-tests --agent codex --scope user
gh skill install igmarin/rails-agent-skills plan-tests --agent gemini-cli --scope user
gh skill install igmarin/rails-agent-skills plan-tests --agent windsurf --scope userUpdate installed skills:
gh skill update --dry-run
gh skill update --all
gh skill update --force --all
gh skill update --unpinPinning to a tag or commit SHA gives you reproducible installs. Provenance metadata is written into each installed SKILL.md frontmatter.
| Need | Document |
|---|---|
| Understand the docs system | docs/README.md |
| Install and configure MCP | mcp_server/README.md |
| Browse all skills | docs/reference/skill-catalog.md |
| Understand skill chaining | docs/reference/integration-matrix.md |
| Follow workflow guides | docs/workflow-guide.md |
| Understand repository structure | docs/architecture.md |
| Understand eval ownership | docs/eval-provenance.md |
| Optimize skill eval quality | docs/skill-optimization-guide.md |
When contributing skills, workflows, docs, or MCP behavior:
evals/ output.tile.json, server.json, and the latest release tag.Requires skills.sh CLI.
# Add the library to your workspace
npx skills add igmarin/rails-agent-skillsHuge thanks to Mumo Carlos (@mumoc). His mentorship shaped many of the habits reflected here, especially the discipline around quality, clarity, and thoughtful use of tools.