원클릭으로
tickets
Break a spec, plan, or the current conversation into tracer-bullet ticket files alongside the spec, each declaring its blocking edges.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Break a spec, plan, or the current conversation into tracer-bullet ticket files alongside the spec, each declaring its blocking edges.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
Scan the session for compound-worthy learnings, then commit the working tree with a repo-appropriate, value-communicating message.
Garbage-collect the knowledge stores — audit docs/solutions/ and AGENTS.md against the current code.
Capture this session's durable learnings and route each to the right knowledge store, every write user-gated. Use at loop end when /commit's opening scan finds candidates, when /diagnosing-bugs closes out a fix, or when the user wants to capture, remember, or write down a learning, convention, gotcha, or preference.
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to be grilled about a plan, wants a decision stress-tested, or when requirements are fuzzy before a spec is written.
| name | tickets |
| description | Break a spec, plan, or the current conversation into tracer-bullet ticket files alongside the spec, each declaring its blocking edges. |
| disable-model-invocation | true |
| version | 1.0.0 |
| source | mattpocock/skills@1.1.0 (to-tickets) |
Break a plan, spec, or conversation into tickets — tracer-bullet vertical slices, each declaring the tickets that block it, written as markdown files alongside the spec.
Work from whatever is already in the conversation context.
If the user passes a spec path (usually docs/specs/<feature>.md), read it in full.
If you have not already explored the codebase, do so to understand the current state of the code. Ticket titles and descriptions should use the project's domain vocabulary.
Look for opportunities to prefactor the code to make the implementation easier. "Make the change easy, then make the easy change."
Break the work into tracer bullet tickets.
/implement runGive each ticket its blocking edges — the other tickets that must complete before it can start. A ticket with no blockers can start immediately.
Wide refactors are the exception to vertical slicing. A wide refactor is one mechanical change — rename a column, retype a shared symbol — whose blast radius fans across the whole codebase, so a single edit breaks thousands of call sites at once and no vertical slice can land green. Don't force it into a tracer bullet; sequence it as expand–contract. First expand: add the new form beside the old so nothing breaks. Then migrate the call sites over in batches sized by blast radius (per package, per directory), each batch its own ticket blocked by the expand, keeping CI green batch to batch because the old form still exists. Finally contract: delete the old form once no caller remains, in a ticket blocked by every migrate batch. When even the batches can't stay green alone, keep the sequence but let them share an integration branch that all block a final integrate-and-verify ticket — green is promised only there.
Present the proposed breakdown as a numbered list. For each ticket, show:
Ask the user:
Iterate until the user approves the breakdown.
Write one file per ticket to docs/specs/<feature>/NN-<slug>.md — a directory named after the spec file it sits beside — numbered from 01 in dependency order (blockers first).
Each file's "Blocked by" lists the numbers/titles it depends on.
Use the template below — one ticket per file, never a single combined file.
What to build: the end-to-end behaviour this ticket makes work, from the user's perspective — not a layer-by-layer implementation list.
Blocked by: the numbers/titles of the tickets that gate this one, or "None — can start immediately".
Avoid specific file paths or code snippets in tickets — they go stale fast. Exception: if a prototype produced a snippet that encodes a decision more precisely than prose can (state machine, reducer, schema, type shape), inline it and note briefly that it came from a prototype. Trim to the decision-rich parts — not a working demo, just the important bits.
Tickets written → close with a flow pointer (presentation): /implement (user-invoked), one ticket per fresh context window, working the frontier — any ticket whose blockers are all done (for a purely linear chain, top to bottom).