sprint-retro
Use at the end of a sprint to run a data-driven retrospective — analyzes session history and git metrics to surface what shipped, what slowed you down, and concrete improvements.
Best use case
sprint-retro is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use at the end of a sprint to run a data-driven retrospective — analyzes session history and git metrics to surface what shipped, what slowed you down, and concrete improvements.
Teams using sprint-retro should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/sprint-retro/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How sprint-retro Compares
| Feature / Agent | sprint-retro | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use at the end of a sprint to run a data-driven retrospective — analyzes session history and git metrics to surface what shipped, what slowed you down, and concrete improvements.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Sprint Retrospective
Use Copilot CLI's `/chronicle` session history and git metrics to run a data-driven
retrospective. Go beyond "what went well / what didn't" — anchor the discussion in facts.
## When to Use
- End of each sprint or iteration
- After a major feature ships
- When velocity has been unexpectedly high or low
- When the team wants to improve but isn't sure where to start
## Getting Session Data
### `/chronicle` — Session History
> ⚠️ Experimental feature — enable with `/experimental on` before using.
```text
/experimental on
/chronicle
```
`/chronicle` generates a timeline of your Copilot sessions: what you worked on,
session durations, tool usage patterns, and key decisions made.
Use this to answer:
- What did we actually build this sprint?
- How much time did each major task take?
- Which tasks got re-opened or took multiple sessions?
### Git Metrics
```text
> Analyze the git log for the last 2 weeks:
> - Number of commits
> - Files most frequently changed
> - Commit frequency by day (are we shipping continuously or in bursts?)
> - PR merge times (open → merged)
> - Any files with unusually high churn (changed in > 50% of commits)
```
```bash
# Commit count and velocity
git log --since="2 weeks ago" --oneline | wc -l
# Files with most churn
git log --since="2 weeks ago" --name-only --pretty=format: | sort | uniq -c | sort -rn | head -20
# PR cycle time (requires gh CLI)
gh pr list --state merged --json createdAt,mergedAt --limit 20
```
## Retro Framework
### What We Shipped
```text
> Based on /chronicle and git log, summarize what we shipped this sprint.
> Group by feature area. Include: PR links, key decisions, and anything
> that surprised you about how it came together.
```
### Velocity Analysis
```text
> Compare planned scope vs. actual scope:
> - What was planned but not shipped? (Why?)
> - What was shipped but not planned? (Unplanned work or scope creep?)
> - What tasks took significantly longer than expected?
```
### Friction Points
```text
> Identify the top 3 friction points from this sprint:
> - Where did I spend time on tooling/process rather than building?
> - Any tasks that required multiple attempts or restarts?
> - What would have been faster with better upfront planning?
```
### What Worked Well
```text
> What patterns from this sprint accelerated delivery?
> - Which Copilot CLI features saved the most time?
> - Any workflows we should standardize?
> - Code patterns or architectural decisions that simplified implementation?
```
## Action Items
Generate concrete, owner-assigned improvements:
```text
> Based on the retro analysis, generate 3-5 concrete action items for next sprint.
> Each action item should be:
> - Specific and measurable
> - Completable within one sprint
> - Assigned to a skill, tool, or workflow change (not vague "be better at X")
>
> Format: | Action | Owner | Success Metric |
```
## Full Retro Workflow
### Step 1: Gather Session Data
```powershell
# Enable experimental features and pull session chronicle
/experimental on
/chronicle
```
### Step 2: Collect Git Metrics
```powershell
# Commit count this sprint
git log --since="2 weeks ago" --oneline | Measure-Object -Line | Select-Object -ExpandProperty Lines
# Files with highest churn (changed most often)
git log --since="2 weeks ago" --name-only --pretty=format: |
Where-Object { $_ -ne "" } | Sort-Object | Group-Object | Sort-Object Count -Descending |
Select-Object -First 15 | Format-Table Count, Name -AutoSize
# PR cycle time (open → merged)
gh pr list --state merged --json number,title,createdAt,mergedAt --limit 20 |
ConvertFrom-Json | ForEach-Object {
$cycle = ([datetime]$_.mergedAt - [datetime]$_.createdAt).TotalHours
[PSCustomObject]@{ PR = $_.number; Hours = [math]::Round($cycle,1); Title = $_.title }
} | Sort-Object Hours -Descending | Format-Table -AutoSize
```
### Step 3: Generate Retro Summary
```text
> Using the /chronicle data and git metrics above, create a sprint retrospective report.
> Include: (1) shipped features, (2) velocity vs. plan, (3) top 3 friction points,
> (4) what worked well. Cite specific commits or PRs where possible.
```
### Step 4: Generate Action Items
```text
> Based on the retro analysis, generate exactly 3 concrete action items for next sprint.
> Each must be specific, measurable, and completable in one sprint.
> Format as a table: | Action | Owner | Success Metric |
```
### Step 5: Save to File
```powershell
# Write the retro to the team docs folder
$date = Get-Date -Format "yyyy-MM-dd"
# Paste Copilot output into:
New-Item -Path "docs/retros/retro-$date.md" -ItemType File
```
## Output Format
A completed retro produces:
```markdown
## Sprint Retro — 2024-12-06
### Shipped
| Feature | PR | Cycle Time |
|---------|-----|-----------|
| User pagination | #142 | 18h |
| Rate limiting | #147 | 6h |
### Velocity
- Planned: 5 features → Shipped: 4 (80%)
- Unplanned work: 2 hotfixes consumed ~20% capacity
### Friction Points
1. PR reviews averaging 14h (target: 8h)
2. `src/db/` changed in 60% of commits — high instability
3. Test suite takes 4m 30s — slows feedback loop
### What Worked
- Plan Mode prevented 2 mid-sprint course corrections
- `/fleet` parallelized the API route work
### Action Items
| Action | Owner | Success Metric |
|--------|-------|----------------|
| Add required reviewers policy | @lead | PR cycle time < 8h |
| Extract db helpers to reduce churn | @dev | db/ churn < 30% |
| Parallelize test suite with --shard | @ci | Suite time < 2m |
```
## Tips
- **Data before opinions**: Anchor the retro in `/chronicle` and git metrics before going subjective
- **Focus on systems, not people**: "Our PR review process takes 3 days" not "X is slow to review"
- **Time-box action items**: If you generate 10 items, nothing changes. Pick 3 max.
- **Compare sprint over sprint**: Keep a `docs/retros/` folder and trend the metrics over time
- **Don't skip when things go well**: The best retros often come from successful sprints
## See Also
- [`sprint-workflow`](../sprint-workflow/SKILL.md) — Full sprint execution (Think → Plan → Build → Review → Ship)
- [`commit-workflow`](../commit-workflow/SKILL.md) — Conventional commits that feed clean git metrics
- [`add-to-changelog`](../../documentation/add-to-changelog/SKILL.md) — Changelog entries generated from same git dataRelated Skills
sprint-workflow
Use when starting a new feature, refactor, or multi-step dev task — runs the full sprint cycle (Think → Plan → Build → Review → Test → Ship → Monitor) using Copilot CLI's plan/autopilot modes.
verification-before-completion
Use before claiming any task is done — run the exact command that proves the fix works, read the output, and only then report success.
using-git-worktrees
Use when you need multiple branches checked out at once — create isolated working directories for parallel development without cloning the repository repeatedly
triage
Use when a single issue needs structured triage — classify it, reproduce if needed, request missing information, and leave a durable brief or close-out note in the tracker.
to-issues
Use when a plan, spec, or PRD must become an actionable backlog — break it into thin dependency-aware issues that each deliver a verifiable vertical slice
security-audit
Use when a codebase needs a formal security audit beyond a quick scan — applies OWASP Top 10 and STRIDE threat modeling from a CSO perspective to surface systemic vulnerabilities.
release
Use when a sprint or feature is complete and ready to ship — tags the version, generates GitHub Release notes, runs rollout or smoke verification, and publishes to npm/PyPI/Docker registries.
prompt-optimizer
Use when a rough prompt, vague idea, or task description needs to become a finished copy-pasteable prompt for a chat-based LLM - rewrite it into one ready-to-send prompt with no blanks, no placeholders, and a clear output shape.
outside-voice
Use when you need an independent second opinion before, during, or after implementation — run challenge, consult, or review mode in a direct builder-to-builder voice
llm-wiki
Use when research or domain knowledge keeps getting rediscovered across sessions — build a supplementary markdown wiki that compounds synthesized knowledge without replacing GitHub or committed project guidance
interview-me
Use when a request is underspecified and you need to discover what the user actually wants before writing a plan, spec, or code - ask one question at a time, attach your current hypothesis, and stop only after the intent is explicitly confirmed.
implementation-review
Use after an implementation pass lands — compare the original task spec or handoff against the delivered diff, classify each requested item, and produce an actionable follow-up report.