roadmap-milestone
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 Ideassection, a combined## Dependencies / Riskssection, or missing## In Scope,## Out of Scope, or## Notessections
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 ScopeOut of ScopeDone CriteriaPlanned ChangesDependenciesRisks- derived
Status NotesUse these standard section headings in the file:## Goal## In Scope## Out of Scope## Done Criteria## Planned Changes## Dependencies## Risks## Status## NotesMilestone declared statuses are limited to:proposedactiveblockedcompleteWrite eachPlanned Changesitem with a canonical first line,- \` - Declared: - `. Planned change declared statuses are limited to:plannedcompleteDefault new or unfinished planned changes toDeclared: 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## Notesrather 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## Noteswhen needed, and surface ambiguity instead of guessing silently.
- the milestone
-
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.mdin 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-roadmapIf 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 Changeslimited 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
More from kw12121212/auto-spec-driven
spec-driven-auto
Run the full spec-driven workflow automatically. Proposes, implements, verifies, reviews, and archives a change without mandatory confirmation — only stops for user input when open questions need resolution.
36spec-driven-review
Review the code quality of a spec-driven change. Checks readability, security, performance, and best practices before archiving.
36spec-driven-init
Initialize a .spec-driven/ directory in a project. Creates config.yaml, roadmap/, and specs/ scaffold, then guides the user to fill in project context.
35spec-driven-verify
Verify a spec-driven change is complete and correctly implemented. Checks task completion, implementation evidence, and spec alignment.
35spec-driven-archive
Archive a completed spec-driven change. Requires completed tasks, merges delta specs into main specs, then moves the change to archive/ with a date prefix.
35spec-driven-brainstorm
Discuss and brainstorm a spec-driven change from a rough idea, then propose a change name and, after explicit confirmation, generate the same five proposal artifacts as spec-driven-propose.
35