# Sprint Retro

> Pulls a closed sprint from Linear, synthesizes themes, and writes the retro doc before the meeting.

- Skill: `fadil369/sprint-retro` (Agent Skill)
- Install (CLI): `npx skillmds@latest add fadil369/sprint-retro`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fadil369/sprint-retro/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: fadil369 (https://skillmd.com/u/fadil369)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/fadil369/sprint-retro

---


# Sprint Retro Facilitator

Automate sprint retrospective prep. Given a just-closed sprint, pull data from Linear and Slack, synthesize themes, and produce a ready-to-use retro doc before the meeting starts.

## How to invoke

Provide:
- **Sprint name or ID** in Linear (e.g. "Sprint 42" or a Linear cycle ID)
- **Slack channel** to scan for sentiment (e.g. `#eng-team`)
- **Output destination**: Notion page URL, or omit for inline output

## Process

### 1. Pull sprint data from Linear
- All issues in the closed sprint: title, assignee, status (shipped / slipped / re-scoped)
- Cycle time per ticket (created → closed)
- Any tickets re-scoped, re-assigned, or added mid-sprint
- Blocked issues and their blockers

### 2. Scrape team Slack for sentiment signals
- Threads containing: "blocked", "surprised", "waiting", "unclear", "LGTM", "nice", "shipped"
- Messages with 🎉 🚀 ✅ reactions (positive signals)
- Messages with 😬 🤔 ❓ reactions or :thread: chains > 10 replies (friction signals)
- Link each signal back to the relevant ticket where possible

### 3. Write the retro doc

Three sections, 3–5 bullets each, every bullet backed by a specific ticket or message link:

**Went well**
What shipped cleanly, what the team did well, positive patterns worth repeating.

**Dragged**
What slowed the sprint down. Be specific — not "communication was bad" but "three tickets were re-assigned mid-sprint without Slack heads-up (LIN-123, LIN-456, LIN-789)".

**Try next sprint**
Concrete, testable process changes. One sentence per bullet, actionable next Monday.

### 4. Propose one process change
End with a single recommended process change for next sprint and a rough confidence score (0–100%) that it will stick, with a one-line justification.

## Output format

```
# Sprint Retro: [Sprint Name]
*Prepared: YYYY-MM-DD | [N] issues shipped | [N] slipped*

## Went well
- [Specific observation] → [LIN-XXX](link) / [Slack thread](link)
...

## Dragged
- [Specific friction point] → [LIN-XXX](link) / [Slack thread](link)
...

## Try next sprint
- [Actionable process change]
...

## Recommended change for next sprint
**[Change]** — Confidence: XX% — [One-line rationale]
```

## Requirements

- **Linear MCP** required to pull sprint data. Configure at `https://mcp.linear.app/mcp`.
- **Slack MCP** required for sentiment scraping. Configure at `https://mcp.slack.com/mcp`.
- Without MCP access, provide the sprint data manually and the agent will synthesize from text input.

