Patterns for sprint planning with Jira - capacity planning, ticket selection, and sprint organization.
View on GitHubplugins/aai-pm-jira/skills/jira-sprint-planning/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/the-answerai/alphaagent-team/blob/main/plugins/aai-pm-jira/skills/jira-sprint-planning/SKILL.md -a claude-code --skill jira-sprint-planningInstallation paths:
.claude/skills/jira-sprint-planning/# Jira Sprint Planning Skill
This skill provides patterns for effective sprint planning using Jira, including capacity planning, ticket prioritization, and sprint organization.
## Sprint Planning Process
### Pre-Planning (Before Meeting)
1. **Backlog Grooming**
- Ensure tickets are refined and estimated
- Clear acceptance criteria on all candidates
- Dependencies identified
- Tech debt and bug tickets included
2. **Capacity Calculation**
```
Team Velocity: [average points completed per sprint]
Available Days: [total team days - PTO - meetings]
Capacity: ~80% of velocity (buffer for unknowns)
```
3. **Priority Review**
- Product priorities aligned
- Critical bugs identified
- Tech debt allocation (typically 10-20%)
### During Planning
1. **Review Sprint Goal**
- Define 1-2 key objectives
- Align with roadmap/OKRs
- Communicate to stakeholders
2. **Select Tickets**
- Start with highest priority
- Check dependencies
- Balance feature/bug/tech-debt
- Don't exceed capacity
3. **Validate Commitments**
- Team agrees on selection
- Dependencies confirmed
- Risks identified
- Sprint goal achievable
---
## Jira Sprint Operations
### Creating a Sprint
```javascript
// POST /rest/agile/1.0/sprint
{
"name": "Sprint 42",
"startDate": "2024-01-15T09:00:00.000Z",
"endDate": "2024-01-29T17:00:00.000Z",
"originBoardId": 123,
"goal": "Complete user notification system"
}
```
### Moving Tickets to Sprint
```javascript
// POST /rest/agile/1.0/sprint/{sprintId}/issue
{
"issues": ["PROJ-123", "PROJ-124", "PROJ-125"]
}
```
### Sprint Queries (JQL)
```
# Current sprint tickets
sprint in openSprints() AND project = PROJ
# Sprint backlog
sprint = "Sprint 42" AND project = PROJ ORDER BY rank
# Unassigned in sprint
sprint in openSprints() AND assignee IS EMPTY
# Blocked tickets
sprint in openSprints() AND labels = blocked
# Carry-over candidates
sprint in closedSprints() AND status != Done AND