/done — Session Retrospective
Structured reflection that produces concrete artifacts. Not a journal entry — every finding either becomes a codified artifact or gets explicitly justified as not worth codifying.
Process
- Gather Evidence
Reconstruct session from multiple sources:
What changed
git diff --stat HEAD~N (or unstaged if no commits) git log --oneline -10
What was attempted (from conversation context)
- Commands that failed and why
- Bugs encountered and root causes
- Patterns discovered
- User corrections received
Current state
- Task list status
- Any pending/blocked items
- Categorize Findings
Sort into five buckets:
Bucket Question Example
Went well What should we keep doing? Module separation, lazy imports
Friction What slowed us down? Guessed at API, wrong return types
Bugs introduced What broke and why? Dict access on dataclass
Missing artifacts What docs/tools would have prevented friction? Module API reference
Architecture insights What design decisions proved right/wrong? SQLite for persistence
- Codification Pass
For EACH friction point and bug, evaluate codification targets in order:
Hook → Can we prevent this automatically? (pre-edit) Lint rule → Can a lint rule catch this at edit time? → invoke /guardrail Agent → Can a reviewer catch this? Skill → Is this a reusable workflow? Memory → Should auto-memory capture this? CLAUDE.md → Is this a convention/philosophy? Docs → Does a reference doc need updating?
Default: codify. Exception: justify not codifying.
3.5. Retro Append
If this session implemented a GitHub issue, append implementation feedback to {repo}/.groom/retro.md via /retro append :
-
Issue number
-
Predicted effort (from issue's effort label) vs actual effort
-
Scope changes (what was added/removed during implementation)
-
Blockers encountered
-
Reusable pattern for future scoping
This feeds the grooming feedback loop — /groom reads retro.md to calibrate future effort estimates and issue scoping.
3.6. Tune Repo
Run /tune-repo to refresh .glance.md summaries, update CLAUDE.md/AGENTS.md if drift is detected, and seed memory with new gotchas from the session.
- Execute Codification
For each item to codify:
-
Read the target file
-
Check for existing coverage (avoid duplication)
-
Add the learning in the file's native format
-
Verify no conflicts with existing content
Codification targets by type:
Target Location Format
Hook ~/.claude/settings.json
- ~/.claude/hooks/
Python/bash script
Agent ~/.claude/agents/
YAML agent config
Skill update ~/.claude/skills/*/SKILL.md
Markdown with frontmatter
Auto-memory ~/.claude/projects//memory/.md
Markdown notes
CLAUDE.md ~/.claude/CLAUDE.md Staging section Concise pattern
Project docs Repo CLAUDE.md , AGENTS.md , docs/
Varies
- Report
Output structured summary:
Session Retrospective
Went Well
- [item]: [why it worked]
Friction Points
- [item]: [what happened] → [codified to: file]
Bugs Introduced & Fixed
- [bug]: [root cause] → [codified to: file]
Artifacts Created/Updated
- [file]: [what changed]
Not Codified (with justification)
- [item]: [specific reason]
Open Items
- [anything left unfinished or flagged for future]
Integration
Consumes Produces
Session context (conversation) Updated CLAUDE.md staging
git diff , git log
New/updated skill files
Task list state New/updated hooks
Error logs from session Auto-memory entries
New/updated agents
.groom/retro.md entries
Hands off to:
-
/commit — if codification artifacts should be committed
-
/distill — if staging section is getting long (graduate to skills/agents)
Anti-Patterns
-
Writing a retrospective without producing artifacts ("reflecting without codifying")
-
Codifying things that are already covered (check existing files first)
-
Over-codifying obvious patterns that any model would know
-
Creating docs nobody will read (prefer hooks/agents that enforce automatically)
-
Skipping the "went well" section (positive reinforcement matters for pattern stability)
Visual Deliverable
After completing the core workflow, generate a visual HTML summary:
-
Read ~/.claude/skills/visualize/prompts/done-retro.md
-
Read the template(s) referenced in the prompt
-
Read ~/.claude/skills/visualize/references/css-patterns.md
-
Generate self-contained HTML capturing this session's output
-
Write to ~/.agent/diagrams/retro-{date}.html
-
Open in browser: open ~/.agent/diagrams/retro-{date}.html
-
Tell the user the file path
Skip visual output if:
-
The session was trivial (single finding, quick fix)
-
The user explicitly opts out (--no-visual )
-
No browser available (SSH session)