to-tickets
Skill137 starsChanged 4 months agoMITView on GitHub
Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, saved to `.plan/`.
We split this skill into the rules it gives an agent
3 rules. 2 are common, 1 is distinctive, and 0 are very specific to this project.
2
Common
Most of the 181 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 21
Look for opportunities to prefactor the code to make the implementation easier.
- Common: line 52
Should any tickets be merged or split further?
- Distinctive: line 60
If the work came from an existing spec or plan document, reference it at the top of the file — do NOT modify or delete the source document.
“Common” is measured: kept by at least 6 in 10 of the 181 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
To Tickets
Break a plan, spec, or conversation into a set of tickets — tracer-bullet vertical slices, each declaring the tickets that block it.
Process
1. Gather context
Work from whatever is already in the conversation context. If the user passes a reference (a spec path such as .plan/<slug>/spec.md, or any other document) as an argument, fetch it and read it in full.
2. Explore the codebase (optional)
If you have not already explored the codebase, do so to understand the current state of the code. If a CONTEXT.md glossary exists at the repo root, ticket titles and descriptions should use its vocabulary; respect ADRs in docs/adr/ in the area you're touching. If neither exists, proceed silently.
Look for opportunities to prefactor the code to make the implementation easier. "Make the change easy, then make the easy change."
3. Draft vertical slices
Break the work into tracer bullet tickets.
<vertical-slice-rules>- Each slice cuts a narrow but COMPLETE path through every layer the change touches (e.g. schema, API, UI, tests) — vertical, NOT a horizontal slice of one layer
- A completed slice is demoable or verifiable on its own
- Each slice is sized to fit in a single fresh context window
- Any prefactoring should be done first
</vertical-slice-rules>Give 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 the build 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.
4. Quiz the user
Present the proposed breakdown as a numbered list. For each ticket, show:
- Title: short descriptive name
- Blocked by: which other tickets (if any) must complete first
- What it delivers: the end-to-end behaviour this ticket makes work
Ask the user:
- Does the granularity feel right? (too coarse / too fine)
- Are the blocking edges correct — does each ticket only depend on tickets that genuinely gate it?
- Should any tickets be merged or split further?
Iterate until the user approves the breakdown.
5. Save the tickets
Write the approved tickets to .plan/<slug>/tickets.md, all tickets in dependency order (blockers first), each with its "Blocked by" listing the titles it depends on. Use the template below. <slug> is a short kebab-case name for the work — if the tickets came from a spec at .plan/<slug>/spec.md, use the same directory. Create it if needed; .plan/ is committed to version control. Tell the user the path.
If the work came from an existing spec or plan document, reference it at the top of the file — do NOT modify or delete the source document.
<tickets-file-template>Tickets: <short name of the work>
A one-line summary of what these tickets build. Reference the source spec if there is one.
Work the frontier: any ticket whose blockers are all done. For a purely linear chain that means top to bottom.
<Ticket title>
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 titles of the tickets that gate this one, or "None — can start immediately".
- Acceptance criterion 1
- Acceptance criterion 2
<Ticket title>
...
</tickets-file-template>Avoid specific file paths or code snippets — 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.
Work the frontier one ticket at a time, each in a fresh session: implement the slice, run the project's static checks and tests, review the work (with the review-code skill if it's available in your environment), tick off the acceptance criteria in tickets.md, and commit — then clear context before taking the next ticket.
Other versions192 projects use a version of this.
Word for word · 0
None found.
Edited · 155
- mattpocock/skills★ 309k59% same
- QuivrHQ/quivr★ 40k61% same
- formbricks/formbricks★ 13k59% same
- ArcReel/ArcReel★ 6k59% same
- withcoral/coral★ 4.9k59% same
- bestofjs/bestofjs★ 3.1k61% same
- moeru-ai/xsai★ 66461% same
- nodetool-ai/nodetool★ 60344% same
- aws/graph-explorer★ 48961% same
- hcloud-talos/terraform-hcloud-talos★ 36261% same
145 more not listed
Wrote their own version · 37
- vinvcn/mattpocock-skills-zh-CN★ 5.5ksame name
- stevesolun/ctx★ 583same name
- devcxl/mattpocock-skills-zh★ 522same name
- timharris707/skills★ 43same name
- helderberto/agent-skills★ 19same name
- assisjp/specflow★ 17same name
- imMamdouhaboammar/matts-skills-into-chatgpt★ 8same name
- Kripu77/software-factory★ 7same name
- Boom-Vitt/skills-thai★ 5same name
- T-miracle/codex-skills-zh★ 5same name
27 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use setup-ts-deep-modules, to-questionnaire and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
liufeng1976Skillsetup-ts-deep-modules
Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files. User-invoked.
Also in 33 projects that use this
AWSSkillto-questionnaire
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
Also in 75 projects that use this
ryotaroh180105Skillclaude-handoff
Hand the current conversation off to a fresh background agent that picks up the work immediately.
Also in 32 projects that use this
RoentekSkillloop-me
Grill me about specs for the workflows I want to build, within this workspace.
Also in 39 projects that use this
sponge-b0bSkillto-specs
Project decision-complete planning into implementation Specs from exact Canonical Contract Ledger semantics while preserving Independent Specs and existing Spec identity.
Also in 3 projects that use this
AWSSkillwizard
Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.
Also in 89 projects that use this
- +2 more from aws
In this repository13 other files it gives its agents.
- verifySkill
- domain-modelingSkill
- grill-meSkill
- codebase-designSkill
- grill-with-docsSkill
- handoffSkill
- improve-codebase-architectureSkill
- review-codeSkill
- to-specSkill
- writing-great-skillsSkill
- prototypeSkill
- researchSkill
- wayfinder-mapsSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

