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.
npx claudepluginhub pwarnock/pwarnock-cc-plugins --plugin session-retroThis skill uses the workspace's default tool permissions.
Generate a structured summary of the current coding session with learnings that feed back into project memory.
Reflects on Claude Code session progress at breakpoints or task shifts, generating summaries, learnings, decisions, tasks review, and persistence suggestions.
Generates markdown diary entries for coding sessions, capturing accomplishments, files changed, git commits, decisions, next steps, and handoffs. Triggers on 'save diary', 'log session', or 'wrapping up'.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Share bugs, ideas, or general feedback.
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.