Curated library of 39 AI agent skills for Ruby on Rails development. Organized by category: planning, testing, code-quality, ddd, engines, infrastructure, api, patterns, context, orchestration, and workflows. Includes 5 callable workflow skills (rails-tdd-loop, rails-review-flow, rails-setup-flow, rails-quality-flow, rails-engines-flow) for complete development cycles. Covers code review, architecture, security, testing (RSpec), engines, service objects, DDD patterns, and TDD automation.
95
98%
Does it follow best practices?
Impact
95%
1.20xAverage score across 35 eval scenarios
Passed
No known issues
Complete templates and examples for setting up development environments.
# docker-compose.yml
version: '3.8'
services:
db:
image: postgres:15-alpine
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
ports:
- "6379:6379"
web:
build:
context: .
dockerfile: Dockerfile
command: bin/rails server -b 0.0.0.0 -p 3000
environment:
DATABASE_URL: postgres://postgres:postgres@db:5432/myapp_development
REDIS_URL: redis://redis:6379/0
RAILS_ENV: development
ports:
- "3000:3000"
volumes:
- .:/app
- bundle_cache:/usr/local/bundle
depends_on:
db:
condition: service_healthy
redis:
condition: service_started
volumes:
postgres_data:
bundle_cache:# Dockerfile
FROM ruby:3.2-slim
# Install dependencies
RUN apt-get update -qq && apt-get install -y \
build-essential \
libpq-dev \
git \
curl \
&& rm -rf /var/lib/apt/lists/*
# Set working directory
WORKDIR /app
# Copy Gemfile first (for layer caching)
COPY Gemfile Gemfile.lock ./
RUN bundle install
# Copy application
COPY . .
# Precompile assets (optional)
# RUN bundle exec rails assets:precompile
EXPOSE 3000
CMD ["bin/rails", "server", "-b", "0.0.0.0"]# .env.example — copy to .env and fill values
# Database
DATABASE_URL=postgres://postgres:postgres@localhost:5432/myapp_development
# Rails
RAILS_ENV=development
SECRET_KEY_BASE=change_me_in_production
# Cache/Queue
REDIS_URL=redis://localhost:6379/0
# Email (optional)
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your_email@example.com
SMTP_PASSWORD=your_password
# External APIs (if applicable)
STRIPE_SECRET_KEY=sk_test_...
STRIPE_PUBLISHABLE_KEY=pk_test_...
# Feature flags (optional)
ENABLE_BETA_FEATURES=false# .github/workflows/ci.yml
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15
env:
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
- name: Setup Database
env:
RAILS_ENV: test
DATABASE_URL: postgres://postgres:postgres@localhost:5432/test
run: |
bin/rails db:create db:migrate
- name: Run Tests
env:
DATABASE_URL: postgres://postgres:postgres@localhost:5432/test
run: bundle exec rspec
- name: Run Linters
run: |
bundle exec rubocop
bundle exec erb-lint app/views# Makefile — common development tasks
.PHONY: setup test lint console
setup:
bundle install
rails db:create db:migrate db:seed
yarn install
test:
bundle exec rspec
lint:
bundle exec rubocop
bundle exec erb-lint app/views
console:
rails console
dev:
rails server
docker-up:
docker-compose up -d
docker-down:
docker-compose down
docker-build:
docker-compose build# .rubocop.yml
AllCops:
TargetRubyVersion: 3.2
Exclude:
- 'db/schema.rb'
- 'bin/*'
- 'node_modules/**/*'
- 'vendor/**/*'
Style/Documentation:
Enabled: false
Metrics/BlockLength:
Exclude:
- 'spec/**/*'
- 'config/routes.rb'
Rails:
Enabled: true# Reset everything
rails db:drop db:create db:migrate db:seed
# Docker: ensure DB is ready
docker-compose up -d db
sleep 5 # Wait for postgres to start
rails db:create# Clear cache and reinstall
rm -rf vendor/bundle
bundle install --path vendor/bundle
# Update bundler
gem install bundler
bundle update --bundler# Clear and rebuild
rails assets:clobber
rails assets:precompile
# For webpacker/jsbundling
rm -rf node_modules
yarn install
yarn builddocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20
scenario-21
scenario-22
scenario-23
scenario-24
scenario-25
scenario-26
scenario-27
scenario-28
scenario-29
scenario-30
scenario-31
scenario-32
scenario-33
scenario-34
scenario-35
mcp_server
skills
api
api-rest-collection
rails-graphql-best-practices
code-quality
rails-architecture-review
rails-code-conventions
rails-code-review
rails-review-response
rails-security-review
rails-stack-conventions
assets
snippets
refactor-safely
context
rails-context-engineering
rails-project-onboarding
ddd
ddd-boundaries-review
ddd-rails-modeling
ddd-ubiquitous-language
engines
rails-engine-compatibility
rails-engine-docs
rails-engine-extraction
rails-engine-installers
rails-engine-release
rails-engine-reviewer
rails-engine-testing
infrastructure
rails-api-versioning
rails-background-jobs
rails-database-seeding
rails-frontend-hotwire
rails-migration-safety
rails-performance-optimization
orchestration
rails-skills-orchestrator
patterns
ruby-service-objects
strategy-factory-null-calculator
yard-documentation
planning
create-prd
generate-tasks
ticket-planning
testing
rails-bug-triage
rails-tdd-slices
rspec-best-practices
rspec-service-testing