37signals-concerns
openbooklet.com/s/37signals-concernsopenbooklet.com/s/37signals-concerns@1.0.0GET /api/v1/skills/37signals-concernsCreates and refactors model and controller concerns for shared behavior following 37signals patterns. Use when extracting shared code, organizing models with horizontal concerns, DRYing up controllers, or when user mentions concerns, mixins, modules, or shared behavior.
Builds REST APIs using respond_to blocks with Jbuilder templates following the 37signals same-controllers-different-formats philosophy. Use when adding API endpoints, JSON responses, token authentication, or when user mentions API, JSON, REST, or Jbuilder.
Implements HTTP caching with ETags, fresh_when, stale?, and fragment caching. Use when optimizing performance, adding caching layers, or when user mentions ETags, HTTP caching, fresh_when, stale?, cache keys, or Russian doll caching.
Builds event tracking and activity systems with webhooks following 37signals patterns. Use when implementing audit trails, activity feeds, event sourcing, or when user mentions events, tracking, webhooks, or activity logs.
Orchestrates implementation of complete Rails features across models, controllers, views, and tests following 37signals conventions. Use when implementing a full feature end-to-end or when user mentions feature implementation, full-stack, or orchestration.
Implements shallow background jobs with _later/_now conventions using Solid Queue. Use when adding background processing, async operations, scheduled tasks, or when user mentions jobs, queues, Solid Queue, or background workers.
Creates minimal Action Mailer classes with bundled notification patterns following 37signals conventions. Use when sending emails, creating notification systems, or when user mentions mailers, emails, notifications, or transactional messages.
Creates database migrations with UUIDs, account scoping, and no foreign key constraints following 37signals patterns. Use when creating tables, adding columns, modifying schema, or when user mentions migrations, database structure, or schema changes.
Builds rich domain models with business logic, concerns, and proper associations following the 37signals fat-models-over-service-objects philosophy. Use when creating models, adding validations, scopes, callbacks, or business logic methods.
Implements URL-based multi-tenancy with account scoping following 37signals patterns. Use when setting up multi-tenant architecture, account isolation, tenant scoping, or when user mentions multi-tenancy, accounts, or tenant separation.
Orchestrates refactoring of Rails codebases toward 37signals patterns and modern conventions. Use when refactoring existing code, improving architecture, migrating to modern Rails patterns, or when user mentions refactoring, code improvement, or technical debt.
Reviews code for adherence to 37signals Rails patterns and conventions. Checks for rich models, CRUD controllers, proper concerns, and Hotwire usage. Use when requesting code review, architecture audit, or quality analysis.
Builds focused, single-purpose Stimulus controllers for progressive enhancement following 37signals patterns. Use when adding JavaScript behavior, UI interactions, form enhancements, or when user mentions Stimulus, JavaScript controllers, or sprinkles.
Creates Turbo Streams, Turbo Frames, and morphing patterns for real-time UI updates following 37signals conventions. Use when adding real-time updates, page navigation, form submissions, or when user mentions Turbo, Streams, Frames, Drive, or morphing.
Implements real-time features with Action Cable and WebSockets. Use when adding live updates, chat features, notifications, real-time dashboards, or when user mentions Action Cable, WebSockets, channels, or real-time.
Implements transactional emails with Action Mailer and TDD. Use when creating email templates, notification emails, password resets, email previews, or when user mentions mailer, email, notifications, or transactional emails.
Configures Active Storage for file uploads with variants and direct uploads. Use when adding file uploads, image attachments, document storage, generating thumbnails, or when user mentions Active Storage, file upload, attachments, or image processing.
Implements authentication using Rails 8 built-in generator. Use when setting up user authentication, login/logout, session management, password reset flows, or securing controllers.
Implements policy-based authorization with Pundit for resource access control. Use when adding authorization rules, checking permissions, restricting actions, role-based access, or when user mentions Pundit, policies, authorization, or permissions.
Implements Rails caching patterns for performance optimization. Use when adding fragment caching, Russian doll caching, low-level caching, cache invalidation, or when user mentions caching, performance, cache keys, or memoization.
Creates thin, RESTful Rails controllers with strong parameters, proper error handling, and request specs. Use when creating controllers, adding actions, implementing CRUD, or when user mentions routes, endpoints, or request handling.
Auto-indexed from ThibautBaissac/rails_ai_agents
Are you the author? Claim this skill to take ownership and manage it.
Related Skills
graceful-error-recovery
Use this skill when a tool call, command, or API request fails. Diagnose the root cause systematically before retrying or changing approach. Do not retry the same failing call without first understanding why it failed.
audience-aware-communication
Use this skill when writing any explanation, documentation, or response that will be read by someone else. Match vocabulary, depth, and format to the audience's expertise level before writing.
Refactoring Expert
Expert in systematic code refactoring, code smell detection, and structural optimization. Use PROACTIVELY when encountering duplicated code, long methods, complex conditionals, or any code quality issues. Detects code smells and applies proven refactoring techniques without changing external behavior.
Research Expert
Specialized research expert for parallel information gathering. Use for focused research tasks with clear objectives and structured output requirements.
clarify-ambiguous-requests
Use this skill when the user's request is ambiguous, under-specified, or could be interpreted in multiple ways. If proceeding with a wrong assumption would waste significant work, always ask exactly one focused clarifying question before doing anything.
structured-step-by-step-reasoning
Use this skill for any problem that involves multiple steps, tradeoffs, or non-trivial logic. Think out loud before answering to improve accuracy and transparency. Apply whenever the answer is not immediately obvious.