How 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,…
Pages 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.
Find the processes agent sessions left behind on this machine — orphaned scripts in a scratchpad or worktree, Claude wait loops polling for a condition that can no longer come true, test runners and dev servers in a removed worktree, claude processes with no…
Root-cause an intermittent test failure from a failed CI run, a PR or a test path — evidence, a forced reproduction, the mechanism in one sentence, a fix proven in both directions. Use when a test fails only sometimes; never masks it with a retry, sleep, skip…
What a pull request cost and how far it strayed from its estimate — time (wall clock, active, before and after the PR opened), tokens per role and model (the session, each agent type, the advisor), validation passes and verdicts, review rounds and threads,…
Drive open PRs to merge-ready, one at a time, in a given order — merge main in, then rounds of /flow:github-review-pr (conflicts, CI failures, every review thread) until CI is green, no thread is open and the review bot has nothing new; then wait for the user…
Drive an epic (or any issues) from plan to merged, unattended — dependency waves, /flow:lfg per issue in its own worktree through one Opus agent each, /flow:finish-prs automerge on every PR, and upstream library fixes carried through to a release and an…
Fix every failing CI check on a PR — fetch the failed job logs (and a merge-queue eviction report), diagnose the root cause, fix, verify locally, push. Use when a PR's checks are red; /flow:github-review-pr runs it as its Phase A.
The full engineering workflow for one issue or description, from a fresh branch to a merge-ready PR — understand, explore, plan, TDD, verify, Fable validation, PR, then /flow:finish-prs until CI is green and every review thread is answered. Never merges. Use…
Implement a behaviour or fix a bug test-first — RED (a failing test, seen failing for the right reason), GREEN (the least code that passes), REFACTOR (still green), then the repository's checks. Use for any feature or bug fix, alone or as /flow:lfg's…
Investigate, design and write a self-contained plan — a GitHub issue (default) or docs/plans/ markdown — that /flow:lfg executes without guessing, with the effort estimate its PR is measured against. `upstream <owner/repo> <limitation>` plans a public issue…
Answer every unresolved review thread on a PR — human or bot (cubic, CodeRabbit) — by fixing what is right and pushing back, with reasons from the code, on what is wrong; then resolve every thread. Use when a PR has open review comments;…
One full review pass on a PR, strictly in order — merge conflicts with the base, then CI failures (/flow:github-review-failures), then every review thread (/flow:github-review-comments). Use when a PR needs to get to green and thread-free; /flow:finish-prs…
Review a pull request for bugs and breaches of the repository's written rules — five parallel reviewers, then an independent confidence score per finding; only findings scoring 80 or more are reported. Read-only; with `post` it posts the review as one PR…
Investigate 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'.
Scan 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.
Coordinate 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…
Rails 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.
Query 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.
Translations 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.
Background 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.
Email and multi-channel notifications — mailers, notifier classes, previews and delivery. Use when adding or changing an email, a notification, its channels or its recipients.
ActiveRecord 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.
Security 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…
Service 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.
Client-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…
RSpec specs and FactoryBot factories — choosing the spec type, system specs for browser behaviour, explicit tenant factory chains and cross-tenant checks. Use when writing or fixing specs or factories, or raising coverage.
Benchmark the current branch against main on the same machine, main checked out in a worktree, and report an honest before/after. Use when a change touches a hot path, or before any speed or allocation claim goes into a PR.
Cut a release of a Ruby library the way the release kit does it — roll the changelog into the version's heading through a PR, run the repository's release script from a clean main, then verify the publish, RubyGems and the docs deploy. Use when merged work…