From session-retro
Generate a session retrospective summarizing work done, decisions made, and learnings. Use when the user says "/retro", "session summary", "what did we do", "retrospective", or at the end of a working session.
How this skill is triggered — by the user, by Claude, or both
Slash command
/session-retro:retroThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate a structured summary of the current coding session with learnings that feed back into project memory.
Generate a structured summary of the current coding session with learnings that feed back into project memory.
$ARGUMENTS — Optional: a short slug or topic name for the filename (e.g., "hono-migration"). If not provided, infer from the session's primary topic.Determine the commit range by finding the most recent retro:
# Find the last retro commit (if any)
git log --oneline --all --grep="session retrospective" --grep="session retro" --grep="docs/session-logs" -1 --format="%H"
If a previous retro commit exists, use it as the baseline:
git log --oneline <last-retro-hash>..HEAD --no-merges
If no previous retro exists, fall back to today's commits:
git log --oneline --since="midnight" --no-merges
If still no commits, fall back to the last 10:
git log --oneline -10 --no-merges
Get files changed across the identified range:
git diff --stat <baseline>..HEAD
Scan the conversation history for:
Check if docs/session-logs/ exists. If not, create it.
Generate filename: docs/session-logs/YYYY-MM-DD-<slug>.md
The slug comes from $ARGUMENTS if provided, otherwise derive from the primary topic (kebab-case, max 40 chars).
Create the file with this structure:
# Session: <Title>
**Date:** YYYY-MM-DD
**Branch:** <current branch>
## Goal
<1-2 sentence description of what the session set out to accomplish>
## Outcome
<Status emoji + summary>
- Use: ✅ Completed | 🔧 In Progress | 📚 Research Only | 🚧 Blocked | ❌ Abandoned
## Changes
### Commits
<List each commit hash + message>
### Files Modified
<Grouped by category — e.g., "Source", "Config", "Docs", "CI">
## Decisions Made
<Bulleted list of choices made and why. Focus on decisions where alternatives existed.>
## Open Questions
<Things unresolved, deferred, or needing follow-up. Tag with owner if known.>
## Learnings
<Insights about the codebase, tools, or patterns. These are candidates for CLAUDE.md or memory updates.>
After writing the retro, review the Learnings section and check:
.claude/projects/*/memory/) need updating?Ask the user: "Want me to apply any of these learnings to CLAUDE.md or project memory?"
Show the user the file path and a brief summary of what was captured. Do NOT commit automatically — let the user decide when to commit.
npx claudepluginhub pwarnock/pwarnock-cc-plugins --plugin session-retroReflects on Claude Code session progress at breakpoints or task shifts, generating summaries, learnings, decisions, tasks review, and persistence suggestions.
Performs comprehensive analysis of Claude Code sessions, examining git history, conversation logs, code changes, and gathering user feedback to generate actionable retrospective reports with insights for continuous improvement.
Writes a short distilled summary of a working session to docs/sessions/YYYY-MM-DD-<topic>.md after substantial work. Useful for maintaining continuity across sessions without dumping raw chat transcripts.