dhh-rails-style

Refactor Ruby and Rails code to DHH and 37signals style conventions.

1|Updated Jun 28, 2026
One-click install
npx skills add https://github.com/whmathews15/DEX-Personal-Operating-System --skill dhh-rails-style-whmathews15
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dhh-rails-style
Source: https://github.com/whmathews15/DEX-Personal-Operating-System/tree/main/.claude/plugins/compound-engineering/skills/dhh-rails-style
Command: npx skills add https://github.com/whmathews15/DEX-Personal-Operating-System --skill dhh-rails-style-whmathews15

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you write, refactor, and review Ruby on Rails code using the clear, opinionated conventions associated with DHH and 37signals, reducing unnecessary abstractions and keeping business logic easy to understand.

Core Features & Use Cases

  • Rails Architecture Guidance: Shapes controllers, models, routes, jobs, caching, and authentication around RESTful, database-backed patterns.
  • Code Style and Refactoring: Rewrites Ruby code toward fat models, thin controllers, concerns for shared behavior, and simple readable naming.
  • Frontend and Testing Conventions: Encourages Turbo, Stimulus, native CSS, Minitest, and fixtures instead of heavier frameworks.
  • Use Case: Apply it when reviewing a Rails feature, designing a new resource flow, replacing service objects, or standardizing a codebase to 37signals-style conventions.

Quick Start

Ask for a DHH-style rewrite or code review of your Ruby on Rails feature, and provide the relevant controller, model, view, route, or test code.

Frequently Asked Questions about dhh-rails-style

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I refactor Rails controllers to follow fat model thin controller conventions?

To refactor Rails controllers toward fat models and thin controllers, move business logic into model methods and concerns, keeping controllers focused on RESTful resource routing and rendering. This reduces unnecessary abstractions and keeps business logic easy to understand.

What is the best way to replace service objects in Ruby on Rails?

The best way to replace service objects in Ruby on Rails is by using concerns for shared behavior and Current attributes, pushing logic down to database-backed models. This aligns with 37signals style conventions and avoids unnecessary abstractions.

How do I write Minitest fixtures instead of using factories for Rails testing?

To write Minitest fixtures instead of factories for Rails testing, define sample data in YAML fixture files and load them in your Minitest tests. This approach keeps tests fast and aligns with 37signals style conventions for Rails testing.

Does Rails Turbo and Stimulus work without heavy JavaScript frameworks?

Rails Turbo and Stimulus work without heavy JavaScript frameworks by using native CSS and HTML-driven patterns. This approach reduces frontend complexity and aligns with 37signals style conventions for building interactive Rails views.

When do I need concerns for shared behavior in Rails models?

You need concerns for shared behavior in Rails models when multiple models require identical logic and you want to avoid service objects. This approach keeps business logic database-backed and easy to understand, following 37signals style conventions.