to-ticketscommit 9e2abf8SKILL.md · Task Breakdown
To Tickets
Breaks a plan, spec or conversation into tracer-bullet tickets with blocking edges and publishes them to the configured tracker.
With a real tracker it creates issues and applies the ready-for-agent label.
npx skills add mattpocock/skills --skill to-ticketsCommand selected. Copy it manually.
- Permissions
- read-repo
- write-files
- shell
- network
- Compatible with
- Claude Code, Codex, Copilot, Gemini CLI
- GitHub
- 308.7k
- Source
- Community · Matt Pocock
- Status
- Scan passed
- License
- MIT
- Category
- Task Breakdown
Core rule
Each slice cuts a narrow but complete path through every layer (schema, API, UI, tests): vertical, not a horizontal slice of one layer.
Execution Phases
Phase 01Gather context
Work from the conversation; if given a spec path or issue number or URL, fetch and read its full body and comments.
Phase 02Explore the codebase
Optionally explore the code, use the project's domain vocabulary, respect ADRs and look for prefactoring opportunities.
Phase 03Draft vertical slices
Split into demoable tickets that fit one context window, each with blockers; sequence wide refactors as expand–contract.
Phase 04Quiz the user
Show a numbered list with title, blockers and what each delivers, ask about granularity and edges, and iterate until approved.
Phase 05Publish tickets
In dependency order, write one file per ticket under .scratch/ or create one issue each on the tracker with native blocking links; never modify the parent issue.
Permissions (summarised from SKILL.md)
| Capability | Needed | Details |
|---|---|---|
| File writes | Limited | With a local tracker, writes only one file per ticket under .scratch/<feature-slug>/issues/. |
| Command execution | Not required | The instructions do not call for running commands. |
| Network outbound | Limited | Only the configured issue tracker (e.g. GitHub, Linear), to read referenced issues and create tickets. |
SKILL.md frontmatter (YAML)
---
name: to-tickets
description: Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker (edges as text in one file per ticket locally, or native blocking links on a real tracker).
disable-model-invocation: true
---