You are helping the user create or restructure the repository roadmap.
This Skill's Commands
If you cannot remember the exact command used by this skill, look it up here
before running anything. Do not guess.
init: node {{SKILL_DIR}}/scripts/spec-driven.js init
verify-roadmap: node {{SKILL_DIR}}/scripts/spec-driven.js verify-roadmap
Prerequisites
The .spec-driven/ directory must exist at the project root. Before
proceeding, verify:
ls .spec-driven/
If this fails, the project is not initialized. Run /spec-driven-init first.
If .spec-driven/roadmap/ is missing, repair the scaffold first:
node {{SKILL_DIR}}/scripts/spec-driven.js init
Steps
Read roadmap context first — before proposing milestone structure, read:
.spec-driven/config.yaml
.spec-driven/roadmap/INDEX.md if it exists
- every existing file under
.spec-driven/roadmap/milestones/
.spec-driven/specs/INDEX.md and any main spec files that are clearly
relevant to the user's planning scope
- active and archived changes under
.spec-driven/changes/ as evidence of
what is already in progress or complete
You MAY delegate bounded analysis-only work such as roadmap summarization,
candidate milestone comparisons, or likely spec-path discovery to a
sub-agent. The parent agent MUST keep user confirmation, roadmap shape
selection, and final .spec-driven/roadmap/ writes.
Understand the planning goal — determine:
- whether the user wants to create a brand-new roadmap or restructure an
existing one
- what major phases or stage goals the roadmap should express
- whether there are existing changes that already belong to specific
milestones
- whether any existing milestone files are still using a legacy structure,
such as an extra
## Candidate Ideas section, a combined
## Dependencies / Risks section, or missing ## In Scope,
## Out of Scope, or ## Notes sections
Converge on milestone boundaries before writing — help the user settle:
- milestone names and ordering
- each milestone's goal and done criteria
- which concrete
Planned Changes belong in each milestone
- key dependencies, risks, and sequencing
- any non-obvious legacy-migration interpretation needed to rewrite older
milestone files into the canonical format
Confirm the roadmap shape — before editing files, summarize the intended
milestone structure and ask for explicit confirmation.
If legacy milestone migration is in scope, include any non-obvious content
reinterpretation you plan to make while converting older milestone files.
Write roadmap assets — update:
.spec-driven/roadmap/INDEX.md
.spec-driven/roadmap/milestones/<milestone>.md for each milestone in scope
When a milestone is in a legacy format, rewrite it into the canonical
section set while preserving clearly recoverable meaning. Use the legacy
milestone wording itself as migration evidence.
Preserve roadmap rules — in every milestone file:
- use these standard section headings:
## Goal
## In Scope
## Out of Scope
## Done Criteria
## Planned Changes
## Dependencies
## Risks
## Status
## Notes
- milestone declared statuses are limited to:
proposed
active
blocked
complete
- write each
Planned Changes item with a canonical first line,
- \` - Declared: - `
- planned change declared statuses are limited to:
- keep each planned change description on that same line; do not add
indented continuation lines below the bullet
- default new or unfinished planned changes to
Declared: planned
- put extra milestone-local context in another section such as
## Notes
instead of attaching multiline detail under ## Planned Changes
- treat
Planned Changes as the milestone's only work list and keep it
limited to concrete approved change work
- keep each milestone at 10 or fewer planned changes; split larger scopes
into multiple milestones
- derive milestone completion from archived planned changes rather than
manual toggles
- when migrating a legacy milestone, map content conservatively:
- move clearly approved executable work into
## Planned Changes
- split a combined
## Dependencies / Risks section only when the source
distinction is clear enough to preserve confidently
- infer
## In Scope or ## Out of Scope only when the old milestone
wording makes those boundaries clear
- preserve useful leftover context in
## Notes instead of dropping it
- surface ambiguity to the user instead of silently inventing an exact
migration
Validate roadmap size before finish — run:
node {{SKILL_DIR}}/scripts/spec-driven.js verify-roadmap
- If validation reports a milestone is too large, stop and tell the user to
split it into smaller milestones
- Do not present the roadmap as ready while size validation fails
Summarize the result — report the milestone structure created or changed,
what planned work was assigned to each milestone, and any remaining planning
gaps.
Rules
- This is a planning/documentation skill only — do not change product code
- Read roadmap files and relevant change history before restructuring anything
- Do not collapse multiple milestones into one oversized roadmap document
- Do not mark a milestone complete manually if its planned changes are not all
archived
- Do not let a sub-agent own the confirmation step or final roadmap file edits
1---2name: roadmap-plan3description: Create or restructure a persistent milestone-based roadmap under .spec-driven/roadmap/.4---56You are helping the user create or restructure the repository roadmap.78## This Skill's Commands910If you cannot remember the exact command used by this skill, look it up here11before running anything. Do not guess.1213```yaml14init: node {{SKILL_DIR}}/scripts/spec-driven.js init15verify-roadmap: node {{SKILL_DIR}}/scripts/spec-driven.js verify-roadmap16```1718## Prerequisites1920The `.spec-driven/` directory must exist at the **project root**. Before21proceeding, verify:22```23ls .spec-driven/24```25If this fails, the project is not initialized. Run `/spec-driven-init` first.2627If `.spec-driven/roadmap/` is missing, repair the scaffold first:28```29node {{SKILL_DIR}}/scripts/spec-driven.js init30```3132## Steps33341. **Read roadmap context first** — before proposing milestone structure, read:35 - `.spec-driven/config.yaml`36 - `.spec-driven/roadmap/INDEX.md` if it exists37 - every existing file under `.spec-driven/roadmap/milestones/`38 - `.spec-driven/specs/INDEX.md` and any main spec files that are clearly39 relevant to the user's planning scope40 - active and archived changes under `.spec-driven/changes/` as evidence of41 what is already in progress or complete4243 You MAY delegate bounded analysis-only work such as roadmap summarization,44 candidate milestone comparisons, or likely spec-path discovery to a45 sub-agent. The parent agent MUST keep user confirmation, roadmap shape46 selection, and final `.spec-driven/roadmap/` writes.47482. **Understand the planning goal** — determine:49 - whether the user wants to create a brand-new roadmap or restructure an50 existing one51 - what major phases or stage goals the roadmap should express52 - whether there are existing changes that already belong to specific53 milestones54 - whether any existing milestone files are still using a legacy structure,55 such as an extra `## Candidate Ideas` section, a combined56 `## Dependencies / Risks` section, or missing `## In Scope`,57 `## Out of Scope`, or `## Notes` sections58593. **Converge on milestone boundaries before writing** — help the user settle:60 - milestone names and ordering61 - each milestone's goal and done criteria62 - which concrete `Planned Changes` belong in each milestone63 - key dependencies, risks, and sequencing64 - any non-obvious legacy-migration interpretation needed to rewrite older65 milestone files into the canonical format66674. **Confirm the roadmap shape** — before editing files, summarize the intended68 milestone structure and ask for explicit confirmation.69 If legacy milestone migration is in scope, include any non-obvious content70 reinterpretation you plan to make while converting older milestone files.71725. **Write roadmap assets** — update:73 - `.spec-driven/roadmap/INDEX.md`74 - `.spec-driven/roadmap/milestones/<milestone>.md` for each milestone in scope75 When a milestone is in a legacy format, rewrite it into the canonical76 section set while preserving clearly recoverable meaning. Use the legacy77 milestone wording itself as migration evidence.78796. **Preserve roadmap rules** — in every milestone file:80 - use these standard section headings:81 - `## Goal`82 - `## In Scope`83 - `## Out of Scope`84 - `## Done Criteria`85 - `## Planned Changes`86 - `## Dependencies`87 - `## Risks`88 - `## Status`89 - `## Notes`90 - milestone declared statuses are limited to:91 - `proposed`92 - `active`93 - `blocked`94 - `complete`95 - write each `Planned Changes` item with a canonical first line,96 `- \`<change-name>\` - Declared: <status> - <summary>`97 - planned change declared statuses are limited to:98 - `planned`99 - `complete`100 - keep each planned change description on that same line; do not add101 indented continuation lines below the bullet102 - default new or unfinished planned changes to `Declared: planned`103 - put extra milestone-local context in another section such as `## Notes`104 instead of attaching multiline detail under `## Planned Changes`105 - treat `Planned Changes` as the milestone's only work list and keep it106 limited to concrete approved change work107 - keep each milestone at 10 or fewer planned changes; split larger scopes108 into multiple milestones109 - derive milestone completion from archived planned changes rather than110 manual toggles111 - when migrating a legacy milestone, map content conservatively:112 - move clearly approved executable work into `## Planned Changes`113 - split a combined `## Dependencies / Risks` section only when the source114 distinction is clear enough to preserve confidently115 - infer `## In Scope` or `## Out of Scope` only when the old milestone116 wording makes those boundaries clear117 - preserve useful leftover context in `## Notes` instead of dropping it118 - surface ambiguity to the user instead of silently inventing an exact119 migration1201217. **Validate roadmap size before finish** — run:122 ```123 node {{SKILL_DIR}}/scripts/spec-driven.js verify-roadmap124 ```125 - If validation reports a milestone is too large, stop and tell the user to126 split it into smaller milestones127 - Do not present the roadmap as ready while size validation fails1281298. **Summarize the result** — report the milestone structure created or changed,130 what planned work was assigned to each milestone, and any remaining planning131 gaps.132133## Rules134135- This is a planning/documentation skill only — do not change product code136- Read roadmap files and relevant change history before restructuring anything137- Do not collapse multiple milestones into one oversized roadmap document138- Do not mark a milestone complete manually if its planned changes are not all139 archived140- Do not let a sub-agent own the confirmation step or final roadmap file edits