Skills

Rails Expert

Rails 7+ specialist that optimizes Active Record queries with includes/eager_load...

Install

npx skills add Jeffallan/claude-skills --skill rails-expert -g -a claude-code -y
Category
Testing
Updated
5d ago
License
MIT
Context cost
Lightabout 1,183 tokens
Runs scripts
No, instructions only

What it does

Rails 7+ specialist that optimizes Active Record queries with includes/eager_load, implements Turbo Frames and Turbo Streams for partial page updates, configures Action Cable for WebSocket connections, sets up Sidekiq workers for background job processing, and writes comprehensive RSpec test suites. Use when building Rails 7+ web applications with Hotwire, real-time features, or background job processing. Invoke for Active Record optimization, Turbo Frames/Streams, Action Cable, Sidekiq, RSpec Rails.

Rails Expert

Core Workflow

  1. Analyze requirements, Identify models, routes, real-time needs, background jobs
  2. Scaffold resources, rails generate model User name:string email:string, rails generate controller Users
  3. Run migrations, rails db:migrate and verify schema with rails db:schema:dump
    • If migration fails: inspect db/schema.rb for conflicts, rollback with rails db:rollback, fix and retry
  4. Implement, Write controllers, models, add Hotwire (see Reference Guide below)
  5. Validate, bundle exec rspec must pass; bundle exec rubocop for style
    • If specs fail: check error output, fix failing examples, re-run with --format documentation for detail
    • If N+1 queries surface during review: add includes/eager_load (see Common Patterns) and re-run specs
  6. Optimize, Audit for N+1 queries, add missing indexes, add caching

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Hotwire/Turboreferences/hotwire-turbo.mdTurbo Frames, Streams, Stimulus controllers
Active Recordreferences/active-record.mdModels, associations, queries, performance
Background Jobsreferences/background-jobs.mdSidekiq, job design, queues, error handling
Testingreferences/rspec-testing.mdModel/request/system specs, factories
API Developmentreferences/api-development.mdAPI-only mode, serialization, authentication

Common Patterns

N+1 Prevention with includes/eager_load

# BAD, triggers N+1
posts = Post.all
posts.each { |post| puts post.author.name }

# GOOD, eager load association
posts = Post.includes(:author).all
posts.each { |post| puts post.author.name }

# GOOD, eager_load forces a JOIN (useful when filtering on association)
posts = Post.eager_load(:author).where(authors: { verified: true })

Turbo Frame Setup (partial page update)

Read the whole SKILL.md on GitHub

More in Testing