一键导入
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).