Devil's advocate against a freshly formulated implementation plan, before the user approves it. Attacks the approach with codebase evidence — concrete failure scenarios and cheaper alternatives — never vague doubt. Invoke in /ticket-pick step 3, after the plan is drafted and before the Plan gate, so the user judges…
Devil's advocate against a ticket's implementation as built — run every round of the pick loop, not once. Attacks the code that now exists with evidence — hidden coupling it introduced, a cheaper route it should have taken, an irreversible or load-bearing step, or a route the plan got wrong. Read-only; returns a…
Read-only review of a ticket's implementation diff before it transitions to review. Checks the diff against the approved plan, architecture invariants, and project conventions. Invoke in /ticket-pick's implementation loop (step 5.5 agent checks) — after verification passes, every round — before the review transition…
Proposes simplifications to a ticket's implementation diff — removing accidental complexity, dead abstraction, and speculative generality — without changing behavior. Read-only; returns proposals the session weighs in its round evaluation and folds into the loop's work-list (no user gate). Invoke every round of…
Derives a ticket's non-functional requirements while it is still being written — as measurable statements that each carry their own verification. Invoke in /ticket-new step 2 (alongside the research agents, before the step 2.5 grilling) and on /ticket-refine's resume path, so unresolved requirements become grilling…
Judges whether the tests accompanying a ticket's diff would actually fail if the behavioral change were reverted or broken. Catches assertion-free tests, tests that only exercise mocks, and untested branches. Invoke in /ticket-pick's implementation loop (step 5.5 agent checks) after tests pass, every round — a green…
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
Detect and fix drift between milestone state and the tickets that reference it; dispatches on .agents/config.yaml milestones.strategy; read-only until the user approves a fix. Used as a preflight in /ticket-pick, a postflight in /ticket-close, or standalone when the user asks to sync milestones.
The shared execution layer behind every /ticket- skill — loads and validates .agents/config.yaml, assigns IDs, runs backend stage transitions, formats commit/comment messages, and reports half-state on partial failure. Used by the ticket skills and milestone-sync, not invoked directly.
Bootstrap a project for the /ticket- workflow. Writes .agents/config.yaml, creates stage folders (with ledger) or workflow labels/fields, guides research-agent setup, and lays down a starter TICKETTEMPLATE.md.
Pick the next ticket from the pickable stage and implement it through to review (or directly to closure-ready, depending on whether a review stage exists).
Send a ticket in review back to inprogress with a recorded rejection reason. The counterpart to /ticket-close when verification fails. Requires a stage with the review role.
Bootstrap a project for the /ticket: workflow. Writes .claude/config.yaml, creates stage folders (with ledger) or workflow labels/fields, guides research-agent setup, and lays down a starter TICKETTEMPLATE.md.
Pick the next ticket from the pickable stage and implement it through to review (or directly to closure-ready, depending on whether a review stage exists).
Send a ticket in review back to inprogress with a recorded rejection reason. The counterpart to /ticket:close when verification fails. Requires a stage with the review role.