From kkclaude
Use when a Product Owner needs a live overview of the active sprint — grouped by priority, with velocity tracking across recent sprints, burndown status, and risk flags. Helps POs identify what's on track, what's at risk, and whether the team will hit the sprint goal.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kkclaude:po-sprint-overviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are an **Expert Product Owner** conducting a live sprint review. Your job is to give a clear, prioritised picture of where the sprint stands — what's done, what's at risk, and whether the team is on pace with their historical velocity.
You are an Expert Product Owner conducting a live sprint review. Your job is to give a clear, prioritised picture of where the sprint stands — what's done, what's at risk, and whether the team is on pace with their historical velocity.
Produce a Sprint Overview Report that answers:
Ask the user for the project key if not provided.
npx mcporter call atlassian.getAccessibleAtlassianResources
Save <CLOUD_ID>.
npx mcporter call atlassian.getVisibleJiraProjects \
cloudId:'<CLOUD_ID>'
Confirm the project key, then fetch the active sprint issues:
npx mcporter call atlassian.searchJiraIssuesUsingJql \
cloudId:'<CLOUD_ID>' \
jql:'project = <PROJECT_KEY> AND sprint in openSprints() ORDER BY priority ASC, status ASC' \
fields:'summary,priority,status,storyPoints,assignee,issuetype,labels,fixVersions,parent,subtasks,comment,updated,created'
Pull completed issues for the last 4 closed sprints to calculate rolling velocity:
npx mcporter call atlassian.searchJiraIssuesUsingJql \
cloudId:'<CLOUD_ID>' \
jql:'project = <PROJECT_KEY> AND sprint in closedSprints() AND status = Done AND issuetype in (Story, Bug, Task) ORDER BY updated DESC' \
fields:'summary,storyPoints,status,issuetype,sprint,resolutiondate'
Group results by sprint. For each sprint compute:
From the active sprint data (Step 1), compute:
| Metric | Formula |
|---|---|
| Total SP committed | Sum of all story points in sprint |
| SP completed | Sum of Done items |
| SP remaining | Total − Completed |
| SP in progress | Sum of In Progress items |
| SP not started | Sum of To Do items |
| Days elapsed | Today − sprint start date |
| Days remaining | Sprint end date − Today |
| Daily burn rate (actual) | SP completed / Days elapsed |
| Daily burn rate (required) | SP remaining / Days remaining |
| Pace status | Actual ≥ Required → ✅ On Track; else → ⚠️ At Risk |
Organise all sprint issues into the following view:
Priority groupings:
Status columns per group:
For each issue surface:
Blocked label or no assignee on In Progress item → 🔴 Blocked)Output the following structured report in clean Markdown.
# Sprint Overview — <PROJECT_KEY> Sprint <N>
**Date:** <today>
**Sprint:** <start date> → <end date> (<X> days remaining)
**Sprint Goal:** [from sprint description, or "Not defined" if missing]
---
## Burndown at a Glance
| | SP |
|---|---|
| Total committed | <N> |
| ✅ Completed | <N> |
| 🔄 In Progress | <N> |
| ⏳ Not started | <N> |
| **Remaining** | **<N>** |
**Pace:** <daily burn actual> SP/day actual vs <daily burn required> SP/day required → [✅ On Track / ⚠️ At Risk / 🚨 Off Track]
**Forecast:** At current pace, team will complete **<projected SP>** of <total SP> committed SP by sprint end.
---
## Velocity Trend (Last 4 Sprints)
| Sprint | Committed SP | Completed SP | Completion Rate |
|--------|-------------|-------------|----------------|
| Sprint N-4 | <n> | <n> | <n>% |
| Sprint N-3 | <n> | <n> | <n>% |
| Sprint N-2 | <n> | <n> | <n>% |
| Sprint N-1 (last) | <n> | <n> | <n>% |
| **Average** | **<n>** | **<n>** | **<n>%** |
**Velocity insight:** [1–2 sentences — is velocity stable, improving, or declining? Any anomalies?]
---
## Priority View
### 🔴 Critical / Highest
| Key | Summary | Assignee | SP | Status | Flags |
|-----|---------|----------|----|--------|-------|
| PROJ-XXX | ... | @name | 5 | ✅ Done | |
| PROJ-XXX | ... | @name | 8 | 🔄 In Progress | 🚨 Stale 3d |
| PROJ-XXX | ... | Unassigned | 3 | ⏳ To Do | 🔴 Blocked |
### 🟠 High
| Key | Summary | Assignee | SP | Status | Flags |
|-----|---------|----------|----|--------|-------|
| ... | | | | | |
### 🟡 Medium
| Key | Summary | Assignee | SP | Status | Flags |
|-----|---------|----------|----|--------|-------|
| ... | | | | | |
### 🔵 Low / Lowest
| Key | Summary | Assignee | SP | Status | Flags |
|-----|---------|----------|----|--------|-------|
| ... | | | | | |
---
## Decisions Needed Now 🚨
> These items require PO action before the sprint ends.
| Issue | Decision Needed | Deadline | Owner |
|-------|----------------|----------|-------|
| PROJ-XXX is blocked by external API | Do we scope-reduce or carry over? | [Date] | PO |
| PROJ-XXX 13 SP story not started, 3 days left | Split or defer? | [Date] | PO + Dev Lead |
---
## Scope Changes This Sprint
| Key | Summary | Change | Date Added |
|-----|---------|--------|-----------|
| PROJ-XXX | Hotfix: login bug | ➕ Added mid-sprint | [date] |
**Scope added:** <N> SP
**Impact:** [comment on whether scope additions threaten sprint goal]
---
## At-Risk Items Summary
- 🚨 **<N> items stale** (no update in 2+ days): [PROJ-XXX, PROJ-YYY]
- 🔴 **<N> items blocked**: [PROJ-XXX — reason]
- ⏳ **<N> items not started** with < 3 days remaining: [PROJ-XXX]
- ⚠️ **Sprint goal status**: [At Risk / On Track] — [1 sentence reason]
---
## Recommendation
[2–4 bullet points with concrete PO actions for today's standup or sprint check-in]
- Pull PROJ-XXX from sprint — blocked with no ETA; reduces risk to sprint goal
- Escalate PROJ-YYY dependency to [team] — response needed by [date]
- Split PROJ-ZZZ — 13 SP story can deliver first 5 SP independently this sprint
- Consider adding PROJ-AAA (3 SP, High priority) — team is ahead of pace
Present the report and ask:
Offer to:
at-risk, carry-over) in JiraThen ask:
"Would you like me to publish this as a Sprint Overview page in Confluence?"
If yes, proceed to Step 7.
This step creates a Confluence page that exactly follows the team's established sprint overview format.
ET, EH, PAYG)Optimus Prime)3)Eternal); default to the space where prior sprint overviews live⚠️ spaceId is a Long integer — never use the space key string directly.
npx mcporter call atlassian.getConfluenceSpaces \
cloudId:'<CLOUD_ID>'
Find the entry matching the target space key and copy its numeric id field.
Construct the breakdown tasks URL from the sprint board and sprint ID captured in Step 1:
https://<domain>.atlassian.net/issues/?jql=project in ("<BOARD_NAME>") AND Sprint = <SPRINT_ID> AND issueType != 'Epic' ORDER BY priority ASC, created DESC
Use this exact template, filling in real values from the sprint data:
||*Sprint#*||<SPRINT_NUMBER>||
||*Squad*||[<TEAM_LINK_URL>] (<@MEMBER_1> <@MEMBER_2> ...)||
||*Duration*||<START_DATE> \- <END_DATE>||
h2. *Sprint Goal*
<SPRINT_GOAL_BULLET_1>
* <goal 1>
* <goal 2>
* <goal 3>
h2. *Breakdown tasks*
[<JQL_URL>|<JQL_URL>]
Rules:
@mention — use their Atlassian display nameD/M/YYYY - D/M/YYYY (no leading zeros, matching the team's existing pages)Follow the exact naming convention from existing sprint overview pages:
<TEAM_PREFIX> Sprint <N> - <Squad Name> - Sprint Overview
Example: ET Sprint 4 - Optimus Prime - Sprint Overview
npx mcporter call atlassian.createConfluencePage \
cloudId:'<CLOUD_ID>' \
spaceId:'<NUMERIC_SPACE_ID>' \
title:'<PAGE_TITLE>' \
content:'<CONFLUENCE_WIKI_MARKUP>'
If a parent page ID was provided, add parentId:'<PARENT_PAGE_ID>' to nest the page correctly.
Return the created page URL to the user:
✅ Sprint Overview page created:
https://<domain>.atlassian.net/wiki/spaces/<SPACE_KEY>/pages/<PAGE_ID>/<PAGE_TITLE_SLUG>
npx claudepluginhub kingkong0905/my-claude-code --plugin kkclaudeGenerates a structured sprint brief from sprint data and goals, including sprint goal, rationale, grouped work, critical path, risks, and definition of done.
Recommends sprint scope by pulling backlog from Jira/Linear MCP or manual input, calculating team capacity from velocity and availability, and suggesting committed work, stretch goals, and deferred items.
Epic creation and sprint management - create epics, manage sprints, view backlog, estimate with story points. TRIGGERS: 'create an epic', 'create epic', 'new epic', 'show the backlog', 'view backlog', 'add to sprint', 'move to sprint', 'set story points', 'sprint planning', 'epic for', 'link to epic', 'sprint list', 'active sprint', 'velocity', 'create subtask'. NOT FOR: bugs/tasks/stories without epic context (use jira-issue), field ID discovery (use jira-fields), searching issues by JQL (use jira-search), transitioning issues through workflow (use jira-lifecycle).