tickets
Skill3 starsChanged 4 months agoMITView on GitHub
Break a spec, plan, or the current conversation into tracer-bullet tickets, each declaring its blocking edges.
9 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- jeremy-farnault/claude-skillstheir own version, first seen Nov 3, 2026
- scottlivingston/claude-skillsedited, first seen Oct 25, 2026
- BinayakDotel/skills-marketplacetheir own version, first seen Oct 17, 2026
- phnx-labs/.agentstheir own version, first seen Oct 11, 2026
- jasonhulbert/skillstheir own version, first seen Oct 9, 2026
- garthcodes/claude-skillstheir own version, first seen Oct 8, 2026
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- scottlivingston/claude-skills★ 115% same
Wrote their own version · 8
- gregwebs/skills-sdlc★ 20same name
- garthcodes/claude-skills★ 2same name
- BinayakDotel/skills-marketplace★ 1same name
- jasonhulbert/skills★ 1same name
- phnx-labs/.agents★ 1same name
- Thalisu/SKILLS★ 1same name
- eric-wien/ogma★ 0same name
- jeremy-farnault/claude-skills★ 0same name
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.
In this repository26 other files it gives its agents.
- AGENTS.mdAGENTS.md
- mod/CLAUDE.mdCLAUDE.md
- sync-upstreamSkill
- afkSkill
- codebase-designSkill
- commitSkill
- compound-refreshSkill
- compoundSkill
- deputySkill
- diagnosing-bugsSkill
- grillingSkill
- handoffSkill
- implementSkill
- improve-codebase-architectureSkill
- prototypeSkill
- questionnaireSkill
- researchSkill
- review-gateSkill
- setup-cantrips-loopSkill
- setup-git-guardrailsSkill
- simplifySkill
- specSkill
- tddSkill
- teachSkill
- wait-whatSkill
- writing-for-agentsSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 5 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
5
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
- Distinctive: line 22
If you have not already explored the codebase, do so to understand the current state of the code.
- Distinctive: line 24
Look for opportunities to prefactor the code to make the implementation easier.
- Distinctive: line 55
Should any tickets be merged or split further?
- Distinctive: line 63
Use the template below — one ticket per artifact, never a single combined one.
- Distinctive: line 65
Do NOT close or modify the parent spec.
“Common” is measured: kept by at least 6 in 10 of the 9 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
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 names a spec, fetch it in full — the fetch-spec verb.
The loop config translates the storage verbs: it is docs/agents/cantrips-loop.md, and when that doc is absent the plugin defaults (defaults.md) govern.
2. Explore the codebase
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."
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 (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 — one ticket, one
/implementrun; a first cut underestimates what one window carries, so prefer fewer, larger slices - 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 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.
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.
Where this session engaged a deputy through /deputy and has not dismissed it, what is put to the user here goes to the deputy instead, as ROUNDS.md says, and the deputy's reply is printed verbatim under a one-line header before anything acts on it; otherwise it goes to the user as written.
5. Publish the tickets
Publish the tickets — the publish-tickets verb, translated by the loop config from step 1 — in dependency order (blockers first). Use the template below — one ticket per artifact, never a single combined one. Blocking edges ride the backend's native dependency links where it has them (e.g. tracker issue links); otherwise each ticket's "Blocked by" line carries them as prose. Do NOT close or modify the parent spec.
<ticket-template><NN>: <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 numbers/titles of the tickets that gate this one, or "None (can start immediately)".
- Acceptance criterion 1
- Acceptance criterion 2
</ticket-template>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 published → close with a flow pointer (the message's final paragraph, a blockquote in full italics opening Next: — or Next steps: over one bullet per pointer — each pointer naming its skill the way this skill was itself invoked, same prefix and namespace, and ending in a one-clause rationale after an em dash): /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).
Where this session engaged a deputy through /deputy and has not dismissed it, a choice is put to the deputy as ROUNDS.md says and rendered as the one step it chose, any other closing is rendered as written, and each rendered step that names a skill is then taken: one marked (user-invoked) by notifying the user where the harness has a tool for it and waiting for them to type it, any other by invoking it, notifying nobody.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

