| name | mu-retro |
| description | Use for weekly or periodic retrospective — gather git metrics, review patterns, capture learnings to Claude Code memory. |
Retrospective
Gather quantitative git metrics and qualitative reflections for a time period. Capture non-obvious learnings to Claude Code memory for future sessions.
Independent of the main pipeline. Invoke with /mu-retro or /mu-retro 14d.
Process Flow
digraph mu_retro {
"Parse time window\n(default: 7d)" [shape=box];
"Gather git data\n(parallel)" [shape=box];
"Zero commits?" [shape=diamond];
"Report: No activity" [shape=box];
"Generate metrics table\n+ per-author breakdown" [shape=box];
"Qualitative reflection\n(dialogue with user)" [shape=box];
"Write retro artifact\n+ commit" [shape=box];
"Write to Claude Code memory\n(non-obvious findings only)" [shape=doublecircle];
"Parse time window\n(default: 7d)" -> "Gather git data\n(parallel)";
"Gather git data\n(parallel)" -> "Zero commits?";
"Zero commits?" -> "Report: No activity" [label="yes"];
"Zero commits?" -> "Generate metrics table\n+ per-author breakdown" [label="no"];
"Report: No activity" -> "Qualitative reflection\n(dialogue with user)";
"Generate metrics table\n+ per-author breakdown" -> "Qualitative reflection\n(dialogue with user)";
"Qualitative reflection\n(dialogue with user)" -> "Write retro artifact\n+ commit";
"Write retro artifact\n+ commit" -> "Write to Claude Code memory\n(non-obvious findings only)";
}
Process
- Parse time window from argument (default: 7d)
- Convert to absolute start date at midnight
- Example:
7d on 2026-04-12 → start 2026-04-05T00:00:00
- Gather data (run in parallel):
git log --since="<date>" --format="%H|%an|%s|%aI"
git shortlog -sn --since="<date>"
git log --since="<date>" --name-only --format="" | sort | uniq -c | sort -rn | head -10
find . -name "*test*" -o -name "*spec*" | grep -v node_modules | wc -l
- Check for zero commits:
- If no commits in window → report "No activity in this period"
- Skip metrics table, proceed directly to qualitative reflection
- Generate metrics table:
| Metric | Value |
|---|
| Commits | N |
| Contributors | N |
| Lines changed | +N / -M |
| Test files | N |
| Hottest files | top 3 by change frequency |
- Per-author breakdown:
| Author | Commits | Top area |
|---|
| ... | ... | ... |
- Qualitative reflection (dialogue with user, one at a time):
- "What went best this period?"
- "What was most surprising?"
- "What would you change next period?"
- Write retro artifact to
docs/retro/YYYY-MM-DD-retro.md
- Commit artifact
- Write to Claude Code memory (project type):
- Only non-obvious findings worth remembering across sessions
- Examples: "module X is a change hotspot", "test coverage thin in Y area"
- Check existing memory first — update if similar memory exists, create new if not
Key Principles
- Data first, then reflection — show the numbers before asking opinion
- One reflection question at a time — don't overwhelm
- Memory is selective — only write non-obvious, durable findings. Don't dump metrics.
- Handle edge cases gracefully — zero commits, shallow clones, monorepos
- Standalone, no chaining — does NOT invoke other skills