---
name: retrospective
type: workflow
description: "Generates a sprint or milestone retrospective analyzing completed work, velocity, blockers, and patterns to produce actionable insights. Use when ending a sprint or milestone, or when the user mentions retrospective, retro, or sprint review."
argument-hint: "[sprint-N|milestone-name]"
user-invocable: true
allowed-tools: Read, Glob, Grep, Write
context: |
!git log --oneline --since="2 weeks ago" 2>/dev/null
effort: 3
when_to_use: "Use when ending a sprint or milestone to analyze completed work, velocity, and blockers, or when the user mentions retrospective, retro, or sprint review."
When this skill is invoked:
Read the argument to determine whether this is a sprint retrospective
(sprint-N) or a milestone retrospective (milestone-name).
Read the sprint or milestone plan from the appropriate location:
- Sprint plans:
production/sprints/
- Milestone definitions:
production/milestones/
Extract: planned tasks, estimated effort, owners, and goals.
Read the git log for the period covered by the sprint or milestone to
understand what was actually committed and when.
Scan for completed and incomplete tasks by comparing the plan against
actual deliverables. Check for:
- Tasks completed as planned
- Tasks completed but modified from the plan
- Tasks carried over (not completed)
- Tasks added mid-sprint (unplanned work)
- Tasks removed or descoped
Scan the codebase for TODO/FIXME trends:
- Count current TODO/FIXME/HACK comments
- Compare to previous sprint counts if available (check previous
retrospectives)
- Note whether technical debt is growing or shrinking
Read previous retrospectives (if any) from production/sprints/ or
production/milestones/ to check:
- Were previous action items addressed?
- Are the same problems recurring?
- How has velocity trended?
Generate the retrospective:
## Retrospective: [Sprint N / Milestone Name]
Period: [Start Date] -- [End Date]
Generated: [Date]
### Metrics
| Metric | Planned | Actual | Delta |
|--------|---------|--------|-------|
| Tasks | [X] | [Y] | [+/- Z] |
| Completion Rate | -- | [Z%] | -- |
| Story Points / Effort Days | [X] | [Y] | [+/- Z] |
| Bugs Found | -- | [N] | -- |
| Bugs Fixed | -- | [N] | -- |
| Unplanned Tasks Added | -- | [N] | -- |
| Commits | -- | [N] | -- |
### Velocity Trend
| Sprint | Planned | Completed | Rate |
|--------|---------|-----------|------|
| [N-2] | [X] | [Y] | [Z%] |
| [N-1] | [X] | [Y] | [Z%] |
| [N] (current) | [X] | [Y] | [Z%] |
**Trend**: [Increasing / Stable / Decreasing]
[One sentence explaining the trend]
### What Went Well
- [Observation backed by specific data or examples]
- [Another positive observation]
- [Recognize specific contributions or decisions that paid off]
### What Went Poorly
- [Specific issue with measurable impact -- e.g., "Feature X took 5 days
instead of estimated 2, blocking tasks Y and Z"]
- [Another issue with impact]
- [Do not assign blame -- focus on systemic causes]
### Blockers Encountered
| Blocker | Duration | Resolution | Prevention |
|---------|----------|------------|------------|
| [What blocked progress] | [How long] | [How it was resolved] | [How to prevent recurrence] |
### Estimation Accuracy
| Task | Estimated | Actual | Variance | Likely Cause |
|------|-----------|--------|----------|--------------|
| [Most overestimated task] | [X] | [Y] | [+Z] | [Why] |
| [Most underestimated task] | [X] | [Y] | [-Z] | [Why] |
**Overall estimation accuracy**: [X%] of tasks within +/- 20% of estimate
[Analysis: Are we consistently over- or under-estimating? For which types of
tasks? What adjustment should we apply?]
### Carryover Analysis
| Task | Original Sprint | Times Carried | Reason | Action |
|------|----------------|---------------|--------|--------|
| [Task that was not completed] | [Sprint N-X] | [N] | [Why] | [Complete / Descope / Redesign] |
### Technical Debt Status
- Current TODO count: [N] (previous: [N])
- Current FIXME count: [N] (previous: [N])
- Current HACK count: [N] (previous: [N])
- Trend: [Growing / Stable / Shrinking]
- [Note any areas of concern]
### Previous Action Items Follow-Up
| Action Item (from Sprint N-1) | Status | Notes |
|-------------------------------|--------|-------|
| [Previous action] | [Done / In Progress / Not Started] | [Context] |
### Action Items for Next Iteration
| # | Action | Owner | Priority | Deadline |
|---|--------|-------|----------|----------|
| 1 | [Specific, measurable action] | [Who] | [High/Med/Low] | [When] |
| 2 | [Another action] | [Who] | [Priority] | [When] |
### Process Improvements
- [Specific change to how we work, with expected benefit]
- [Another improvement -- keep it to 2-3 actionable items, not a wish list]
### Summary
[2-3 sentence overall assessment: Was this a good sprint/milestone? What is
the single most important thing to change going forward?]
Save the retrospective to the appropriate location:
- Sprint:
production/sprints/sprint-[N]-retrospective.md
- Milestone:
production/milestones/[milestone-name]-retrospective.md
Create the directory if it does not exist.
Output a summary to the user with: completion rate, velocity trend
direction, top blocker, and the most important action item.
Guidelines
- Be honest and specific. Vague retrospectives ("communication could be
better") produce vague improvements. Use data and examples.
- Focus on systemic issues, not individual blame.
- Limit action items to 3-5. More than that dilutes focus.
- Every action item must have an owner and a deadline.
- Check whether previous action items were completed. Recurring unaddressed
items are a process smell.
- If this is a milestone retrospective, also evaluate whether the milestone
goals were achieved and what that means for the overall project timeline.
Protocol
- Question: Reads sprint number or milestone name from argument
- Options: Skip
- Decision: Skip — retrospective is advisory
- Draft: Full retrospective shown in conversation before saving
- Approval: "May I write to
production/retrospectives/retro-[name].md?"
Output
Deliver exactly:
- Retrospective document saved to
production/retrospectives/retro-[sprint/milestone].md
- Velocity delta — this sprint vs previous (faster/slower/same + %)
- Top pattern — the single most recurring theme (positive or negative)
- Action items: max 5, each with owner and deadline — verified not repeats from last retro
1---2name: retrospective3description: ---4---5---6name: retrospective7type: workflow8description: "Generates a sprint or milestone retrospective analyzing completed work, velocity, blockers, and patterns to produce actionable insights. Use when ending a sprint or milestone, or when the user mentions retrospective, retro, or sprint review."9argument-hint: "[sprint-N|milestone-name]"10user-invocable: true11allowed-tools: Read, Glob, Grep, Write12context: |13 !git log --oneline --since="2 weeks ago" 2>/dev/null14effort: 315when_to_use: "Use when ending a sprint or milestone to analyze completed work, velocity, and blockers, or when the user mentions retrospective, retro, or sprint review."16---1718When this skill is invoked:19201. **Read the argument** to determine whether this is a sprint retrospective21 (`sprint-N`) or a milestone retrospective (`milestone-name`).22232. **Read the sprint or milestone plan** from the appropriate location:24 - Sprint plans: `production/sprints/`25 - Milestone definitions: `production/milestones/`2627 Extract: planned tasks, estimated effort, owners, and goals.28293. **Read the git log** for the period covered by the sprint or milestone to30 understand what was actually committed and when.31324. **Scan for completed and incomplete tasks** by comparing the plan against33 actual deliverables. Check for:34 - Tasks completed as planned35 - Tasks completed but modified from the plan36 - Tasks carried over (not completed)37 - Tasks added mid-sprint (unplanned work)38 - Tasks removed or descoped39405. **Scan the codebase for TODO/FIXME trends**:41 - Count current TODO/FIXME/HACK comments42 - Compare to previous sprint counts if available (check previous43 retrospectives)44 - Note whether technical debt is growing or shrinking45466. **Read previous retrospectives** (if any) from `production/sprints/` or47 `production/milestones/` to check:48 - Were previous action items addressed?49 - Are the same problems recurring?50 - How has velocity trended?51527. **Generate the retrospective**:5354```markdown55## Retrospective: [Sprint N / Milestone Name]56Period: [Start Date] -- [End Date]57Generated: [Date]5859### Metrics6061| Metric | Planned | Actual | Delta |62|--------|---------|--------|-------|63| Tasks | [X] | [Y] | [+/- Z] |64| Completion Rate | -- | [Z%] | -- |65| Story Points / Effort Days | [X] | [Y] | [+/- Z] |66| Bugs Found | -- | [N] | -- |67| Bugs Fixed | -- | [N] | -- |68| Unplanned Tasks Added | -- | [N] | -- |69| Commits | -- | [N] | -- |7071### Velocity Trend7273| Sprint | Planned | Completed | Rate |74|--------|---------|-----------|------|75| [N-2] | [X] | [Y] | [Z%] |76| [N-1] | [X] | [Y] | [Z%] |77| [N] (current) | [X] | [Y] | [Z%] |7879**Trend**: [Increasing / Stable / Decreasing]80[One sentence explaining the trend]8182### What Went Well83- [Observation backed by specific data or examples]84- [Another positive observation]85- [Recognize specific contributions or decisions that paid off]8687### What Went Poorly88- [Specific issue with measurable impact -- e.g., "Feature X took 5 days89 instead of estimated 2, blocking tasks Y and Z"]90- [Another issue with impact]91- [Do not assign blame -- focus on systemic causes]9293### Blockers Encountered9495| Blocker | Duration | Resolution | Prevention |96|---------|----------|------------|------------|97| [What blocked progress] | [How long] | [How it was resolved] | [How to prevent recurrence] |9899### Estimation Accuracy100101| Task | Estimated | Actual | Variance | Likely Cause |102|------|-----------|--------|----------|--------------|103| [Most overestimated task] | [X] | [Y] | [+Z] | [Why] |104| [Most underestimated task] | [X] | [Y] | [-Z] | [Why] |105106**Overall estimation accuracy**: [X%] of tasks within +/- 20% of estimate107108[Analysis: Are we consistently over- or under-estimating? For which types of109tasks? What adjustment should we apply?]110111### Carryover Analysis112113| Task | Original Sprint | Times Carried | Reason | Action |114|------|----------------|---------------|--------|--------|115| [Task that was not completed] | [Sprint N-X] | [N] | [Why] | [Complete / Descope / Redesign] |116117### Technical Debt Status118- Current TODO count: [N] (previous: [N])119- Current FIXME count: [N] (previous: [N])120- Current HACK count: [N] (previous: [N])121- Trend: [Growing / Stable / Shrinking]122- [Note any areas of concern]123124### Previous Action Items Follow-Up125126| Action Item (from Sprint N-1) | Status | Notes |127|-------------------------------|--------|-------|128| [Previous action] | [Done / In Progress / Not Started] | [Context] |129130### Action Items for Next Iteration131132| # | Action | Owner | Priority | Deadline |133|---|--------|-------|----------|----------|134| 1 | [Specific, measurable action] | [Who] | [High/Med/Low] | [When] |135| 2 | [Another action] | [Who] | [Priority] | [When] |136137### Process Improvements138- [Specific change to how we work, with expected benefit]139- [Another improvement -- keep it to 2-3 actionable items, not a wish list]140141### Summary142[2-3 sentence overall assessment: Was this a good sprint/milestone? What is143the single most important thing to change going forward?]144```1451468. **Save the retrospective** to the appropriate location:147 - Sprint: `production/sprints/sprint-[N]-retrospective.md`148 - Milestone: `production/milestones/[milestone-name]-retrospective.md`149150 Create the directory if it does not exist.1511529. **Output a summary** to the user with: completion rate, velocity trend153 direction, top blocker, and the most important action item.154155### Guidelines156157- Be honest and specific. Vague retrospectives ("communication could be158 better") produce vague improvements. Use data and examples.159- Focus on systemic issues, not individual blame.160- Limit action items to 3-5. More than that dilutes focus.161- Every action item must have an owner and a deadline.162- Check whether previous action items were completed. Recurring unaddressed163 items are a process smell.164- If this is a milestone retrospective, also evaluate whether the milestone165 goals were achieved and what that means for the overall project timeline.166167## Protocol168169- **Question**: Reads sprint number or milestone name from argument170- **Options**: Skip171- **Decision**: Skip — retrospective is advisory172- **Draft**: Full retrospective shown in conversation before saving173- **Approval**: "May I write to `production/retrospectives/retro-[name].md`?"174175## Output176177Deliver exactly:178179- **Retrospective document** saved to `production/retrospectives/retro-[sprint/milestone].md`180- **Velocity delta** — this sprint vs previous (faster/slower/same + %)181- **Top pattern** — the single most recurring theme (positive or negative)182- **Action items**: max 5, each with owner and deadline — verified not repeats from last retro