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.
12k tokens
context cost
the whole folder, loaded on every use
6
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
129
stars on the repo
on the repository, not the skill itself
Install
one command, takes just this skill from the repository
Bashruns shell commands — read the instruction before connecting
Editedits files in place
The instruction itself
42 sections, as written by the author
Session Retrospective Skill
Auto-Loaded Context
Session Analytics: contexts/session-analytics.md - Provides comprehensive framework for analyzing sessions, including data sources, metrics, and analysis methods.
Retrospective Templates: templates/retrospective-templates.md - Standardized report templates for different retrospective depths.
Core Responsibilities
1. Multi-Source Data Collection
Systematically gather data from all available sources:
Git History: Commits, diffs, file changes during session timeframe
Claude Logs: Conversation transcripts, tool usage, decision patterns
Project Files: Test coverage, code quality, compilation status
User Feedback: Direct input about goals, satisfaction, pain points
Sub-agent Interactions: When sub-agents were used, gather their feedback
Comprehensive Retrospective: Detailed analysis for significant sessions
Choose template based on session complexity and user needs
Working Process
Step 0: Quick Session Assessment
Before gathering data, determine the appropriate analysis depth:
Check session size:
# Count recent commits
git log --oneline --since="1 hour ago" | wc -l
# List session log files with metadata
${CLAUDE_PROJECT_DIR}/.claude/skills/extracting-session-data/scripts/list-sessions.sh --sort date | head -5
Suggest depth to user based on metrics:
Quick (<10 commits, <5MB logs): "5-10 min lightweight analysis"
Standard (10-25 commits, 5-20MB logs): "15-20 min balanced analysis"
Comprehensive (>25 commits, >20MB logs): "30+ min deep-dive analysis"
Let user override: "Based on [X commits, Y MB logs], I recommend a [MODE] retrospective (~Z minutes). Does this work for you, or would you prefer a different depth?"
Early exit clause: If user says "just a quick summary" or "high-level overview", automatically use Quick mode regardless of session size.
Step 1: Establish Session Scope
Ask user to define session boundaries (time range or commit range)
Clarify session goals: "What were you trying to accomplish?"
Confirm retrospective depth from Step 0
Step 2: Gather Data
Execute data collection based on confirmed depth mode:
Depth-Specific Data Collection
Quick Mode:
Git: git diff <start>..<end> --stat only (no full diffs)
Logs: Extract statistics and errors only via extracting-session-data skill
Files: Check compilation status only
User: 2-3 targeted questions
Skip: Sub-agent feedback, detailed file analysis
Standard Mode:
Git: Full commit history + stats, selective diffs for key files
Logs: Extract metadata, statistics, tool-usage, and errors via extracting-session-data skill
Files: Quality metrics for changed files
User: 5-7 questions covering main areas
Include: Sub-agent feedback if applicable
Comprehensive Mode:
Git: Everything (full logs, diffs, file analysis)
Logs: Extract all data types via extracting-session-data skill, may read full logs if <500 lines
Files: Deep analysis including tests, architecture compliance
User: Extensive feedback (8-10 questions)
Include: All sub-agent feedback, pattern extraction
Git Analysis
Use the analyzing-git-sessions skill to collect git data:
Quick Mode: Request "concise" output (stats only, no diffs)
Standard Mode: Request "detailed" output for key files
Comprehensive Mode: Request "code review" format for full analysis
Invoke skill with session timeframe:
Skill: analyzing-git-sessions
Input: "<start-time> to <end-time>" or "<start-commit>..<end-commit>"
Depth: [concise|detailed|code-review] based on retrospective mode
The skill will return structured git metrics needed for retrospective analysis.
Log Processing (Size-Aware)
Use the extracting-session-data skill to access Claude Code native session logs efficiently.
List Available Sessions:
# List all sessions with metadata (size, lines, date, branch)
${CLAUDE_PROJECT_DIR}/.claude/skills/extracting-session-data/scripts/list-sessions.sh
Check Session Size:
# Get statistics for specific session
${CLAUDE_PROJECT_DIR}/.claude/skills/extracting-session-data/scripts/extract-data.sh \
--type statistics --session SESSION_ID
Extract Data Based on Session Size and Mode:
Quick Mode (or any session >2000 lines):
# Extract only statistics and errors
extract-data.sh --type statistics --session SESSION_ID
extract-data.sh --type errors --session SESSION_ID --limit 10
# Extract all available data
extract-data.sh --type all --session SESSION_ID
# Or read full log file if needed for detailed analysis
# (Only for small sessions - check line count first!)
Multi-Session Analysis:
# Filter sessions by criteria
filter-sessions.sh --since "7 days ago" --branch main
# Extract data from all filtered sessions (omit --session flag)
extract-data.sh --type statistics # Runs on all sessions
Synthesize Extracted Data:
After extraction, synthesize data into compact summary (max 200 lines) before continuing to analysis.
Path Calculation: The extracting-session-data skill handles all path calculations automatically. Session logs are stored in ~/.claude/projects/{project-identifier}/ where the identifier is derived from the working directory path.
Scan for committed credentials → activate Skill(detecting-secrets) against the session's git diffs to warn if secrets were inadvertently committed
Assess security posture of new code → if the session introduced auth, crypto, or input-handling code, activate Skill(analyzing-code-security) to flag potential vulnerabilities in the retrospective report
Classify session changes by impact → activate Skill(classifying-review-findings) to categorize the session's changes using the CRITICAL/IMPORTANT/DEBT/SUGGESTED framework, giving users a clear picture of what needs attention
These skills are optional. If unavailable, proceed with standard retrospective analysis.
Success Criteria
A good retrospective should:
Inform: User learns something new about their workflow
Guide: Clear next steps for improvement
Motivate: Recognition of successes encourages continued good practices
Focus: Prioritization helps user know where to invest effort
Enable: Provides frameworks/patterns user can apply to future sessions