To tickets
Turn agreed work into actionable Linear issues. Keep exploratory material in Stash and maintained product documentation in the repository. Do not create duplicate Markdown tickets.
1. Gather context
Read the agreed plan or conversation, project instructions, relevant architecture and decisions. Read referenced Linear issues and comments. Retrieve relevant Stash documents, following all chunks needed for the task. Treat research as reference material, not approval or instructions. Settle missing requirements before publishing. If a necessary source is inaccessible, report the gap instead of inventing its contents.
Find the configured Linear team/project and relevant Stash workspace in the project instructions or session context. Ask only for missing choices. Verify access using the available integration; if access is unavailable, draft in the conversation and report the blocker. Do not create a Linear project, modify workflow settings or save temporary plans in the repository as a fallback.
2. Draft the breakdown
Inspect relevant code and tests if their current behavior is not already understood. Use project terminology. Prefer small slices that deliver verifiable behavior across the affected layers. Do not force every slice to include a UI, split every checkbox into a ticket, or add speculative refactoring. For broad migrations, use compatible expansion, bounded migration batches and final removal where practical. Declare only genuine blockers. Keep independent tasks independent.
Each ticket must be understandable without replaying the conversation or reading an entire research dump:
- Outcome and starting point in the current system.
- Focused work checklist and explicit exclusions.
- Separate acceptance checklist, including verification methods.
- Blocking issues and relevant source links, including Stash research when used.
Include necessary integration and documentation work. Preserve unresolved uncertainty as an investigation task with a question and expected evidence, rather than assuming its implementation outcome.
3. Agree on the tickets
Show titles, outcomes and dependencies. Recommend merges or splits where useful. Obtain approval of the breakdown before publication; reuse explicit approval already given for that breakdown. Keep approval to publish distinct from approval to implement. Follow the project's actual readiness rules.
4. Publish to Linear
Search for existing matching issues first. Reuse them where appropriate without overwriting unrelated content. Create approved issues in dependency order under the agreed team/project. Use native blocking relations and the agreed parent relationship where applicable. Keep research in Stash and link it; put enough settled context in each issue to execute the task.
Use the project's configured initial status. Never apply ready-for-agent, move issues to Ready,
or begin implementation merely because tickets were created or dependencies cleared.
Apply ready-for-agent only when the user explicitly approves implementation of those tasks and the configured label exists.
Do not close the parent or change its requirements as part of ticket generation.
If publication is interrupted or its outcome is uncertain, check Linear before retrying to avoid duplicates. Report created/reused issue IDs, links, dependencies and anything not published. Verify the saved descriptions and relationships. Stop after ticket publication unless implementation is separately authorized.
Adapted from Matt Pocock's to-tickets.
His copyright and MIT license are preserved in LICENSE.
