Sprint Velocity Analysis: [Team Name]

Analyze sprint velocity data and produce an engineering team health report covering delivery trends, capacity utilization, and improvement recommendations.

Sprint Velocity Analysis: [Team Name] — The Skill Playground: pick the Executive Update skill, fill in a few notes, hit run, and watch a structured executive… (from the mohitagw15856/pm-claude-skills README)

From the mohitagw15856/pm-claude-skills README — shows the whole collection, not only this skill. · view on GitHub

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/sprint-velocity-analysis.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit mohitagw15856/pm-claude-skills/skills/sprint-velocity-analysis#main ~/.claude/skills/sprint-velocity-analysis

For one project only, change the path to .claude/skills/sprint-velocity-analysis.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of Sprint Velocity Analysis: [Team Name]

Show the full text272 lines
namedescription
sprint-velocity-analysisAnalyze sprint velocity data and produce an engineering team health report covering delivery trends, capacity utilization, and improvement recommendations. Use when asked to analyze sprint velocity, review team delivery health, identify delivery risks, or produce a retrospective data analysis. Produces a velocity trend analysis, health diagnosis table, top improvement recommendations with implementation steps, and a next-sprint capacity forecast.

Sprint Velocity Analysis

Analyze sprint velocity data to produce an honest engineering team health report. The goal is not to generate optimistic-looking charts — it is to surface delivery patterns, identify dysfunction early, and give the team and their manager actionable recommendations. Look for: velocity trends (improving, declining, flat, erratic), story point calibration consistency, carry-over patterns that indicate chronic over-commitment, and capacity-related signals. Produce text-based trend visualizations, a health diagnosis, and specific improvement recommendations with measurable targets.

Required Inputs

Ask for these if not already provided:

  • Sprint history — for each sprint: sprint name/number, committed story points, completed story points, and number of items carried over to next sprint; ideally 6–8 sprints minimum
  • Team size and any changes — current team size and any additions or departures during the data window
  • Known disruptions — holidays, company all-hands, on-call incidents, or other events that affected specific sprints
  • Cycle time data (optional) — if available, p50 and p90 cycle time per sprint (time from start to done)
  • Definition of Done — what "completed" means for this team (merged to main? deployed to prod? accepted by PO?)

If cycle time data is not provided, omit that section and note it as a recommended data source to add.

Output Format


Sprint Velocity Analysis: [Team Name]

Analysis period: Sprint [N] through Sprint [N+7] ([Date range]) Team size: [X engineers] ([note any changes during period]) Report date: [Date] Data source: [Where this data came from — Jira, Linear, spreadsheet, etc.]


Velocity Trend

Raw Data
Sprint Committed Completed Completion Rate Carried Over Notes
[Sprint N] [X pts] [X pts] [X%] [X pts / X items] [disruption or context]
[Sprint N+1] [X pts] [X pts] [X%] [X pts / X items]
[Sprint N+2] [X pts] [X pts] [X%] [X pts / X items]
[Sprint N+3] [X pts] [X pts] [X%] [X pts / X items]
[Sprint N+4] [X pts] [X pts] [X%] [X pts / X items]
[Sprint N+5] [X pts] [X pts] [X%] [X pts / X items]
[Sprint N+6] [X pts] [X pts] [X%] [X pts / X items]
[Sprint N+7] [X pts] [X pts] [X%] [X pts / X items]
Average [X pts] [X pts] [X%] [X pts]
Velocity Chart (Completed Points per Sprint)
Points
  60 |
  55 |          ●
  50 |    ●           ●
  45 | ●        ●          ●
  40 |               ●          ●
  35 |
  30 |
     +--+--+--+--+--+--+--+--
      N N+1 N+2 N+3 N+4 N+5 N+6 N+7
      Sprint

  ● = Completed points   — = Average ([X pts])

Generate this chart using ASCII characters based on the actual data provided. Scale the Y-axis to the data range. Plot completed (not committed) points. Mark the average as a dashed line.

Trend Diagnosis
Metric Value Interpretation
Average velocity [X pts/sprint] [Baseline for planning]
Velocity std deviation [±X pts] [Low < 15% of avg = stable; High > 25% = erratic]
Trend direction [Improving / Flat / Declining / Erratic] [3-sprint trailing average vs. 3-sprint leading average]
Average completion rate [X%] [Healthy: 80–95%; < 75% = chronic over-commitment]
Carry-over rate [X% of committed points carried over per sprint] [Healthy: < 15%; > 25% = systemic issue]
Sprints with completion rate < 75% [X of 8 sprints] [> 3 of 8 = structural problem, not noise]

Story Point Calibration

Story points are only useful if they are applied consistently. Look for these calibration signals in the data:

Signal Observed Interpretation
High variance in velocity despite stable team size [Yes / No] Suggests inconsistent estimation — same effort scored differently week to week
Consistent over-commitment (committed >> completed) [Yes / No — by avg X pts per sprint] Team is sandbagging estimates or ignoring historical capacity
Consistent under-commitment (completed >> committed by > 20%) [Yes / No] Team is over-padding estimates or pulling in unplanned work frequently
Frequent large items (> 13 pts) in carry-over [Yes / No] Items are too large to estimate reliably — need better decomposition
Velocity cliff after team change [Yes / No — Sprint N+X] Team did not re-baseline capacity after composition changed

Calibration verdict: [Well-calibrated / Needs recalibration / Severely uncalibrated — one sentence explanation tied to the signals above]

If recalibration is needed: [Specific recommendation — e.g., "Run a calibration session using the last 20 completed items, re-score them as a team, and use the resulting relative sizes to anchor future estimates."]


Carry-Over Pattern Analysis

Carry-over is the most reliable leading indicator of commitment reliability problems.

Sprint Carried-Over Items Common Themes in Carry-Over
[Sprint N] [X items / X pts] [Technical debt, dependency blocked, scoped wrong, etc.]
[Sprint N+1] [X items / X pts] [Theme]
[Sprint N+2] [X items / X pts] [Theme]

Carry-over root causes identified:

  • [Root cause 1: e.g., "5 of 12 carry-overs were blocked on a third-party API integration — external dependency, not estimation failure"]
  • [Root cause 2: e.g., "4 of 12 carry-overs were items estimated at 8+ points that were later found to be 2–3x larger than expected"]
  • [Root cause 3: e.g., "3 of 12 carry-overs were interruptions from on-call incidents consuming unplanned capacity"]

Capacity Utilization

Sprint Team Size Available Capacity (pts) Committed Utilization % Disruptions
[Sprint N] [X engineers] [X pts] [X pts] [X%] [Holiday / incident / none]
[Sprint N+1] [X engineers] [X pts] [X pts] [X%]

Capacity calculation used: [X engineers × Y pts/person/sprint = Z pts available. Adjust: if team capacity changed during the window, note which sprints used which team size.]

Average utilization: [X%] Utilization interpretation: [< 70% = team is under-loaded or over-padding | 70–90% = healthy range | > 90% = no slack for unplanned work — fragile]


Health Diagnosis

Dimension Score Evidence Priority
Delivery predictability [Green / Yellow / Red] [Average completion rate X%, std dev Y pts] [High / Med / Low]
Commitment accuracy [Green / Yellow / Red] [Team over-commits by avg X pts/sprint]
Estimation consistency [Green / Yellow / Red] [Velocity std dev ±X pts, calibration verdict]
Carry-over hygiene [Green / Yellow / Red] [X% carry-over rate, root causes]
Capacity management [Green / Yellow / Red] [Avg utilization X%, disruption handling]
Trend direction [Green / Yellow / Red] [Trailing 3-sprint avg vs. leading 3-sprint avg]

Scoring guide: Green = operating within healthy range; Yellow = marginal — watch closely or single-sprint anomaly; Red = chronic issue requiring active intervention.

Overall health: [Green / Yellow / Red] — [One sentence summary: "The team delivers consistently at X pts/sprint but chronic over-commitment is eroding morale and creating a misleading picture for stakeholders."]


Blocker Frequency Analysis

If blocker data was provided, complete this section. If not, note it as a recommended tracking addition.

Blocker Category Frequency (last 8 sprints) Avg Days Blocked Impact (pts delayed)
External dependency [X occurrences] [X days] [X pts]
Technical debt / rework [X occurrences] [X days] [X pts]
Unclear requirements [X occurrences] [X days] [X pts]
On-call interruptions [X occurrences] [X days] [X pts]
Environment / tooling [X occurrences] [X days] [X pts]

Top blocker to address: [Name the single highest-impact blocker category and what addressing it would mean for velocity.]


Improvement Recommendations

Provide 3 specific recommendations ordered by expected impact. Each recommendation must include a measurable success target and implementation steps.

Recommendation 1: [Title]

Problem it addresses: [Which health dimension is Red or Yellow, and what the data shows]

What to do:

  1. [Specific action step — concrete enough that a tech lead can assign it]
  2. [Next step]
  3. [Next step]

Who owns it: [Tech lead / Engineering manager / Whole team] When to start: [This sprint / Next sprint / Within 2 weeks]

Measurable target: [e.g., "Carry-over rate drops below 15% within 3 sprints" or "Completion rate above 80% for 4 consecutive sprints"]

How to know it's working: [Leading indicator to watch before the outcome metric improves — e.g., "Carry-over items decreasing sprint-over-sprint even before the target is hit"]


Recommendation 2: [Title]

Problem it addresses: [Health dimension and evidence]

What to do:

  1. [Step]
  2. [Step]
  3. [Step]

Who owns it: [Role] When to start: [Timing]

Measurable target: [Specific metric and timeframe]

How to know it's working: [Leading indicator]


Recommendation 3: [Title]

Problem it addresses: [Health dimension and evidence]

What to do:

  1. [Step]
  2. [Step]

Who owns it: [Role] When to start: [Timing]

Measurable target: [Specific metric and timeframe]

How to know it's working: [Leading indicator]


Next-Sprint Capacity Forecast

Next sprint: [Sprint N+8] Known team size: [X engineers] Known capacity reducers: [PTO: X days total, on-call rotation: ~Y pts of unplanned capacity, etc.]

Factor Impact
Base capacity (historical average) [X pts]
PTO / planned absences −[X pts]
On-call overhead (estimate) −[X pts]
Carry-over from Sprint [N+7] +[X pts committed capacity already spoken for]
Recommended commitment ceiling [X pts]

Confidence: [High — stable team and known capacity | Medium — some uncertainty in disruption level | Low — team composition uncertain]

Recommendation for planning: [One sentence — e.g., "Plan to Sprint [N+8] ceiling of X pts. Given the carry-over items, prioritize completing those before pulling in new scope."]


Cycle Time Distribution (if data provided)

Sprint p50 Cycle Time p90 Cycle Time Items Completed
[Sprint N] [X days] [X days] [X items]
[Average] [X days] [X days]

Cycle time interpretation: [p90 > 2× p50 indicates a long-tail of stuck items that deserve investigation. p50 increasing over time indicates slowing throughput independent of story point changes.]

If cycle time data was not provided: Cycle time data was not included in this analysis. Recommend adding p50 and p90 cycle time per sprint to your tracking to detect throughput issues that story points alone cannot reveal.


Quality Checks

  • Velocity chart is generated from the actual data provided — not a generic placeholder chart
  • Trend diagnosis states a direction (Improving / Flat / Declining / Erratic) with a quantitative basis (trailing vs. leading average)
  • Carry-over root causes are specific categories with counts — not a generic observation that carry-over exists
  • Each of the 3 recommendations includes a named owner, a start date, and a measurable target with a timeframe
  • Next-sprint capacity forecast uses historical average as the baseline and deducts specific known reducers
  • Health diagnosis table uses Red/Yellow/Green with evidence cited in the Evidence column — no unsupported scores
  • If metrics are missing (cycle time, blocker log), the report explicitly calls them out as recommended additions

Anti-Patterns

  • Do not generate the velocity chart from placeholder data — it must reflect the actual sprint data provided
  • Do not diagnose trend direction without computing trailing vs leading averages — "it looks like it's declining" is not a diagnosis
  • Do not list carry-over as a generic observation — identify root cause categories with counts for the analysis to be actionable
  • Do not produce recommendations without a named owner, a start date, and a measurable target
  • Do not score health dimensions without citing evidence in the Evidence column — unsupported Red/Yellow/Green scores are not credible
1---
2name: sprint-velocity-analysis
3description: "Analyze sprint velocity data and produce an engineering team health report covering delivery trends, capacity utilization, and improvement recommendations. Use when asked to analyze sprint velocity, review team delivery health, identify delivery risks, or produce a retrospective data analysis. Produces a velocity trend analysis, health diagnosis table, top improvement recommendations with implementation steps, and a next-sprint capacity forecast."
4---
5 
6# Sprint Velocity Analysis
7 
8Analyze sprint velocity data to produce an honest engineering team health report. The goal is not to generate optimistic-looking charts — it is to surface delivery patterns, identify dysfunction early, and give the team and their manager actionable recommendations. Look for: velocity trends (improving, declining, flat, erratic), story point calibration consistency, carry-over patterns that indicate chronic over-commitment, and capacity-related signals. Produce text-based trend visualizations, a health diagnosis, and specific improvement recommendations with measurable targets.
9 
10## Required Inputs
11 
12Ask for these if not already provided:
13- **Sprint history** — for each sprint: sprint name/number, committed story points, completed story points, and number of items carried over to next sprint; ideally 6–8 sprints minimum
14- **Team size and any changes** — current team size and any additions or departures during the data window
15- **Known disruptions** — holidays, company all-hands, on-call incidents, or other events that affected specific sprints
16- **Cycle time data (optional)** — if available, p50 and p90 cycle time per sprint (time from start to done)
17- **Definition of Done** — what "completed" means for this team (merged to main? deployed to prod? accepted by PO?)
18 
19If cycle time data is not provided, omit that section and note it as a recommended data source to add.
20 
21## Output Format
22 
23---
24 
25# Sprint Velocity Analysis: [Team Name]
26 
27**Analysis period:** Sprint [N] through Sprint [N+7] ([Date range])
28**Team size:** [X engineers] ([note any changes during period])
29**Report date:** [Date]
30**Data source:** [Where this data came from — Jira, Linear, spreadsheet, etc.]
31 
32---
33 
34## Velocity Trend
35 
36### Raw Data
37 
38| Sprint | Committed | Completed | Completion Rate | Carried Over | Notes |
39|--------|-----------|-----------|----------------|--------------|-------|
40| [Sprint N] | [X pts] | [X pts] | [X%] | [X pts / X items] | [disruption or context] |
41| [Sprint N+1] | [X pts] | [X pts] | [X%] | [X pts / X items] | |
42| [Sprint N+2] | [X pts] | [X pts] | [X%] | [X pts / X items] | |
43| [Sprint N+3] | [X pts] | [X pts] | [X%] | [X pts / X items] | |
44| [Sprint N+4] | [X pts] | [X pts] | [X%] | [X pts / X items] | |
45| [Sprint N+5] | [X pts] | [X pts] | [X%] | [X pts / X items] | |
46| [Sprint N+6] | [X pts] | [X pts] | [X%] | [X pts / X items] | |
47| [Sprint N+7] | [X pts] | [X pts] | [X%] | [X pts / X items] | |
48| **Average** | **[X pts]** | **[X pts]** | **[X%]** | **[X pts]** | |
49 
50### Velocity Chart (Completed Points per Sprint)
51 
52```
53Points
54 60 |
55 55 | ●
56 50 | ● ●
57 45 | ● ● ●
58 40 | ● ●
59 35 |
60 30 |
61 +--+--+--+--+--+--+--+--
62 N N+1 N+2 N+3 N+4 N+5 N+6 N+7
63 Sprint
64 
65 ● = Completed points — = Average ([X pts])
66```
67 
68Generate this chart using ASCII characters based on the actual data provided. Scale the Y-axis to the data range. Plot completed (not committed) points. Mark the average as a dashed line.
69 
70### Trend Diagnosis
71 
72| Metric | Value | Interpretation |
73|--------|-------|----------------|
74| Average velocity | [X pts/sprint] | [Baseline for planning] |
75| Velocity std deviation | [±X pts] | [Low < 15% of avg = stable; High > 25% = erratic] |
76| Trend direction | [Improving / Flat / Declining / Erratic] | [3-sprint trailing average vs. 3-sprint leading average] |
77| Average completion rate | [X%] | [Healthy: 80–95%; < 75% = chronic over-commitment] |
78| Carry-over rate | [X% of committed points carried over per sprint] | [Healthy: < 15%; > 25% = systemic issue] |
79| Sprints with completion rate < 75% | [X of 8 sprints] | [> 3 of 8 = structural problem, not noise] |
80 
81---
82 
83## Story Point Calibration
84 
85Story points are only useful if they are applied consistently. Look for these calibration signals in the data:
86 
87| Signal | Observed | Interpretation |
88|--------|----------|----------------|
89| High variance in velocity despite stable team size | [Yes / No] | Suggests inconsistent estimation — same effort scored differently week to week |
90| Consistent over-commitment (committed >> completed) | [Yes / No — by avg X pts per sprint] | Team is sandbagging estimates or ignoring historical capacity |
91| Consistent under-commitment (completed >> committed by > 20%) | [Yes / No] | Team is over-padding estimates or pulling in unplanned work frequently |
92| Frequent large items (> 13 pts) in carry-over | [Yes / No] | Items are too large to estimate reliably — need better decomposition |
93| Velocity cliff after team change | [Yes / No — Sprint N+X] | Team did not re-baseline capacity after composition changed |
94 
95**Calibration verdict:** [Well-calibrated / Needs recalibration / Severely uncalibrated — one sentence explanation tied to the signals above]
96 
97**If recalibration is needed:** [Specific recommendation — e.g., "Run a calibration session using the last 20 completed items, re-score them as a team, and use the resulting relative sizes to anchor future estimates."]
98 
99---
100 
101## Carry-Over Pattern Analysis
102 
103Carry-over is the most reliable leading indicator of commitment reliability problems.
104 
105| Sprint | Carried-Over Items | Common Themes in Carry-Over |
106|--------|-------------------|----------------------------|
107| [Sprint N] | [X items / X pts] | [Technical debt, dependency blocked, scoped wrong, etc.] |
108| [Sprint N+1] | [X items / X pts] | [Theme] |
109| [Sprint N+2] | [X items / X pts] | [Theme] |
110 
111**Carry-over root causes identified:**
112- [Root cause 1: e.g., "5 of 12 carry-overs were blocked on a third-party API integration — external dependency, not estimation failure"]
113- [Root cause 2: e.g., "4 of 12 carry-overs were items estimated at 8+ points that were later found to be 2–3x larger than expected"]
114- [Root cause 3: e.g., "3 of 12 carry-overs were interruptions from on-call incidents consuming unplanned capacity"]
115 
116---
117 
118## Capacity Utilization
119 
120| Sprint | Team Size | Available Capacity (pts) | Committed | Utilization % | Disruptions |
121|--------|-----------|--------------------------|-----------|--------------|-------------|
122| [Sprint N] | [X engineers] | [X pts] | [X pts] | [X%] | [Holiday / incident / none] |
123| [Sprint N+1] | [X engineers] | [X pts] | [X pts] | [X%] | |
124 
125**Capacity calculation used:** [X engineers × Y pts/person/sprint = Z pts available. Adjust: if team capacity changed during the window, note which sprints used which team size.]
126 
127**Average utilization:** [X%]
128**Utilization interpretation:** [< 70% = team is under-loaded or over-padding | 70–90% = healthy range | > 90% = no slack for unplanned work — fragile]
129 
130---
131 
132## Health Diagnosis
133 
134| Dimension | Score | Evidence | Priority |
135|-----------|-------|----------|----------|
136| Delivery predictability | [Green / Yellow / Red] | [Average completion rate X%, std dev Y pts] | [High / Med / Low] |
137| Commitment accuracy | [Green / Yellow / Red] | [Team over-commits by avg X pts/sprint] | |
138| Estimation consistency | [Green / Yellow / Red] | [Velocity std dev ±X pts, calibration verdict] | |
139| Carry-over hygiene | [Green / Yellow / Red] | [X% carry-over rate, root causes] | |
140| Capacity management | [Green / Yellow / Red] | [Avg utilization X%, disruption handling] | |
141| Trend direction | [Green / Yellow / Red] | [Trailing 3-sprint avg vs. leading 3-sprint avg] | |
142 
143**Scoring guide:** Green = operating within healthy range; Yellow = marginal — watch closely or single-sprint anomaly; Red = chronic issue requiring active intervention.
144 
145**Overall health:** [Green / Yellow / Red] — [One sentence summary: "The team delivers consistently at X pts/sprint but chronic over-commitment is eroding morale and creating a misleading picture for stakeholders."]
146 
147---
148 
149## Blocker Frequency Analysis
150 
151If blocker data was provided, complete this section. If not, note it as a recommended tracking addition.
152 
153| Blocker Category | Frequency (last 8 sprints) | Avg Days Blocked | Impact (pts delayed) |
154|-----------------|--------------------------|------------------|---------------------|
155| External dependency | [X occurrences] | [X days] | [X pts] |
156| Technical debt / rework | [X occurrences] | [X days] | [X pts] |
157| Unclear requirements | [X occurrences] | [X days] | [X pts] |
158| On-call interruptions | [X occurrences] | [X days] | [X pts] |
159| Environment / tooling | [X occurrences] | [X days] | [X pts] |
160 
161**Top blocker to address:** [Name the single highest-impact blocker category and what addressing it would mean for velocity.]
162 
163---
164 
165## Improvement Recommendations
166 
167Provide 3 specific recommendations ordered by expected impact. Each recommendation must include a measurable success target and implementation steps.
168 
169### Recommendation 1: [Title]
170 
171**Problem it addresses:** [Which health dimension is Red or Yellow, and what the data shows]
172 
173**What to do:**
1741. [Specific action step — concrete enough that a tech lead can assign it]
1752. [Next step]
1763. [Next step]
177 
178**Who owns it:** [Tech lead / Engineering manager / Whole team]
179**When to start:** [This sprint / Next sprint / Within 2 weeks]
180 
181**Measurable target:** [e.g., "Carry-over rate drops below 15% within 3 sprints" or "Completion rate above 80% for 4 consecutive sprints"]
182 
183**How to know it's working:** [Leading indicator to watch before the outcome metric improves — e.g., "Carry-over items decreasing sprint-over-sprint even before the target is hit"]
184 
185---
186 
187### Recommendation 2: [Title]
188 
189**Problem it addresses:** [Health dimension and evidence]
190 
191**What to do:**
1921. [Step]
1932. [Step]
1943. [Step]
195 
196**Who owns it:** [Role]
197**When to start:** [Timing]
198 
199**Measurable target:** [Specific metric and timeframe]
200 
201**How to know it's working:** [Leading indicator]
202 
203---
204 
205### Recommendation 3: [Title]
206 
207**Problem it addresses:** [Health dimension and evidence]
208 
209**What to do:**
2101. [Step]
2112. [Step]
212 
213**Who owns it:** [Role]
214**When to start:** [Timing]
215 
216**Measurable target:** [Specific metric and timeframe]
217 
218**How to know it's working:** [Leading indicator]
219 
220---
221 
222## Next-Sprint Capacity Forecast
223 
224**Next sprint:** [Sprint N+8]
225**Known team size:** [X engineers]
226**Known capacity reducers:** [PTO: X days total, on-call rotation: ~Y pts of unplanned capacity, etc.]
227 
228| Factor | Impact |
229|--------|--------|
230| Base capacity (historical average) | [X pts] |
231| PTO / planned absences | −[X pts] |
232| On-call overhead (estimate) | −[X pts] |
233| Carry-over from Sprint [N+7] | +[X pts committed capacity already spoken for] |
234| **Recommended commitment ceiling** | **[X pts]** |
235 
236**Confidence:** [High — stable team and known capacity | Medium — some uncertainty in disruption level | Low — team composition uncertain]
237 
238**Recommendation for planning:** [One sentence — e.g., "Plan to Sprint [N+8] ceiling of X pts. Given the carry-over items, prioritize completing those before pulling in new scope."]
239 
240---
241 
242## Cycle Time Distribution (if data provided)
243 
244| Sprint | p50 Cycle Time | p90 Cycle Time | Items Completed |
245|--------|---------------|---------------|-----------------|
246| [Sprint N] | [X days] | [X days] | [X items] |
247| [Average] | [X days] | [X days] | |
248 
249**Cycle time interpretation:** [p90 > 2× p50 indicates a long-tail of stuck items that deserve investigation. p50 increasing over time indicates slowing throughput independent of story point changes.]
250 
251If cycle time data was not provided: *Cycle time data was not included in this analysis. Recommend adding p50 and p90 cycle time per sprint to your tracking to detect throughput issues that story points alone cannot reveal.*
252 
253---
254 
255## Quality Checks
256 
257- [ ] Velocity chart is generated from the actual data provided — not a generic placeholder chart
258- [ ] Trend diagnosis states a direction (Improving / Flat / Declining / Erratic) with a quantitative basis (trailing vs. leading average)
259- [ ] Carry-over root causes are specific categories with counts — not a generic observation that carry-over exists
260- [ ] Each of the 3 recommendations includes a named owner, a start date, and a measurable target with a timeframe
261- [ ] Next-sprint capacity forecast uses historical average as the baseline and deducts specific known reducers
262- [ ] Health diagnosis table uses Red/Yellow/Green with evidence cited in the Evidence column — no unsupported scores
263- [ ] If metrics are missing (cycle time, blocker log), the report explicitly calls them out as recommended additions
264 
265## Anti-Patterns
266 
267- [ ] Do not generate the velocity chart from placeholder data — it must reflect the actual sprint data provided
268- [ ] Do not diagnose trend direction without computing trailing vs leading averages — "it looks like it's declining" is not a diagnosis
269- [ ] Do not list carry-over as a generic observation — identify root cause categories with counts for the analysis to be actionable
270- [ ] Do not produce recommendations without a named owner, a start date, and a measurable target
271- [ ] Do not score health dimensions without citing evidence in the Evidence column — unsupported Red/Yellow/Green scores are not credible
272 

Discussion