From agent-almanac
Plans sprints in Scrum/agile projects: refines backlog items, defines sprint goal, calculates team capacity, selects items, decomposes into tasks, outputs SPRINT-PLAN.md. Use for new sprints or re-planning.
npx claudepluginhub pjt222/agent-almanacThis skill uses the workspace's default tool permissions.
---
Plans sprints by estimating capacity (PTO/meetings), prioritizing backlog, setting goals, identifying risks, and generating markdown plans. For kickoffs, sizing against availability, P0 decisions, carryover.
Generates sprint plans with goals, prioritized backlogs, story point estimates, capacity breakdowns, agendas, and risks from user-provided backlog items.
Plans sprints by estimating team capacity from velocity and availability, selecting stories from backlog, mapping dependencies, identifying risks, and defining sprint goals. Use for sprint planning, story selection, or capacity balancing.
Share bugs, ideas, or general feedback.
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.
Read the current BACKLOG.md. For each candidate item near the top of the backlog, verify it has:
Refine any items missing these elements. Split items estimated larger than half the sprint capacity into smaller, more manageable pieces.
Expected: Top 10-15 backlog items are "sprint-ready" with acceptance criteria and estimates.
On failure: If items lack acceptance criteria, write them now. If items can't be estimated, schedule a refinement conversation and select only ready items.
Write a single clear sprint goal — one sentence stating what the sprint will achieve. The goal should be:
**Sprint Goal**: [One sentence describing the objective]
Example: "Enable users to reset their password through email verification with two-factor authentication."
Expected: Sprint goal articulated as one clear, testable sentence.
On failure: If no coherent goal emerges, the backlog priorities may be scattered — consult the product owner to focus on a single valuable outcome.
Calculate available person-days for each team member:
## 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.
Expected: Capacity calculated in person-days or story points with documented assumptions.
On failure: 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.
Select items from the top of the product backlog until capacity is reached. Decompose each selected item into tasks (2-8 hours each):
# 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] |
Expected: Sprint backlog with items selected up to capacity, each decomposed into tasks with time estimates.
On failure: 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.
Write the sprint plan to SPRINT-PLAN.md (or SPRINT-PLAN-S[NNN].md for archival). Confirm:
Run a final validation:
# 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}'
Expected: SPRINT-PLAN.md created with complete sprint backlog and task breakdown. Total hours should be ≤80% of available person-days × 8 hours.
On failure: 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.
manage-backlog — maintain and prioritize the product backlog that feeds sprint planningdraft-project-charter — provides project context and initial scope for the first sprintgenerate-status-report — report sprint progress and velocity to stakeholdersconduct-retrospective — review sprint execution and improve the planning processcreate-work-breakdown-structure — WBS work packages can feed the backlog in hybrid agile-waterfall approaches