You are helping the user refine a single roadmap milestone.
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
Choose the milestone — determine whether the user wants to edit an
existing milestone or create a new one under .spec-driven/roadmap/milestones/.
Load milestone context — read:
.spec-driven/config.yaml
.spec-driven/roadmap/INDEX.md
- the target milestone file when it already exists
- any nearby milestone files needed to preserve ordering or avoid overlap
- active and archived changes that the milestone already references or might
need to reference
- whether the target milestone uses 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
You MAY delegate bounded analysis-only work such as milestone context
summarization, nearby-milestone comparisons, or likely overlap checks to a
sub-agent. The parent agent MUST keep milestone-shape decisions and final
.spec-driven/roadmap/ edits.
Refine only one milestone at a time — help the user settle:
- the milestone
Goal
In Scope
Out of Scope
Done Criteria
Planned Changes
Dependencies
Risks
- derived
Status
Notes
Use these standard section headings in the file:
## 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:
planned
complete
Default new or unfinished planned changes to Declared: planned.
Keep the milestone at 10 or fewer planned changes; split larger scopes
into multiple milestones.
Keep the full planned change description on that same line and do not add
indented continuation lines below it. If the milestone needs richer local
detail, move that context into another section such as ## Notes rather
than attaching multiline detail under ## Planned Changes.
If the milestone starts in a legacy format and the user wants a one-file
migration instead of a whole-roadmap restructure, preserve clearly
recoverable content, carry forward useful leftover context into ## Notes
when needed, and surface ambiguity instead of guessing silently.
Write the milestone file — create or update the milestone markdown file
and keep it focused on that milestone only. If the file started in a legacy
format, rewrite it into the canonical section set while preserving intent
conservatively.
Update roadmap index if needed — if the milestone is new, add it to
.spec-driven/roadmap/INDEX.md in the correct sequence.
Enforce milestone status rules — if listed planned changes are not all
archived, the milestone is not complete. Do not add manual completion
overrides.
Validate roadmap size before finish — run:
node {{SKILL_DIR}}/scripts/spec-driven.js verify-roadmap
If validation reports that the milestone is too large, stop and tell the user
to split it instead of presenting the milestone as ready.
Report the result — summarize what changed in the milestone and identify
any follow-up planning gaps that still need decisions before new planned
changes are added.
Rules
- This is a planning/documentation skill only — do not change product code
- Keep
Planned Changes limited to concrete approved roadmap work
- Keep milestone scope bounded; do not turn this into a whole-roadmap rewrite
- Milestone completion is derived from archive state, not user preference
- Do not let a sub-agent own the final milestone recommendation or file write
1---2name: roadmap-milestone3description: Refine one roadmap milestone's goal, planned changes, and derived status.4---56You are helping the user refine a single roadmap milestone.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. **Choose the milestone** — determine whether the user wants to edit an35 existing milestone or create a new one under `.spec-driven/roadmap/milestones/`.36372. **Load milestone context** — read:38 - `.spec-driven/config.yaml`39 - `.spec-driven/roadmap/INDEX.md`40 - the target milestone file when it already exists41 - any nearby milestone files needed to preserve ordering or avoid overlap42 - active and archived changes that the milestone already references or might43 need to reference44 - whether the target milestone uses a legacy structure, such as an extra45 `## Candidate Ideas` section, a combined `## Dependencies / Risks`46 section, or missing `## In Scope`, `## Out of Scope`, or `## Notes`47 sections4849 You MAY delegate bounded analysis-only work such as milestone context50 summarization, nearby-milestone comparisons, or likely overlap checks to a51 sub-agent. The parent agent MUST keep milestone-shape decisions and final52 `.spec-driven/roadmap/` edits.53543. **Refine only one milestone at a time** — help the user settle:55 - the milestone `Goal`56 - `In Scope`57 - `Out of Scope`58 - `Done Criteria`59 - `Planned Changes`60 - `Dependencies`61 - `Risks`62 - derived `Status`63 - `Notes`64 Use these standard section headings in the file:65 - `## Goal`66 - `## In Scope`67 - `## Out of Scope`68 - `## Done Criteria`69 - `## Planned Changes`70 - `## Dependencies`71 - `## Risks`72 - `## Status`73 - `## Notes`74 Milestone declared statuses are limited to:75 - `proposed`76 - `active`77 - `blocked`78 - `complete`79 Write each `Planned Changes` item with a canonical first line,80 `- \`<change-name>\` - Declared: <status> - <summary>`.81 Planned change declared statuses are limited to:82 - `planned`83 - `complete`84 Default new or unfinished planned changes to `Declared: planned`.85 Keep the milestone at 10 or fewer planned changes; split larger scopes86 into multiple milestones.87 Keep the full planned change description on that same line and do not add88 indented continuation lines below it. If the milestone needs richer local89 detail, move that context into another section such as `## Notes` rather90 than attaching multiline detail under `## Planned Changes`.91 If the milestone starts in a legacy format and the user wants a one-file92 migration instead of a whole-roadmap restructure, preserve clearly93 recoverable content, carry forward useful leftover context into `## Notes`94 when needed, and surface ambiguity instead of guessing silently.95964. **Write the milestone file** — create or update the milestone markdown file97 and keep it focused on that milestone only. If the file started in a legacy98 format, rewrite it into the canonical section set while preserving intent99 conservatively.1001015. **Update roadmap index if needed** — if the milestone is new, add it to102 `.spec-driven/roadmap/INDEX.md` in the correct sequence.1031046. **Enforce milestone status rules** — if listed planned changes are not all105 archived, the milestone is not complete. Do not add manual completion106 overrides.1071087. **Validate roadmap size before finish** — run:109 ```110 node {{SKILL_DIR}}/scripts/spec-driven.js verify-roadmap111 ```112 If validation reports that the milestone is too large, stop and tell the user113 to split it instead of presenting the milestone as ready.1141158. **Report the result** — summarize what changed in the milestone and identify116 any follow-up planning gaps that still need decisions before new planned117 changes are added.118119## Rules120121- This is a planning/documentation skill only — do not change product code122- Keep `Planned Changes` limited to concrete approved roadmap work123- Keep milestone scope bounded; do not turn this into a whole-roadmap rewrite124- Milestone completion is derived from archive state, not user preference125- Do not let a sub-agent own the final milestone recommendation or file write