Files
Ken Yasue 92d34e2814 Add milestone planning phase between /generate-app and /add-feature
- New command /plan-milestones: generates docs/milestones/ (roadmap.md + one document per milestone with its features, acceptance criteria, and ready-to-run /add-feature commands)
- New skill milestone-planning: MVP-first vertical-slice planning rules + milestone/roadmap templates
- /add-feature: reads the feature's milestone document before planning and checks the feature off (updating milestone/roadmap status) in Step 8
- Workflow diagrams, CLAUDE.md, README, and settings.json updated for the new phase

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 10:14:32 +02:00

4.5 KiB
Raw Blame History

name description allowed-tools
milestone-planning Guide for planning development milestones and generating milestone documents with a feature breakdown. Use when planning milestones, a release roadmap, or deciding implementation order under docs/milestones/. Read, Write, Edit

Milestone Planning Skill

This skill explains how to break a product into ordered milestones and produce milestone documents under docs/milestones/. The documents are the bridge between the specification (docs/) and implementation (/add-feature): every feature in every milestone is sized to be implemented with one /add-feature run.

Core Principles

  1. MVP first: Milestone 1 is the smallest coherent, end-to-end usable product. Not a layer (e.g. "all the models"), but a vertical slice a user could actually use.
  2. Vertical slices: Each feature cuts through UI → logic → data. Avoid horizontal milestones like "backend milestone" / "frontend milestone".
  3. One feature = one /add-feature run: If a feature needs more than one steering directory to implement, split it. If it is a one-line change, merge it into a neighbor.
  4. Dependency order: A feature never lands in an earlier milestone than something it depends on.
  5. Exactly-once assignment: Every feature belongs to exactly one milestone. Deliberately deferred items go to the roadmap's "Later / Icebox" — nothing silently disappears.
  6. Living documents: Milestone documents track status. /add-feature checks off a feature ([ ][x]) when it completes, and the roadmap status is updated when a milestone finishes.

Inputs

Before planning, read:

  • docs/product-requirements.md — user stories, priorities (P0/P1/P2), success metrics
  • docs/functional-design.md — functional modules and data flows
  • docs/architecture.md — technical constraints and dependencies
  • docs/design/ui-blueprint.json (if present) — screens and user actions
  • docs/ideas/* (if present)

Outputs

docs/milestones/
├── roadmap.md                      # Overview: milestone table, ordering rationale, icebox
├── milestone-01-[name].md          # MVP
├── milestone-02-[name].md
└── milestone-NN-[name].md

File naming: milestone-[NN]-[kebab-case-name].md (e.g. milestone-01-mvp.md, milestone-02-collaboration.md).

Use the structure in template.md for each milestone document.

How to Slice Features

A well-sized feature:

  • Delivers observable user value (or unblocks one that does)
  • Touches one primary screen/flow (may touch shared components)
  • Has 37 acceptance criteria
  • Can be described in one sentence starting with a verb ("Edit user profile", "Filter tasks by tag")
  • Works verbatim as a command argument: /add-feature Edit user profile

Too big (split it): "User management" → "Register account", "Log in / log out", "Edit user profile", "Reset password". Too small (merge it): "Change button color" → fold into the feature that owns that screen.

How to Group Milestones

  1. Tag every feature with its PRD priority and its dependencies.
  2. Milestone 1 (MVP): the minimal dependency-closed set of P0 features that forms a usable product walk-through (a user can start, do the core job, and finish).
  3. Following milestones: group remaining features by theme and priority, keeping each milestone a meaningful release on its own ("after milestone N ships, the user can additionally …").
  4. Prefer 24 milestones with 38 features each. More than ~8 features in one milestone usually means it should be split.

Status Tracking Rules

  • Feature status lives only in the feature checkbox of its milestone document.
  • Milestone status (Not started / In progress / Completed) lives in both the milestone document header and the roadmap table — keep them in sync.
  • /add-feature Step 8 updates the feature checkbox and, when the last feature of a milestone completes, the milestone and roadmap statuses.
  • Re-planning (adding/moving/removing features) must update both the milestone document(s) and roadmap.md in the same change.

Consistency Checklist

Before finishing:

  • Every P0/P1 PRD requirement maps to a feature in some milestone (or is explicitly in the icebox).
  • Every feature appears in exactly one milestone.
  • No feature precedes one of its dependencies.
  • Milestone 1 is a usable end-to-end product on its own.
  • Every feature has acceptance criteria and a ready-to-run /add-feature command line.
  • roadmap.md table matches the milestone documents (names, counts, statuses).