appsignal-debugInvestigate a production error from AppSignal to its root cause and ship the fix as a PR. Use when an error is reported, an AppSignal alert fires, or something fails in production; takes an error class, an incident URL, a triage issue, or 'recent'.
appsignal-triageScan AppSignal for open exception incidents across the app's environments and turn each unique error class into one GitHub issue, deduped against existing issues. Use to build a triage backlog before working through it with /rails-app:appsignal-debug.
architectCoordinate a feature that spans several Rails layers — map the layers, order the work, hand each layer to its specialist, and check the cross-cutting rules before the PR. Use for multi-layer features or architectural decisions; single-layer work goes straight to that layer's skill.
controllersRails controllers, routes, strong params and responses, with tenant scoping and authorization on every action. Use when adding or changing an endpoint, a route, or an action's params, authorization or response.
daisyuiHow a component's look is declared in an app that uses the daisyui gem with Phlex — modifiers, the `variants` block (defaults, compounds, hover/open/focus states, slots), Tailwind sources and introspection. Use when writing or changing a component's look, adding a modifier, a hover/open/focus state,
databaseQuery performance — N+1 queries, missing indexes, EXPLAIN plans, batching and bulk writes. Use when a page or job is slow, or with 'diff' to audit the branch for N+1 patterns before review.
i18nTranslations and localization — fully qualified keys, no hardcoded strings, locale files kept normalized and validated. Use when adding user-visible text, extracting hardcoded strings, or fixing a failing translation check.
jobsBackground jobs and recurring tasks — idempotent, tenant-aware, with bounded retries. Use when moving slow work out of a request, processing a webhook, scheduling a recurring task, or removing or renaming a job class.
mailersEmail and multi-channel notifications — mailers, notifier classes, previews and delivery. Use when adding or changing an email, a notification, its channels or its recipients.
modelsActiveRecord models, migrations and schema — tables, columns, indexes, associations, validations, scopes — with PostgreSQL production safety. Use when adding or changing a table or a model, or when reviewing a migration before it ships.
securitySecurity review of Rails code — tenant isolation, authorization on every entry point, injection, XSS, mass assignment, dangerous dispatch, deserialization, webhooks, uploads and config. Use for a security review of a diff or an area, or whenever code touches user input, authorization, secrets or she
servicesService objects for business logic, multi-step workflows and external API clients. Use when logic outgrows a controller action or model method, when several records change together, or when calling a third-party API.
stimulusClient-side interactivity — phlex-reactive client ops, actions and broadcasts first, then existing Stimulus and Turbo Stream code, and the operator-confirmed exception. Use when adding any interaction (toggle, dropdown, live update, inline edit) or changing an existing Stimulus controller.
viewsPages and reusable components — Phlex views, the app's UI-kit wrappers, forms, streamable components and native variants. Use when building or changing a page, a component, a form or anything a user sees.