plan-sprint
Plan a sprint by refining backlog items, defining a sprint goal, calculating team capacity, selecting items, and decomposing them into tasks. Produces a SPRINT-PLAN.md with goal, selected items, task breakdown, and capacity allocation. Use when starting a new sprint in a Scrum or agile project, re-planning after significant scope change, transitioning from ad-hoc work to structured sprint cadence, or after backlog grooming when items are ready for inclusion.
Best use case
plan-sprint is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Plan a sprint by refining backlog items, defining a sprint goal, calculating team capacity, selecting items, and decomposing them into tasks. Produces a SPRINT-PLAN.md with goal, selected items, task breakdown, and capacity allocation. Use when starting a new sprint in a Scrum or agile project, re-planning after significant scope change, transitioning from ad-hoc work to structured sprint cadence, or after backlog grooming when items are ready for inclusion.
Teams using plan-sprint should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/plan-sprint/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How plan-sprint Compares
| Feature / Agent | plan-sprint | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Plan a sprint by refining backlog items, defining a sprint goal, calculating team capacity, selecting items, and decomposing them into tasks. Produces a SPRINT-PLAN.md with goal, selected items, task breakdown, and capacity allocation. Use when starting a new sprint in a Scrum or agile project, re-planning after significant scope change, transitioning from ad-hoc work to structured sprint cadence, or after backlog grooming when items are ready for inclusion.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Plan a Sprint
Plan a time-boxed sprint by selecting refined backlog items up to team capacity, defining a clear sprint goal, and decomposing selected items into actionable tasks. This skill produces a complete sprint plan that guides team work for the duration of the sprint iteration.
## When to Use
- Starting a new sprint in a Scrum or agile project
- Re-planning a sprint after significant scope change
- Transitioning from ad-hoc work to structured sprint cadence
- After backlog grooming when items are ready for sprint inclusion
- Planning the first sprint after project charter approval
## Inputs
- **Required**: Product backlog (prioritized, with estimates)
- **Required**: Sprint duration (typically 1-2 weeks)
- **Required**: Team members and their availability
- **Optional**: Previous sprint velocity (story points or items completed)
- **Optional**: Sprint number and date range
- **Optional**: Carry-over items from previous sprint
## Procedure
### Step 1: Review and Refine Backlog Items
Read the current BACKLOG.md. For each candidate item near the top of the backlog, verify it has:
- Clear title and description
- Acceptance criteria (testable conditions)
- Estimate (story points or T-shirt size)
- No unresolved blockers
Refine any items missing these elements. Split items estimated larger than half the sprint capacity into smaller, more manageable pieces.
**Got:** Top 10-15 backlog items are "sprint-ready" with acceptance criteria and estimates.
**If fail:** If items lack acceptance criteria, write them now. If items can't be estimated, schedule a refinement conversation and select only ready items.
### Step 2: Define Sprint Goal
Write a single clear sprint goal — one sentence stating what the sprint will achieve. The goal should be:
- Achievable within the sprint duration
- Valuable to stakeholders
- Testable (you can verify it was met at sprint end)
```markdown
**Sprint Goal**: [One sentence describing the objective]
```
Example: "Enable users to reset their password through email verification with two-factor authentication."
**Got:** Sprint goal articulated as one clear, testable sentence.
**If fail:** If no coherent goal emerges, the backlog priorities may be scattered — consult the product owner to focus on a single valuable outcome.
### Step 3: Calculate Team Capacity
Calculate available person-days for each team member:
```markdown
## Team Capacity
| Team Member | Available Days | Overhead (%) | Net Capacity |
|-------------|---------------|-------------|--------------|
| [Name] | [Sprint days - PTO] | 20% | [Available × 0.8] |
| [Name] | [Sprint days - PTO] | 20% | [Available × 0.8] |
| **Total** | | | **[Sum] person-days** |
```
Overhead accounts for meetings, reviews, ad-hoc requests (typically 15-25%).
If using story points: use previous sprint velocity as capacity. If first sprint, use 60-70% of theoretical maximum.
**Got:** Capacity calculated in person-days or story points with documented assumptions.
**If fail:** If no historical velocity exists, be conservative — plan to 60% capacity and adjust after the sprint. Better to under-commit and deliver than over-commit and fail.
### Step 4: Select Items and Compose Sprint Backlog
Select items from the top of the product backlog until capacity is reached. Decompose each selected item into tasks (2-8 hours each):
```markdown
# Sprint Plan: Sprint [N]
## Document ID: SP-[PROJECT]-S[NNN]
### Sprint Details
- **Sprint Goal**: [From Step 2]
- **Duration**: [Start date] to [End date]
- **Capacity**: [From Step 3] person-days / [N] story points
- **Team**: [List team members]
### Sprint Backlog
| ID | Item | Points | Tasks | Assignee | Status |
|----|------|--------|-------|----------|--------|
| B-001 | [Item title] | 5 | 4 | [Name] | To Do |
| B-002 | [Item title] | 3 | 3 | [Name] | To Do |
| B-003 | [Item title] | 8 | 6 | [Name] | To Do |
| **Total** | | **16** | **13** | | |
### Task Breakdown
#### B-001: [Item title]
**Acceptance Criteria**: [From backlog item]
- [ ] Task 1: [Description] (4h, [Assignee])
- [ ] Task 2: [Description] (2h, [Assignee])
- [ ] Task 3: [Description] (4h, [Assignee])
- [ ] Task 4: [Description] (2h, [Assignee])
#### B-002: [Item title]
**Acceptance Criteria**: [From backlog item]
- [ ] Task 1: [Description] (3h, [Assignee])
- [ ] Task 2: [Description] (4h, [Assignee])
- [ ] Task 3: [Description] (2h, [Assignee])
#### B-003: [Item title]
**Acceptance Criteria**: [From backlog item]
- [ ] Task 1: [Description] (3h, [Assignee])
- [ ] Task 2: [Description] (4h, [Assignee])
- [ ] Task 3: [Description] (2h, [Assignee])
- [ ] Task 4: [Description] (3h, [Assignee])
- [ ] Task 5: [Description] (4h, [Assignee])
- [ ] Task 6: [Description] (2h, [Assignee])
### Risks and Dependencies
| Risk | Impact | Mitigation |
|------|--------|-----------|
| [Risk 1] | [Impact] | [Mitigation] |
| [Risk 2] | [Impact] | [Mitigation] |
### Carry-Over from Previous Sprint
| ID | Item | Reason | Remaining Effort |
|----|------|--------|-----------------|
| B-XXX | [Item] | [Reason] | [Hours/points] |
```
**Got:** Sprint backlog with items selected up to capacity, each decomposed into tasks with time estimates.
**If fail:** If total points exceed capacity, remove the lowest-priority item. Never exceed capacity by more than 10%. If dependencies block sequencing, re-order or defer items.
### Step 5: Document Commitments and Save
Write the sprint plan to `SPRINT-PLAN.md` (or `SPRINT-PLAN-S[NNN].md` for archival). Confirm:
- Sprint goal is achievable with selected items
- No team member is overallocated (>100% capacity)
- Dependencies between items are sequenced correctly
- Carry-over items are accounted for in capacity
- All acceptance criteria copied from backlog items
Run a final validation:
```bash
# Check that total task hours align with capacity
grep -A 100 "Task Breakdown" SPRINT-PLAN.md | grep -o '([0-9]*h' | sed 's/[^0-9]//g' | awk '{sum+=$1} END {print "Total hours:", sum}'
```
**Got:** SPRINT-PLAN.md created with complete sprint backlog and task breakdown. Total hours should be ≤80% of available person-days × 8 hours.
**If fail:** If commitments don't align with goal, revisit item selection in Step 4. If task hours exceed capacity, remove the last item or decompose tasks more granularly.
## Validation
- [ ] Sprint goal is one clear, testable sentence
- [ ] Team capacity calculated with documented assumptions (overhead %, PTO accounted)
- [ ] Selected items do not exceed capacity (points or person-days)
- [ ] Every selected item has acceptance criteria copied into task breakdown
- [ ] Every selected item is decomposed into tasks (2-8 hours each)
- [ ] No team member overallocated beyond 100% capacity
- [ ] Carry-over items from previous sprint documented with remaining effort
- [ ] Dependencies between items sequenced correctly
- [ ] Risks and mitigations documented
- [ ] SPRINT-PLAN.md file created and saved
## Pitfalls
- **No sprint goal**: Without a goal, the sprint is just a bag of tasks. The goal provides focus and a basis for scope decisions mid-sprint.
- **Over-commitment**: Planning to 100% capacity ignores interruptions, bugs, and overhead. Plan to 70-80% to leave buffer for the unexpected.
- **Tasks too large**: Tasks over 8 hours hide complexity and make progress tracking difficult. Decompose until tasks are 2-8 hours.
- **Ignoring carry-over**: Unfinished items from the last sprint consume capacity this sprint. Account for them explicitly in capacity calculations.
- **Sprint goal as item list**: "Complete B-001, B-002, B-003" is not a goal. A goal describes the outcome: "Users can reset their password through email verification."
- **No task ownership**: Every task should have an assignee at planning time to surface capacity conflicts early.
- **Skipping acceptance criteria**: Tasks without acceptance criteria can't be tested. Copy acceptance criteria from backlog items into the task breakdown section.
## Related Skills
- `manage-backlog` — maintain and prioritize the product backlog that feeds sprint planning
- `draft-project-charter` — provides project context and initial scope for the first sprint
- `generate-status-report` — report sprint progress and velocity to stakeholders
- `conduct-retrospective` — review sprint execution and improve the planning process
- `create-work-breakdown-structure` — WBS work packages can feed the backlog in hybrid agile-waterfall approachesRelated Skills
plan-tour-route
Plan a multi-stop tour route with waypoint optimization, drive/walk time estimation, and POI discovery along the route using OSM data. Covers geocoding, nearest-neighbor and TSP-based ordering, time/distance matrix calculation, and itinerary generation with points of interest. Use when planning a road trip or walking tour with multiple destinations, optimizing visit order to minimize travel time, discovering sites along a route, or comparing driving versus walking versus public transport options.
plan-spectroscopic-analysis
Plan a comprehensive spectroscopic analysis campaign by defining the analytical question, assessing sample characteristics, selecting appropriate techniques using a decision matrix, planning sample preparation for each technique, sequencing analyses from non-destructive to destructive, and defining success criteria with a cross-validation strategy.
plan-release-cycle
Plan a software release cycle with milestones, feature freezes, release candidates, and go/no-go criteria. Covers calendar-based and feature-based release strategies. Use when starting planning for a major or minor version release, transitioning from ad-hoc to structured release cadence, coordinating a release across multiple teams or components, defining quality gates for a regulated project, or planning the first public release (v1.0.0) of a project.
plan-hiking-tour
Plan a hiking tour with trail selection by difficulty (SAC/UIAA), time estimation using Munter's formula, elevation analysis, and safety assessment. Covers multi-day hut-to-hut tours, day hikes, and alpine routes with terrain classification and group fitness considerations. Use when planning a day hike or multi-day trekking tour, selecting trails appropriate for a group's fitness and experience, estimating realistic hiking times, or planning hut-to-hut tours with overnight logistics.
plan-garden-calendar
Plan garden activities using solar, lunar, and biodynamic calendars. Covers USDA hardiness zones, frost date calculation, equinox/solstice anchoring, synodic lunar cycle (waxing/waning), ascending/descending moon, Maria Thun biodynamic calendar (root/leaf/flower/fruit days), succession planting schedules, and seasonal task planning. Use when planning a new growing season and needing a planting schedule, integrating lunar or biodynamic timing into garden practice, calculating frost dates and planting windows for a specific zone, setting up succession planting for continuous harvest, or conducting end-of-season review.
plan-eu-relocation
Plan a complete EU/DACH relocation timeline with dependency mapping between bureaucratic steps, deadline tracking, and country-specific procedure identification. Use when planning a move between EU/DACH countries, relocating from a non-EU country to an EU/DACH destination, coordinating employment-based relocation with employer HR, managing a relocation with tight deadlines, or when needing a single document that maps the entire relocation process end-to-end.
plan-capacity
Perform capacity planning using historical metrics and growth models. Use predict_linear for forecasting, identify resource constraints, calculate headroom, and recommend scaling actions before saturation. Use before seasonal traffic spikes or product launches, during quarterly capacity reviews, when resource utilization trends upward, or before budget planning cycles.
forage-plants
Identify and safely gather edible and useful wild plants. Covers safety rules and deadly plant recognition, habitat reading, multi-feature identification methodology, the universal edibility test, sustainable harvesting practices, preparation methods, reaction monitoring, and building knowledge with beginner-friendly universal species. Use when supplementing food supply in a wilderness or survival setting, needing medicinal or utility plants, identifying plants around camp for safety, or in long-term scenarios where foraging extends available rations.
skill-name-here
One to three sentences describing what this skill accomplishes, followed by key activation triggers. This field is the primary mechanism agents use to decide whether to activate the skill — it is read during discovery before the full body is loaded. Start with a verb. Include the most important "when to use" conditions inline. Max 1024 characters.
write-vignette
Create R package vignettes using R Markdown or Quarto. Covers vignette setup, YAML configuration, code chunk options, building and testing, and CRAN requirements for vignettes. Use when adding a Getting Started tutorial, documenting complex workflows spanning multiple functions, creating domain-specific guides, or when CRAN submission requires user-facing documentation beyond function help pages.
write-validation-documentation
Write IQ/OQ/PQ validation documentation for computerized systems in regulated environments. Covers protocols, reports, test scripts, deviation handling, and approval workflows. Use when validating R or other software for regulated use, preparing for a regulatory audit, documenting qualification of computing environments, or creating and updating validation protocols and reports for new or re-qualified systems.
write-testthat-tests
Write comprehensive testthat (edition 3) tests for R package functions. Covers test organization, expectations, fixtures, mocking, snapshot tests, parameterized tests, and achieving high coverage. Use when adding tests for new package functions, increasing test coverage for existing code, writing regression tests for bug fixes, or setting up test infrastructure for a package that lacks it.