| name | plan-sprint |
| description | Create a sprint plan for a new development cycle. Use when starting a new sprint, after completing wrapup-sprint, or when initializing Sprint 1 for a new project. |
| metadata | {"author":"Georges Martin <jrjsmrtn@gmail.com>","version":"0.1.25"} |
| license | MIT |
Plan Sprint
Create a sprint plan for a new development cycle.
When to Use
- Starting a new sprint
- After completing
wrapup-sprint for previous sprint
- When initializing Sprint 1 for a new project
Required Inputs
- Sprint number (e.g., 1, 2, 3)
- Sprint goal (1-2 sentence objective)
- Deliverables or user stories with acceptance criteria
Workflow
Step 1: Determine Sprint Context
Check current project state:
date +%Y-%m-%d
git describe --tags --abbrev=0 2>/dev/null || echo "No tags yet"
ls docs/sprints/sprint-*-plan.md 2>/dev/null | tail -1
cat docs/roadmap/roadmap.md 2>/dev/null | head -30
Calculate:
- Sprint number: Previous + 1, or 1 if first sprint
- Target version: Current patch + 1 (e.g., v0.1.2 → v0.1.3)
- Current phase: From roadmap (e.g., "Phase 1: Foundation")
- Start date: Today
Step 2: Choose Sprint Plan Format
Two formats are available. Choose based on project type:
- Minimal — for technical/infrastructure projects or highly focused sprints: deliverables with acceptance criteria, no user stories
- Structured — for user-facing projects or projects needing traceability: user stories with acceptance criteria
Step 3: Create Sprint Plan
Create docs/sprints/sprint-NNNN-plan.md (4-digit zero-padded, e.g., sprint-0001-plan.md):
Minimal Format
# Sprint [N] — [Goal Line]
**Target Version**: v0.1.x
**Phase**: [Current roadmap phase, e.g., "Phase 1: Foundation"]
**Status**: In Progress
**Started**: [Date]
## Goal
[1-2 sentence problem statement — what this sprint accomplishes and why]
## Context
[Only if this sprint builds on prior sprints or requires background. Otherwise omit.]
## Deliverables
### 1. [Component/Module Name]
- [Feature or change 1]
- [Feature or change 2]
### 2. [Another Component]
- [Feature or change 1]
## Files
| Action | File |
|--------|------|
| Create | `path/to/new/file` |
| Modify | `path/to/existing/file` |
## Acceptance Criteria
- [ ] [Specific, verifiable requirement 1]
- [ ] [Specific, verifiable requirement 2]
- [ ] All tests passing
- [ ] Code quality gates pass (format, lint, etc.)
Structured Format
# Sprint [N] Plan
**Target Version**: v0.1.x
**Phase**: [Current roadmap phase, e.g., "Phase 1: Foundation"]
**Duration**: [Start Date] - [End Date]
**Status**: In Progress
## Sprint Goal
[Clear, measurable 1-2 sentence goal that defines success for this sprint]
## User Stories
### Story [N.1]: [Story Title]
**Priority**: High | **Status**: Planned
**User Story**:
> As a [role], I want [feature/capability] so that [benefit/value].
**Acceptance Criteria**:
- [ ] [Criterion 1 - specific, testable]
- [ ] [Criterion 2 - specific, testable]
- [ ] [Criterion 3 - specific, testable]
**BDD Scenarios** (for user-facing projects using Gherkin):
- [ ] Scenario: [Happy path]
- [ ] Scenario: [Edge case or error handling]
**Technical Notes**:
- [Implementation consideration]
- [Dependency or blocker]
**Files Likely Affected**:
- `path/to/file1.ex`
- `path/to/file2.ex`
---
### Story [N.2]: [Story Title]
[Repeat structure for each story]
---
## Technical Tasks
Tasks not tied to specific user stories:
- [ ] [Task 1]
- [ ] [Task 2]
## Dependencies
- [Dependency 1 — what it blocks]
- [Dependency 2 — what it blocks]
## Risks
- [Risk 1] → [Mitigation]
- [Risk 2] → [Mitigation]
## Definition of Done
- [ ] All acceptance criteria met
- [ ] All tests passing
- [ ] Documentation updated
- [ ] CHANGELOG.md updated
- [ ] No critical bugs outstanding
Step 4: Update CLAUDE.md
Update the "Current Development Status" section:
## Current Development Status
- **Current Sprint**: Sprint [N] (see docs/sprints/sprint-[NNNN]-plan.md)
- **Sprint Goal**: [Sprint goal]
- **Next Milestone**: v0.1.x
Step 5: Update Sprint Index
Create or update docs/sprints/README.md:
## Current Status
- **Active Sprint**: Sprint [N]
- **Target Version**: v0.1.x
- **Sprint Goal**: [Goal]
## Sprint Index
| Sprint | Phase | Version | Status | Plan | Retrospective |
|--------|-------|---------|--------|------|---------------|
| [N] | [Phase] | v0.1.x | In Progress | [Plan](sprint-NNNN-plan.md) | - |
| [N-1] | [Phase] | v0.1.y | Complete | [Plan](sprint-MMMM-plan.md) | [Retro](sprint-MMMM-retrospective.md) |
Step 6: Commit Sprint Plan
git add docs/sprints/sprint-NNNN-plan.md
git add docs/sprints/README.md
git add CLAUDE.md
git commit -m "docs: add Sprint N plan (v0.1.x)"
Sprint Planning Tips
- Start with the goal: What's the one thing that defines success?
- Be realistic: Don't overcommit — a focused sprint beats an ambitious one
- Keep deliverables small: If something feels too large, split it
- Surface blockers early: Dependencies and risks belong in the plan, not discovered mid-sprint
Outputs
This skill creates:
Validation
ls docs/sprints/sprint-*-plan.md
grep "Current Sprint" CLAUDE.md
grep "Active Sprint" docs/sprints/README.md
Related Skills
wrapup-sprint - Complete sprint with retrospective
bootstrap-project - Initial project setup (includes Sprint 1)
setup-adrs - Establishes the ADR sequence, including the decision record that documents development and sprint practices