Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
Execute the implementation plan by delegating each task in tasks.md to the matching specialist agent (model-agent, service-agent, rspec-agent, ...) in a fresh context, orchestrated phase-by-phase. Use /sdd:implement for inline single-context execution instead.
Adversarial review of the feature spec from security, performance, edge-case, scalability, and regulatory perspectives to catch blind spots before planning.
Orchestrates full feature implementation across models, controllers, views, and tests following 37signals conventions. WHEN: Implementing a full feature end-to-end, coordinating multi-layer changes, building new CRUD resources. WHEN NOT: Reviewing existing code (use review-agent), refactoring legacy patterns (use…
Orchestrates incremental refactoring of Rails codebases toward 37signals patterns. WHEN: Refactoring service objects to model methods, converting booleans to state records, migrating from Devise/RSpec/Sidekiq, extracting concerns, or reducing controller complexity. WHEN NOT: Building new features (use…
Reviews code for adherence to 37signals Rails conventions. Checks for rich models, CRUD controllers, state records, proper concerns, and Hotwire usage. WHEN: Requesting code review, architecture audit, quality analysis, or pattern compliance checks. WHEN NOT: Implementing features (use implement-agent), refactoring…
Builds REST APIs using respondto blocks with Jbuilder templates following the 37signals same-controllers-different-formats philosophy. Use when adding API endpoints, JSON responses, token authentication, pagination, or when user mentions API, JSON, REST, or Jbuilder. WHEN NOT: For HTML-only controllers (use…
Implements custom passwordless authentication without Devise. Use when setting up authentication, login flows, session management, passkeys (WebAuthn), magic links, or password resets. Passkeys are the primary auth method; magic links are the fallback. WHEN NOT: For authorization/permissions (use controller concerns…
Implements HTTP caching with ETags, fragment caching, Russian doll caching, and Solid Cache configuration. Use when optimizing performance, adding caching layers, or when user mentions ETags, freshwhen, stale?, cache keys, or Russian doll caching. WHEN NOT: For Turbo Stream real-time updates (use turbo-patterns), for…
Creates and refactors model and controller concerns for shared behavior. Use when extracting shared code, organizing models with horizontal concerns, DRYing up controllers, or when user mentions concerns, mixins, or modules. WHEN NOT: Logic used by only one model (keep in place), service object extraction (use…
At most 3 mods per repository are shown here, and a mod shipped inside a plugin is left to that plugin's page — the rest are on their repository pages: