Restructure milestone plan into phase files; /execute-milestones now requires a phase file
- /plan-milestones groups milestones into phases and generates one file per phase (phase1-milestones.md, phase2-milestones.md, ...) plus roadmap.md; milestone numbering stays global across phases - /execute-milestones takes a required phase file argument (phase1-milestones.md | full path | phase1 | 1) and executes only that file's milestones one by one; with no argument it lists available phase files and stops; closes the phase in the roadmap when done - milestone-planning skill/template rewritten around the Phase > Milestone > Feature hierarchy; milestone-execution skill scoped to one phase file per run - /add-feature, AGENTS.md, README, and docs/milestones/README.md updated to phase-file references Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@ -1,34 +1,42 @@
|
||||
# Milestone Document Template
|
||||
# Phase File Template
|
||||
|
||||
Use this structure for each `docs/milestones/milestone-[NN]-[name].md`.
|
||||
Use this structure for each `docs/milestones/phase[N]-milestones.md`. A phase file contains one or more milestones; milestone numbers are global across all phase files.
|
||||
|
||||
```markdown
|
||||
# Milestone [NN]: [Name]
|
||||
# Phase [N]: [Name]
|
||||
|
||||
**Status**: Not started | In progress | Completed
|
||||
**Goal**: [One sentence: what this phase delivers as a release]
|
||||
**Execute**: `/execute-milestones phase[N]-milestones.md`
|
||||
**Milestones**: [NN]–[NN]
|
||||
|
||||
---
|
||||
|
||||
## Milestone [NN]: [Name]
|
||||
|
||||
**Status**: Not started | In progress | Completed
|
||||
**Goal**: [One sentence: what the user can do after this milestone that they could not before]
|
||||
|
||||
## Scope
|
||||
### Scope
|
||||
|
||||
### In Scope
|
||||
#### In Scope
|
||||
- [Theme or capability included in this milestone]
|
||||
|
||||
### Out of Scope
|
||||
#### Out of Scope
|
||||
- [Explicitly excluded item] → [where it lives instead: milestone NN / icebox]
|
||||
|
||||
## Dependencies
|
||||
### Dependencies
|
||||
|
||||
- [What must exist before this milestone can start: previous milestone, external system, decision]
|
||||
|
||||
## Features
|
||||
### Features
|
||||
|
||||
> One `/add-feature` run per feature. Check off each feature when its run completes.
|
||||
|
||||
- [ ] [Feature 1 name]
|
||||
- [ ] [Feature 2 name]
|
||||
- [ ] [Feature 3 name]
|
||||
|
||||
### Feature: [Feature 1 name]
|
||||
#### Feature: [Feature 1 name]
|
||||
|
||||
- **Description**: [What it does and the user value, 1–3 sentences]
|
||||
- **Related requirements**: [PRD user story / requirement IDs or headings]
|
||||
@ -39,7 +47,7 @@ Use this structure for each `docs/milestones/milestone-[NN]-[name].md`.
|
||||
- [Criterion 3]
|
||||
- **Command**: `/add-feature [Feature 1 name]`
|
||||
|
||||
### Feature: [Feature 2 name]
|
||||
#### Feature: [Feature 2 name]
|
||||
|
||||
- **Description**: ...
|
||||
- **Related requirements**: ...
|
||||
@ -48,16 +56,22 @@ Use this structure for each `docs/milestones/milestone-[NN]-[name].md`.
|
||||
- ...
|
||||
- **Command**: `/add-feature [Feature 2 name]`
|
||||
|
||||
## Definition of Done
|
||||
### Definition of Done
|
||||
|
||||
- [ ] All features above are checked off
|
||||
- [ ] `npm test`, `npm run lint`, `npm run typecheck` pass
|
||||
- [ ] Persistent documents in `docs/` are reconciled with all features
|
||||
- [ ] [Milestone-specific criterion, e.g. "demo flow X→Y→Z works end-to-end"]
|
||||
|
||||
## Completion Notes
|
||||
### Completion Notes
|
||||
|
||||
_Filled in when the milestone completes: completion date, deviations from plan, lessons learned._
|
||||
|
||||
---
|
||||
|
||||
## Milestone [NN+1]: [Name]
|
||||
|
||||
[Same structure as above]
|
||||
```
|
||||
|
||||
# Roadmap Template
|
||||
@ -67,14 +81,16 @@ Use this structure for `docs/milestones/roadmap.md`.
|
||||
```markdown
|
||||
# Development Roadmap
|
||||
|
||||
**Current phase**: [N — name] (`phase[N]-milestones.md`)
|
||||
**Current milestone**: [NN — name]
|
||||
|
||||
## Milestones
|
||||
## Phases and Milestones
|
||||
|
||||
| # | Name | Goal | Features | Status |
|
||||
|---|------|------|----------|--------|
|
||||
| 01 | [name] | [one-line goal] | [count] | Not started / In progress / Completed |
|
||||
| 02 | [name] | [one-line goal] | [count] | Not started |
|
||||
| Phase | File | Milestone | Name | Goal | Features | Status |
|
||||
|-------|------|-----------|------|------|----------|--------|
|
||||
| 1 | `phase1-milestones.md` | 01 | [name] | [one-line goal] | [count] | Not started / In progress / Completed |
|
||||
| 1 | `phase1-milestones.md` | 02 | [name] | [one-line goal] | [count] | Not started |
|
||||
| 2 | `phase2-milestones.md` | 03 | [name] | [one-line goal] | [count] | Not started |
|
||||
|
||||
## Ordering Rationale
|
||||
|
||||
|
||||
Reference in New Issue
Block a user