retrospective
Guides a structured team retrospective examining what went well, what didn't, and produces typed action items. Outputs a retro summary to agreements/retros/. Use when asked to "run a retro", "do a retrospective", "reflect on the sprint", "what went well", "review team performance", or when an cos:exec:todo issue requests a retrospective.
Best use case
retrospective is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Guides a structured team retrospective examining what went well, what didn't, and produces typed action items. Outputs a retro summary to agreements/retros/. Use when asked to "run a retro", "do a retrospective", "reflect on the sprint", "what went well", "review team performance", or when an cos:exec:todo issue requests a retrospective.
Teams using retrospective 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/retrospective/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How retrospective Compares
| Feature / Agent | retrospective | 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?
Guides a structured team retrospective examining what went well, what didn't, and produces typed action items. Outputs a retro summary to agreements/retros/. Use when asked to "run a retro", "do a retrospective", "reflect on the sprint", "what went well", "review team performance", or when an cos:exec:todo issue requests a retrospective.
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
# Retrospective Skill
Guide a structured retrospective conversation, gather data from the project
board, and produce a retro summary with typed action items.
## When to Use
- An `cos:exec:todo` issue requests a retrospective
- The operator asks to reflect on a sprint, milestone, or time period
- You want to identify improvement opportunities from completed work
## Procedure
### Step 1: Define Scope
Determine what period the retro covers:
- **Milestone-based**: A specific milestone (e.g., "v0.5 retrospective")
- **Time-based**: A date range (e.g., "last two weeks")
- **Epic-based**: A specific epic or feature area
Ask the operator or read the issue body to clarify the scope.
### Step 2: Gather Board Data
Query the project board for completed work within the retro scope.
```bash
# Use the github-project skill's query-issues operation
# By milestone:
# query-issues --type milestone --milestone "<milestone>"
# By status:
# query-issues --type status --status "done"
```
Gather these data points:
1. **Completed issues**: Count and list of closed issues in scope
2. **Rejection loops**: Count comments matching `"Changes requested"` or
`"review.changes_requested"` patterns per issue — multiple rounds indicate
friction
3. **Error statuses**: Issues that hit `error` status (check for `status/error`
label or project status field)
4. **Long-lived in-progress**: Issues that stayed in `*:in-progress` for more
than 2x the average cycle time
5. **Cycle time**: Time from `*:todo` to `*:done` for each issue
### Step 3: What Went Well
Identify patterns of success from the data:
- Issues completed quickly (below-average cycle time)
- Clean reviews (0-1 review rounds)
- Good designs that led to smooth implementation
- Effective collaboration patterns visible in comments
- Knowledge or tooling improvements that paid off
Document each positive pattern with supporting evidence (issue numbers, metrics).
### Step 4: What Didn't Go Well
Identify pain points and improvement areas:
- Long cycle times (above-average or outliers)
- Repeated rejections (3+ review rounds on a single issue)
- Issues that hit `error` status
- Blocked work (long periods with no progress)
- Missing context or unclear requirements visible in comment threads
- Process friction (manual steps that could be automated)
Document each pain point with supporting evidence.
### Step 5: Generate Action Items
For each identified improvement, create a typed action item:
| Type | When to Use | Follow-Through |
|------|------------|----------------|
| `process-change` | Workflow, status lifecycle, or ceremony changes | Create an `cos:exec:todo` issue referencing the retro |
| `role-change` | Add, remove, or restructure roles | Create an `cos:exec:todo` issue referencing the retro |
| `member-tuning` | Adjust PROMPT, CLAUDE.md, hats, skills, or PROCESS for a member | Create an `cos:exec:todo` issue referencing the retro |
| `knowledge-update` | Add or update knowledge docs | Can be handled by the knowledge-manager skill |
| `norm` | Propose a new team working agreement | Write directly to `agreements/norms/` |
Each action item must include:
- **Type**: One of the five types above
- **Description**: What should change and why
- **Evidence**: Issue numbers or metrics that support the recommendation
- **Priority**: high / medium / low
### Step 6: Write the Retro Summary
Write the output to `agreements/retros/NNNN-<title>.md` using the team
agreements convention format.
Determine the next sequence number:
```bash
ls agreements/retros/ | grep -oP '^\d+' | sort -n | tail -1
# Increment by 1, zero-pad to 4 digits
```
Use this template:
````markdown
---
id: <next-id>
type: retro
status: accepted
date: <today ISO date>
participants: [operator, chief-of-staff]
refs: [<issue-numbers-examined>]
---
# Retrospective: <scope title>
## Scope
<What period/milestone this retro covers>
## Data Summary
- Issues completed: N
- Average cycle time: X days
- Rejection loops (3+ rounds): N issues
- Error statuses: N issues
## What Went Well
<Bullet points with evidence>
## What Didn't Go Well
<Bullet points with evidence>
## Action Items
### <Action title>
- **Type**: `process-change` | `role-change` | `member-tuning` | `knowledge-update` | `norm`
- **Description**: <what should change>
- **Evidence**: <supporting data>
- **Priority**: high | medium | low
<Repeat for each action item>
````
### Step 7: Execute Immediate Actions
After writing the retro summary:
1. **For `norm` actions**: Write each norm directly to `agreements/norms/`
using the norm format from the team agreements convention. Set status to
`active` and reference the retro ID in `refs`.
2. **For `process-change`, `role-change`, `member-tuning` actions**: Create
`cos:exec:todo` issues on the team repo for each, referencing the retro file:
```bash
gh issue create --repo "$TEAM_REPO" \
--title "<action title>" \
--body "Follow-up from retro agreements/retros/NNNN-<title>.md\n\n<description>" \
--label "cos:exec:todo"
```
3. **For `knowledge-update` actions**: Document the recommendation in the
retro. The knowledge-manager skill or operator can pick these up.
### Step 8: Report
Summarize what was produced:
- Path to the retro file
- Number of action items by type
- Any `cos:exec:todo` issues created
- Any norms written to `agreements/norms/`
## Comment Format
All retrospective comments on issues use:
```
### 📋 chief-of-staff — $(date -u +%Y-%m-%dT%H:%M:%SZ)
```
## Error Handling
- If `gh` commands fail during data gathering, log the error and continue
with available data. A retro with partial data is better than no retro.
- If the `agreements/retros/` directory doesn't exist, create it.
- If writing norms fails, document the intended norm in the retro summary
and flag it for manual follow-up.Related Skills
workspace-sync
Sync and diagnose BotMinter workspaces. Use when the operator says "sync workspaces", "apply profile changes", "propagate changes", "update all workspaces", "check workspace health", "diff against profile", "full sync", "my workspace has old files", or "why is the workspace out of date". Do NOT use for member behavior/config tuning (use member-tuning) or structured process changes (use process-evolution).
team-design
Entry point for all day-2 team design operations. Routes operator intent to the appropriate sub-skill — retrospective, role-management, member-tuning, or process-evolution — and provides a unified dashboard of team design state. Use when asked to "design the team", "show me the team", "team overview", "what's our team setup", "let's evolve the team", "team health check", or when the operator's intent spans multiple team design areas.
role-management
Manages team role composition — list, add, remove, and inspect roles defined in botminter.yml. Includes impact analysis of statuses, hats, and knowledge before changes, and records every change as a team agreement decision. Use when asked to "add a role", "remove a role", "list roles", "inspect a role", "change team composition", "what roles do we have", "team structure", or when an cos:exec:todo issue requests a role change.
process-evolution
Guides deliberate, team-wide process changes — adding or removing statuses, modifying transitions, updating review gates, and evolving the workflow lifecycle. Validates changes against the status graph before applying and records every decision as a team agreement. Use when asked to "change the process", "add a status", "remove a status", "modify the workflow", "update transitions", "add a review gate", "evolve the process", "change auto-advance rules", or when an cos:exec:todo issue requests a process change.
member-tuning
Diagnoses and tunes individual member configurations by mapping symptoms to the responsible artifact — PROMPT.md, CLAUDE.md, ralph.yml (hats), skills, or PROCESS.md. Provides a diagnostic decision tree, inspection commands, example edits, and propagation steps for each artifact type. Use when asked to "tune a member", "fix a member", "troubleshoot a member", "member isn't working", "adjust member behavior", "member diagnostic", "why is the member doing X", or when an cos:exec:todo issue requests member tuning.
cos-session
Chief of Staff working session with the operator. Use when the operator says "chief of staff session", "cos session", "I have things to file", "let's work through some items", "I found some problems", "what's <member> doing", "let's go over the board", or brings any mix of observations, bugs, ideas, or operational concerns.
github-project
Manages GitHub Projects v2 workflows for issue tracking and project management. Use when user asks to "show the board", "view issues", "what's in [status]", "create an epic", "add a story", "create a bug", "move issue
workspace-doctor
Diagnoses common BotMinter workspace issues — stale submodules, broken symlinks, missing files, outdated context, and sync problems. Use when the operator asks to "check my workspace", "diagnose issues", "why isn't X working", "fix my setup", "workspace health", or "something seems wrong".
team-overview
Shows registered BotMinter teams, their members, roles, workspaces, and running state. Use when the operator asks to "show teams", "list teams", "who is on the team", "team status", "show members", or "what teams do I have". Reads ~/.botminter/config.yml and workspace directories.
profile-design
Designs and troubleshoots BotMinter profiles — team methodology templates that define roles, statuses, hats, skills, and process conventions. Use when the operator asks to "design a profile", "create a new role", "fork a profile", "fix my profile", "troubleshoot profile issues", "design a process workflow", "add a hat", "customize a profile", or "validate my profile". Operates on profile templates, not live team repos.
profile-browser
Browses and describes BotMinter profiles — team methodology templates that define roles, statuses, coding agents, and process conventions. Use when the operator asks to "list profiles", "show profiles", "what profiles are available", "describe a profile", "what roles does X have", or "compare profiles". Reads ~/.config/botminter/profiles/.
hire-guide
Interactive guide for hiring team members with `bm hire`. Helps operators choose roles, pick names, and understand hiring implications. Use when the operator asks to "hire someone", "add a member", "what roles can I hire", "help me hire", "who should I hire next", or "explain the roles".