Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Translate a specification into a sequenced implementation plan — ordered steps with inlined context (types, signatures, rules, constants, file paths), codebase citations for reuse and integration points, and per-step plus end-to-end verification. Use when asked to create a PLAN.md, plan implementation steps, turn a spec into actionable work, design a step-by-step build sequence for a feature, or produce a PLAN.md.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 242% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 629% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 170% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 94% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 79% | 0% |
Given a specification document and any available architecture or decision documents, produce a PLAN.md that an implementing agent can follow start-to-finish. The plan bridges "what to build" (the spec) and "how to build it" (the code) — it provides the sequence, the context, and the decisions needed to turn a spec into working software.
The defining discipline — and the commonest failure — is that every step inlines the context the implementer needs: types, signatures, behavioral rules, error variants, constants, and file paths are embedded directly in the step, not referenced by "see the spec" or "see the architecture doc." The implementing agent reads only PLAN.md. The commonest violation is leaving a step as a pointer to another document, or restating the spec at a summary level without concrete file paths and symbol citations — both produce plans that feel complete but force the implementer back into research mode.
SPEC.md for the work unit.ARCHITECTURE.md and related design artifacts describing system structure, conventions, and technology choices.Plan generation happens in three phases. The first two are research; the third is writing. Do not skip the research — a plan based on assumptions about the codebase instead of actual exploration will produce steps that duplicate existing utilities, violate conventions, or miss integration points.
Before writing anything, launch subagents to deeply explore the existing codebase. This is not a file-listing exercise — subagents should read full method bodies, understand patterns, and map out how existing code actually works.
What to explore:
Launch multiple exploration subagents in parallel when the scope spans different areas. Give each a focused search area (one explores existing patterns, another explores integration points, another explores test infrastructure). Subagent findings become the inlined context in the plan's steps. Record the commit hash exploration was verified against and include it in the plan overview so a reader can re-verify the citations.
After exploration, analyze the implementation approach before committing to a plan structure. This can be done via subagent or inline, depending on complexity.
Key questions to answer:
This phase produces the plan's step ordering, risk callouts, and pattern choices.
Using the spec and the findings from exploration and analysis, write PLAN.md.
These are guidelines, not rigid rules. Apply judgment — a two-step plan for a small feature doesn't need the same structure as a twenty-step plan for a complex system.
Each step should embed everything the implementer needs: types, signatures, behavioral rules, error variants, constants. If a step depends on something from a previous step, restate the relevant details rather than saying "use the type from step 2." The plan is the only document the implementing agent reads.
Each step should indicate how to verify it works — what tests to write, what to check, what command to run. The plan should also include an end-to-end verification approach for after all steps are complete.
When a step makes a non-obvious choice — a specific ordering, a particular library option, an unusual pattern, a workaround — include a brief "Why X:" rationale inline. Steps without rationale are likely to be undone during downstream edits.
The plan should be organized so the implementer can work through it sequentially. The exact structure should fit the problem — a simple feature might need just an overview and a handful of steps, while a complex system might need dependency graphs and integration sections.
Every PLAN.md begins with a single YAML frontmatter block at the top of the file. The frontmatter provides the structured, machine-readable header for an otherwise adaptive body:
yaml--- skill: PLAN.md date: {YYYY-MM-DD} status: {complete | has_open_questions | blocked} unit: {U-NN} steps_total: {N} files_touched: {N} risks_identified: {N} open_questions: {N} ---
Frontmatter rule: there is exactly one YAML frontmatter block, at the very top of the file. Never split fields across multiple YAML blocks. The counts (steps_total, files_touched, risks_identified, open_questions) must match the body — if the body lists 12 steps, steps_total: 12; if it identifies 3 risks, risks_identified: 3. Update the counts in a final pass before finalising the document.
At a minimum, the plan should communicate:
If genuinely ambiguous decisions remain that couldn't be resolved from the spec, architecture docs, and codebase exploration, place them in an Open Questions section with options, tradeoffs, and a suggestion. This should be rare — most decisions should be resolvable from the available inputs.
Before considering the plan complete, verify:
skill, date, status, unit, steps_total, files_touched, risks_identified, open_questions)steps_total, files_touched, risks_identified, open_questions all reflect the actual document)Other measured skills in the registry, with their headline benchmark lift.