maroffo/claude-forge

rails

Ruby on Rails with service-oriented architecture, Dry-validation, Sidekiq/Solid Queue, Hotwire.

First seen Feb 22, 2026

Installation

$ npx skills add maroffo/claude-forge --skill rails

Summary

  • Ruby on Rails with service-oriented architecture, Dry-validation, Sidekiq/Solid Queue, Hotwire.
  • Use for Rails API, Rails services, Rails forms, RSpec, ActiveRecord, Rails migrations.
  • Not for standalone Ruby gems (use ruby skill), and not for judging whether a migration is safe to run in production (that is the database-reviewer agent).

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from maroffo/claude-forge · top by installs.

npx skills add maroffo/claude-forge

Browse all from maroffo/claude-forge

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 16
License LICENSE
Default branch main
Open issues 6
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

CompatibilityRequires Bundler and Rails. Optional: lefthook, RSpec.
Allowed toolsmcp__acp__Read, mcp__acp__Edit, mcp__acp__Write, mcp__acp__Bash

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,154 B
  • docs SUMMARY.md 350 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 19 installs

SKILL.md

ABOUTME: Rails service-oriented architecture, validation contracts, background jobs, Hotwire

ABOUTME: API development with thin controllers, services, forms, filters

Ruby on Rails

Quick Reference

bundle exec lefthook run all    # Quality checks
bundle exec rspec               # Tests
rails s / bin/dev               # Server (bin/dev for Hotwire)
bin/jobs                        # Solid Queue workers

See also: ASTGREP.md (sg patterns), _PATTERNS.md, source-control

Architecture calls:

MyService.new(user:, params:).call    # Service
MyForm.new(params, user).save         # Form
MyFilter.result(params, scope)        # Filter
MyJob.perform_async(id)               # Sidekiq
MyJob.perform_later(id)               # Solid Queue

Version (determine, don't assume)

See ../LANGCOMMON.md. Fetch the truth:

bundle exec rails -v                                                      # project Rails version
ruby -v && cat .ruby-version 2>/dev/null                                  # project Ruby version
curl -s https://rubygems.org/api/v1/gems/rails.json | jq -r .version      # latest upstream Rails

Pre-Commit Verification (MANDATORY)

make check && make test-e2e must pass (enforced by the pre-commit-gate hook; see ../LANGCOMMON.md). What make check expands to for Rails:

bundle exec lefthook run all    # Rubocop, Brakeman, tests, etc.
bundle exec rspec               # Full RSpec suite
bundle exec brakeman --no-pager # Security scan
bundle audit check --update     # Dependency CVEs

Sacred Rules (NON-NEGOTIABLE)

  1. NO LOGIC IN CONTROLLERS: HTTP layer only
  2. ALL LOGIC IN SERVICES/FORMS/FILTERS
  3. NO ACTIVERECORD VALIDATIONS: Dry-validation contracts only
  4. MINIMUM MODEL LOGIC: Data structures + associations
  5. NO MODEL CALLBACKS: Exception: attachment destruction

Pattern Summary

Service: Complex business logic, multi-step operations, transactions

MyService.new(user:, params:).call  # Returns OpenStruct(success, record)

Form: User input validation + persistence

MyForm.new(params, user).save  # Returns true/false

Contract: Validation rules (Dry-validation)

CreateContract.new.call(params)  # Returns Result(success?, errors)

Controller: HTTP layer only, no business logic

def create
  form = CreateForm.new(params, current_user)
  form.save ? render(json: form.model, status: :created) : render(json: { errors: form.errors }, status: :unprocessable_entity)
end

Model: Associations, enums, simple scopes. NO validations, NO callbacks, NO business logic.

belongs_to :user
has_many :tags, dependent: :destroy
enum :status, { draft: 0, published: 1 }
scope :recent, -> { order(created_at: :desc) }

Background Jobs

Component Use When
Solid Queue <100 jobs/sec, no Redis needed
Solid Cache DB-backed caching
Solid Cable WebSockets, no Redis infra
Sidekiq Latency <100ms, 10k+ jobs/min

Jobs MUST be idempotent.


Quality Checklist

  • NO controller logic
  • Validation in contracts only
  • Business logic in services
  • Jobs idempotent
  • Tests pass

Resources

Key gems: Dry-validation, Sidekiq/Solid Queue, Scenic, Pundit, Devise/Rodauth, ViewComponent/Phlex


For detailed patterns and examples, see references/rails-patterns.md