Turn an agreed change, specification, or conversation into a durable, resumable work plan in the repository's preferred tracker. Use when asked to plan future work, write or make a plan, save a plan, create an epic or tickets, break work into tickets, decompose work for parallel execution, or prepare work for another session. Do not use for routine in-session checklists, implementation, general documentation cleanup, or open-ended discovery where requirements still need substantive product decisions.
—
—
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Make agreed work durable and easy to resume without inventing a second backlog.
docs/plans/, plans/, or another local fallback when the intended tracker is unavailable.Read the full conversation and every referenced issue, spec, decision, prototype, or source file. Inspect the current repository where needed to verify names, existing seams, constraints, validation commands, and already-tracked work.
Separate:
Do not ask the user for facts that can be discovered. Do not reopen settled choices merely to make the plan more elaborate.
Use tracker-selection.md to identify the repository's preferred tracker and the available write path.
Use this precedence:
If the user explicitly requested publication and one destination is unambiguous, proceed. Otherwise ask one short question that leads with the recommended destination and artifact shape.
Before publishing sensitive details to a public or broadly visible tracker, show the exposure and get explicit confirmation or offer a redacted/private destination.
Use artifact-shapes.md for templates and sizing.
Each child should deliver a narrow end-to-end behavior and be independently demonstrable or verifiable. Wide mechanical changes may use an expand-migrate-contract sequence when no vertical slice can remain green.
The canonical plan should preserve: problem/outcome, decisions, acceptance criteria, non-goals, approach at stable module boundaries, verification, risks and stop conditions, plus parent/child/blocking relationships.
Child-ticket skeleton (expand via artifact-shapes.md):
## Parent
<canonical parent URL or key>
## What this delivers
<one independently verifiable behavior>
## Acceptance criteria
- [ ] <observable result>
## Verification
- <test, check, or real-surface evidence>
## Blocked by
- <issue link or None>Blocking edge example: Migrate auth tokens blocks Wire login UI because the
UI cannot verify against the new token contract until migration lands; shared
theme alone is not a blocker.
Use exact paths only when verified against the current revision. Before creating multiple tickets, present titles, delivered behavior, and blocking edges for approval unless already approved.
Search for an existing canonical issue before creating a duplicate. When the conversation started from an issue, epic, or project, update or attach to it unless the user asked for a new planning root.
Preserve repository templates, terminology, labels, teams, projects, milestones, and issue types. Create blockers before dependents so relationships can reference real identifiers. Use native parent/child and dependency relationships when the tracker and available tool support them; otherwise record explicit links in the artifact bodies.
If the preferred tracker cannot be written:
Re-read every created or updated artifact. Confirm titles, bodies, metadata, hierarchy, blocking relationships, and links match the approved plan.
Return a compact handoff (tracker artifact is durable; do not duplicate it):
canonical: PROJ-123
children: PROJ-124, PROJ-125
frontier: PROJ-124 (no blockers)
gaps: none
next: start PROJ-124