# sprint-plan

> Plans a sprint with capacity estimation, story selection, dependency mapping, and risk identification. Use when preparing for sprint planning, estimating team capacity, or balancing scope against velocity. Triggers on: sprint planning, sprint plan, capacity planning, sprint scope, story points, sprint goal, backlog grooming, sprint prep, what do we build this sprint.

- Skill: `alunadev/sprint-plan` (Agent Skill)
- Install (CLI): `npx skillmds add alunadev/sprint-plan`
- Raw SKILL.md: https://api.skillmd.com/api/skills/alunadev/sprint-plan/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: alunadev (https://skillmd.com/u/alunadev)
- Updated: 2026-08-19
- Page: https://skillmd.com/skills/alunadev/sprint-plan

---


# Sprint Plan

## Core Philosophy

Sprint planning is a commitment, not a wish list. The goal is not to stuff the sprint with as many stories as possible — it's to make a realistic promise the team can keep. An under-committed sprint that ships is better than an over-committed sprint that leaves things half-done.

The sprint goal is the contract. Every story in the sprint should directly serve it.

## When to Use

- Before the start of a new sprint
- When backlog needs to be sequenced and stories need capacity estimates
- When a sprint is at risk and scope needs to be cut

## Workflow

### 1. Set the Sprint Goal

One sentence. What does success look like at the end of this sprint — from a user or business perspective, not an engineering perspective?

- Bad: "Complete stories 45-52"
- Good: "Users can complete onboarding without contacting support"

The sprint goal is the tiebreaker when scope decisions arise mid-sprint.

### 2. Estimate Team Capacity

- List each team member and their availability (working days minus PTO, holidays, on-call)
- Reference velocity from the last 3 sprints (average story points completed)
- Apply a 15-20% buffer for unexpected work, bugs, and interruptions
- Result: Available capacity in story points for this sprint

### 3. Select Stories from the Prioritized Backlog

- Pull from the top of the prioritized backlog (highest priority first)
- Each story must meet the Definition of Ready: clear acceptance criteria, estimated, no open blockers
- Flag stories that need refinement — don't commit to them until they're ready
- Stop adding stories when capacity is reached

### 4. Map Dependencies

- Identify which stories depend on other stories or external teams
- Sequence dependent stories appropriately (don't start Story B before Story A is done)
- Flag external dependencies by name: who owns them, what's the expected date?
- Identify the critical path — the sequence of stories that determines the minimum sprint duration

### 5. Identify Risks

- High uncertainty stories (large unknowns in implementation)
- External dependencies that could slip
- Knowledge concentration (only one person can do it)
- For each risk: suggest a mitigation or a decision point

### 6. Write the Sprint Summary

## Output Format

```
## Sprint Plan — Sprint [N] — [Start Date] to [End Date]

**Sprint Goal**: [One sentence — user or business outcome]

**Team Capacity**
- Available: [X] story points
- Committed: [Y] story points
- Buffer: [Z] story points

**Stories Committed**
| Story | Points | Owner | Dependencies |
|---|---|---|---|
| [Title] | [pts] | [name] | [none / Story X / Team Y] |

**Dependencies**
- [External dependency] — Owner: [name] — Expected: [date]

**Risks**
| Risk | Mitigation |
|---|---|
| [High uncertainty in Story X] | [Spike in Day 1-2 to reduce unknowns] |

**Critical Path**
[Story A] → [Story B] → [Story C]
```

## Antipatterns

- **Optimistic capacity**: Not accounting for meetings, reviews, on-call, or context-switching. Real capacity is typically 60-70% of theoretical hours.
- **No sprint goal**: A sprint with only a story list has no North Star for mid-sprint decisions. When something breaks, what gets cut?
- **Committing unready stories**: Starting a sprint with stories that don't have clear acceptance criteria. They'll block mid-sprint.
- **Ignoring dependencies**: Discovering that Story B can't start because Team X hasn't delivered their API — on Day 3 of the sprint.
- **Velocity as a target**: Velocity is a planning tool, not a performance metric. Pressuring teams to hit a velocity number inflates estimates over time.

