Files
Claude-Code-Game-Studios/.claude/skills/sprint-plan/SKILL.md
Donchitos b139bcf087 Add director gates system: shared review checkpoints across all workflow skills
Creates .claude/docs/director-gates.md as a central registry of 18 named gate
prompts (CD-*, TD-*, PR-*, LP-*, QL-*, ND-*, AD-*) covering all 7 production
stages. Skills now reference gate IDs instead of embedding inline director prompts,
eliminating drift when prompts need updating.

Updated 15 skills to use gate IDs: brainstorm, map-systems, design-system,
architecture-decision, create-architecture, create-epics, create-stories,
sprint-plan, milestone-review, playtest-report, prototype, story-done,
gate-check, setup-engine, start.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 17:24:06 +11:00

5.4 KiB

name, description, argument-hint, user-invocable, allowed-tools, context
name description argument-hint user-invocable allowed-tools context
sprint-plan Generates a new sprint plan or updates an existing one based on the current milestone, completed work, and available capacity. Pulls context from production documents and design backlogs. [new|update|status] true Read, Glob, Grep, Write, Edit !ls production/sprints/ 2>/dev/null

Phase 1: Gather Context

  1. Read the current milestone from production/milestones/.

  2. Read the previous sprint (if any) from production/sprints/ to understand velocity and carryover.

  3. Scan design documents in design/gdd/ for features tagged as ready for implementation.

  4. Check the risk register at production/risk-register/.


Phase 2: Generate Output

For new:

Generate a sprint plan following this format and present it to the user. Ask: "May I write this sprint plan to production/sprints/sprint-[N].md?" If yes, write the file, creating the directory if needed. Verdict: COMPLETE — sprint plan created. If no: Verdict: BLOCKED — user declined write.

# Sprint [N] -- [Start Date] to [End Date]

## Sprint Goal
[One sentence describing what this sprint achieves toward the milestone]

## Capacity
- Total days: [X]
- Buffer (20%): [Y days reserved for unplanned work]
- Available: [Z days]

## Tasks

### Must Have (Critical Path)
| ID | Task | Agent/Owner | Est. Days | Dependencies | Acceptance Criteria |
|----|------|-------------|-----------|-------------|-------------------|

### Should Have
| ID | Task | Agent/Owner | Est. Days | Dependencies | Acceptance Criteria |
|----|------|-------------|-----------|-------------|-------------------|

### Nice to Have
| ID | Task | Agent/Owner | Est. Days | Dependencies | Acceptance Criteria |
|----|------|-------------|-----------|-------------|-------------------|

## Carryover from Previous Sprint
| Task | Reason | New Estimate |
|------|--------|-------------|

## Risks
| Risk | Probability | Impact | Mitigation |
|------|------------|--------|------------|

## Dependencies on External Factors
- [List any external dependencies]

## Definition of Done for this Sprint
- [ ] All Must Have tasks completed
- [ ] All tasks pass acceptance criteria
- [ ] No S1 or S2 bugs in delivered features
- [ ] Design documents updated for any deviations
- [ ] Code reviewed and merged

For status:

Generate a status report:

# Sprint [N] Status -- [Date]

## Progress: [X/Y tasks complete] ([Z%])

### Completed
| Task | Completed By | Notes |
|------|-------------|-------|

### In Progress
| Task | Owner | % Done | Blockers |
|------|-------|--------|----------|

### Not Started
| Task | Owner | At Risk? | Notes |
|------|-------|----------|-------|

### Blocked
| Task | Blocker | Owner of Blocker | ETA |
|------|---------|-----------------|-----|

## Burndown Assessment
[On track / Behind / Ahead]
[If behind: What is being cut or deferred]

## Emerging Risks
- [Any new risks identified this sprint]

Phase 3: Write Sprint Status File

After generating a new sprint plan, also write production/sprint-status.yaml. This is the machine-readable source of truth for story status — read by /sprint-status, /story-done, and /help without markdown parsing.

Ask: "May I also write production/sprint-status.yaml to track story status?"

Format:

# Auto-generated by /sprint-plan. Updated by /story-done.
# DO NOT edit manually — use /story-done to update story status.

sprint: [N]
goal: "[sprint goal]"
start: "[YYYY-MM-DD]"
end: "[YYYY-MM-DD]"
generated: "[YYYY-MM-DD]"
updated: "[YYYY-MM-DD]"

stories:
  - id: "[epic-story, e.g. 1-1]"
    name: "[story name]"
    file: "[production/stories/path.md]"
    priority: must-have        # must-have | should-have | nice-to-have
    status: ready-for-dev      # backlog | ready-for-dev | in-progress | review | done | blocked
    owner: ""
    estimate_days: 0
    blocker: ""
    completed: ""

Initialize each story from the sprint plan's task tables:

  • Must Have tasks → priority: must-have, status: ready-for-dev
  • Should Have tasks → priority: should-have, status: backlog
  • Nice to Have tasks → priority: nice-to-have, status: backlog

For update: read the existing sprint-status.yaml, carry over statuses for stories that haven't changed, add new stories, remove dropped ones.


Phase 4: Producer Feasibility Gate

Before finalising the sprint plan, spawn producer via Task using gate PR-SPRINT (.claude/docs/director-gates.md).

Pass: proposed story list (titles, estimates, dependencies), total team capacity in hours/days, any carryover from the previous sprint, milestone constraints and deadline.

Present the producer's assessment. If UNREALISTIC, revise the story selection (defer stories to Should Have or Nice to Have) before asking for write approval. If CONCERNS, surface them and let the user decide whether to adjust.

After handling the producer's verdict, add:

Scope check: If this sprint includes stories added beyond the original epic scope, run /scope-check [epic] to detect scope creep before implementation begins.


Phase 5: Next Steps

After the sprint plan is written, recommend:

  • /sprint-status — check progress mid-sprint
  • /scope-check [epic] — verify no scope creep before implementation begins
  • /dev-story [story-file] — begin implementing the first story
  • /story-readiness [story-file] — validate a story is ready before starting it