Use when breaking down a project into epics, stories, tasks with sprint planning. Use when adding features, restructuring sprints for priority changes, auditing completion against code, or updating plan status. Use when user says plan, roadmap, backlog, sprint, epic, story breakdown.
Structured project management that bridges high-level roadmap planning with day-to-day execution. Breaks work into Phase > Epic > Story > Task hierarchy with acceptance criteria, sprint planning, and day-wise execution plans. All artifacts are markdown files in docs/project-management/.
digraph modes {
"What do you need?" [shape=diamond];
"Plan exists?" [shape=diamond];
"create" [label="Create Plan" shape=box];
"add" [label="Add Epic/Story" shape=box];
"restructure" [label="Restructure Sprints" shape=box];
"update" [label="Update Status" shape=box];
"audit" [label="Audit Completion" shape=box];
"What do you need?" -> "Plan exists?" [label="new work"];
"Plan exists?" -> "create" [label="no"];
"Plan exists?" -> "add" [label="yes"];
"What do you need?" -> "restructure" [label="priority change"];
"What do you need?" -> "update" [label="feature done"];
"What do you need?" -> "audit" [label="verify completion"];
}
| Mode | Trigger | What It Does |
|---|---|---|
| Create | New project, no plan exists | Full breakdown: phase, epics, stories, tasks, sprints, execution plan |
| Add | New feature/epic to existing plan | Create epic + stories, slot into existing sprints or create new ones |
| Restructure | Priority change, hotfix, scope change | Re-sequence sprints, move stories, update execution plans |
| Update | Story/epic completed | Mark tasks/acceptance done, update sprint status, progress snapshots |
| Audit | Verify feature completion | Check docs + scan codebase for deliverables, flag gaps |
docs/project-management/
├── README.md # Project overview + phase index
└── phase-{N}-{name}/
├── README.md # Phase overview
├── epics/
│ ├── README.md # Epic backlog index
│ └── epic-{NN}-{name}/
│ ├── README.md # Epic summary + story table
│ └── stories/
│ ├── README.md # Story index
│ └── story-e{NN}-s{NN}-{name}/
│ ├── README.md # Story overview
│ ├── tasks.md # Task breakdown with checkboxes
│ └── acceptance.md # Acceptance criteria
└── sprints/
├── README.md # Sprint index table
└── sprint-{NN}-{name}/
├── README.md # Sprint scope + exit criteria
└── execution-plan.md # Day-wise sequencing
| Entity | Format | Example |
|---|---|---|
| Epic | E{NN} | E01, E02 |
| Story | E{NN}-S{NN} | E01-S01, E03-S02 |
| Sprint | SPR-{NN} | SPR-01, SPR-02 |
| Task | T{N} | T1, T2 (within story) |
| Phase | phase-{N}-{name} | phase-1-mvp |
Directory names: kebab-case. Example: epic-01-auth-and-onboarding, story-e01-s03-store-resolution.
# E{NN} - {Epic Name}
{Brief description of epic goal — 1-2 sentences.}
## Priority
{HIGH | MEDIUM | LOW} - {Justification if HIGH}
## Dependencies
- {E{NN} - Name} (if applicable)
- None
## Sprint Coverage
- Sprint {N}
- Sprint {N+1} (if spans multiple)
## Stories
| Story ID | Story | Sprint | Planned Window | Status |
| --------- | ---------------------------------------------------- | ---------- | ------------------ | ------- |
| E{NN}-S01 | [{Name}](./stories/story-e{nn}-s01-{name}/README.md) | Sprint {N} | Week {X} Day {Y-Z} | Planned |
## Progress Snapshot ({YYYY-MM-DD})
- [ ] E{NN}-S01 {name}
- [ ] E{NN}-S02 {name}
## Story Folder
- [Story Index](./stories/README.md)
# E{NN}-S{NN} - {Story Name}
## Overview
- Epic: [E{NN} - {Epic Name}](../../README.md)
- Sprint: Sprint {N}
- Planned window: Week {X} Day {Y-Z}
- Status: Planned
## Goal
{Single sentence — what this story accomplishes.}
## Deliverables
- {Concrete output 1}
- {Concrete output 2}
- {Concrete output 3}
## Dependencies
- [{E{NN}-S{NN}}](../path/to/dependency/README.md)
- None
## Detail Files
- [Task Breakdown](./tasks.md)
- [Acceptance Criteria](./acceptance.md)
# E{NN}-S{NN} Task Breakdown
## Execution Checklist
## T1. {Task group name}
- [ ] {Actionable subtask with technical detail}
- [ ] {Another subtask}
## T2. {Next task group}
- [ ] {Subtask}
- [ ] {Subtask}
## T3. {Testing/validation group}
- [ ] {Test subtask}
---
Total Estimate: {X} hours ({Y} days)
Task grouping conventions: Group by functional concern (data model, API, UI, testing), not chronologically.
# E{NN}-S{NN} Acceptance Criteria
- [ ] {User-facing outcome — what, not how}
- [ ] {Another outcome}
- [ ] {Technical validation if appropriate}
## Verification Notes
- Capture evidence links (PR, screenshots, logs, test reports).
- Mark criteria done only after review and demo sign-off.
Write acceptance criteria as outcomes: "User can create and list products" not "Build product API endpoints."
# Sprint {N} - {Name}
## Status: Planned
## Scope
- Sprint ID: SPR-{NN}
- Duration: Weeks {X}-{Y}
- Goal: {Single sentence sprint objective}
## Committed Stories
| Story ID | Story | Epic | Planned Window |
| ----------- | -------------------------- | ----- | ------------------ |
| E{NN}-S{NN} | [{Name}](path/to/tasks.md) | E{NN} | Week {X} Day {Y-Z} |
## Exit Criteria
- [ ] {Sprint-level success criterion}
- [ ] {Another criterion}
## Detailed Plan
- [Execution Plan](./execution-plan.md)
# SPR-{NN} Execution Plan
## Week {X} Day {Y-Z}
- [ ] [E{NN}-S{NN} - {Name}](../../epics/epic-{nn}-{name}/stories/story-e{nn}-s{nn}-{name}/tasks.md)
## Week {X} Day {Y-Z}
- [ ] [E{NN}-S{NN} - {Name}](path/to/tasks.md)
## Sprint Cadence
- Daily standup: track blockers and story progress.
- Mid-sprint review: re-plan only if exit criteria are at risk.
- Sprint demo and retrospective: capture carry-over decisions explicitly.
Time windows: Week {X} Day {Y} or Week {X} Day {Y-Z}. Sprints are 2 weeks (10 working days).
When starting from scratch:
Dependency ordering: Foundation/infrastructure epics first. Stories within an epic should have clear dependency chains noted in their README.md.
Sprint capacity: ~5-8 stories per 2-week sprint depending on story size. Don't overload.
When adding work to an existing plan:
ID sequencing: New epics get next available E{NN}. New stories get next S{NN} within their epic.
When priorities change (hotfix, scope change, customer escalation):
Priority: HIGH markerNever silently drop stories. Displaced stories must land in a specific sprint, not disappear.
When work is completed:
tasks.md ([x])acceptance.mdStatus: Planned → Done in story READMEStatus: Done## Verification Snapshot ({YYYY-MM-DD})
- Auth flow implemented in `apps/api/src/modules/auth/auth.service.ts`
- Tests pass: `pnpm test` (15 tests passing)
- PR: #{number}
When verifying that a feature is truly done (doc + code audit):
## Audit: E{NN}-S{NN} ({YYYY-MM-DD})
### Acceptance Criteria
- [x] {Criterion 1} — Verified: {file/endpoint}
- [ ] {Criterion 2} — GAP: {what's missing}
### Tasks
- T1: 4/4 complete
- T2: 3/5 complete — Missing: {specific subtasks}
### Code Verification
- {endpoint}: Found at {path} ✓
- {component}: NOT FOUND ✗
- Tests: {N}/{M} passing
### Verdict: PASS | GAPS FOUND
| Mistake | Fix |
|---|---|
| Acceptance criteria describe implementation steps | Write user-facing outcomes: "User can X" not "Build X endpoint" |
| Stories too large (>5 days) | Split into 2-3 smaller stories |
| Stories too small (<0.5 days) | Merge with related story |
| Missing dependency links | Every story README must list dependencies or "None" |
| Sprint overloaded | Max 5-8 stories per 2-week sprint |
| Tasks without checkboxes | Every subtask must be a - [ ] checkbox |
| Updating code without updating plan | After completing work, always run Update Status mode |
| Dropping stories during restructure | Displaced stories must land in a named sprint |
| IDs out of sequence | Always use next available number, never reuse |
| No verification snapshot | Add date-stamped evidence when marking story Done |
Create: Scope → Epics → Stories → Tasks → Acceptance → Sprints → Execution Plans → All Files
Add: Read existing → Create files with correct IDs → Assign sprint → Update all indexes
Restructure: Read state → Create new work → Move displaced stories → Update all refs → Flag risks
Update: tasks.md [x] → acceptance.md [x] → story status → epic progress → sprint status → verification snapshot
Audit: Read acceptance → Read tasks → Scan code → Flag gaps → Generate report