// This skill should auto-trigger when the user asks to "reflect on my work", "what have I learned", "where were we", "identify my knowledge gaps", "review my coding habits", "find my antipatterns", "extract decisions for CLAUDE.md", "do a retrospective", "mentor review", "catch up on project", or wants insights from their conversation history. Analyzes past sessions to surface learning patterns, mistakes, growth areas, and actionable insights.
| name | reflect |
| description | This skill should auto-trigger when the user asks to "reflect on my work", "what have I learned", "where were we", "identify my knowledge gaps", "review my coding habits", "find my antipatterns", "extract decisions for CLAUDE.md", "do a retrospective", "mentor review", "catch up on project", or wants insights from their conversation history. Analyzes past sessions to surface learning patterns, mistakes, growth areas, and actionable insights. |
Analyze conversation history and git activity to extract insights. Uses iterative discovery combining comprehensive extraction and semantic search, with each enriching the other.
Fetches raw conversation data from ~/.claude/projects/:
# Project-specific (activity-based: N days from last activity, not from today)
python3 ~/.claude/skills/reflect/scripts/extract_conversations.py --days 3
python3 ~/.claude/skills/reflect/scripts/extract_conversations.py --days 7 --project /path/to/project
# Cross-project (calendar-based: N days from today)
python3 ~/.claude/skills/reflect/scripts/extract_conversations.py --days 2 --all-projects
python3 ~/.claude/skills/reflect/scripts/extract_conversations.py --days 3 --from-today
# By conversation IDs (from episodic-memory search)
python3 ~/.claude/skills/reflect/scripts/extract_conversations.py --ids abc123,def456
python3 ~/.claude/skills/reflect/scripts/extract_conversations.py --paths /full/path/to/conv.jsonl
Important: For project-specific queries, --days counts back from the most recent activity on that project, not from today. This ensures "where were we" works when returning to older projects. Use --all-projects or --from-today for calendar-based timeframes.
Returns: session IDs, summaries, user requests, tool uses, files modified, errors, timestamps.
Use semantic search to find relevant conversation IDs/paths:
mcp__plugin_episodic-memory_episodic-memory__search
query: "pattern to find" or ["term1", "term2"] for AND search
limit: number of results
after: "YYYY-MM-DD" date filter
before: "YYYY-MM-DD" date filter
Returns: conversation paths, snippets, relevance scores.
Critical: Use MCP search ONLY to discover conversation paths. NEVER use __read to read conversations. Always pass discovered paths to the extraction script:
python3 ~/.claude/skills/reflect/scripts/extract_conversations.py --paths /path/to/conv1.jsonl,/path/to/conv2.jsonl
The script is more efficient and provides structured output optimized for analysis.
Do NOT run tools in parallel with fixed queries. Instead, iterate:
1. INITIAL EXTRACTION
โโ Run script for default timeframe (per lens)
โโ Gather git history (depth per lens)
โโ Review raw data, identify themes
2. FORM HYPOTHESES
โโ What patterns are emerging?
โโ What topics recur?
โโ What needs deeper investigation?
3. SEMANTIC ENRICHMENT
โโ Use MCP search with hypothesis-driven queries
โโ Get conversation paths from results
โโ Fetch full conversations via script --paths
โโ Review new data
4. DEEPER ANALYSIS
โโ New patterns from fetched conversations?
โโ Form new hypotheses if needed
โโ Loop back to step 3 if more discovery needed
5. SYNTHESIZE
โโ Combine all findings
โโ Apply lens-specific format
โโ Suggest follow-up actions
This adaptive approach discovers more than fixed parallel queries.
Each lens has default timeframe and git depth. Adjust based on user request.
| Lens | Trigger Phrases | Default Time | Time Mode | Git Depth |
|---|---|---|---|---|
| where-were-we | "where were we", "catch up", "recap" | 2-3 days | Activity | Full recent |
| learning | "what did I learn", "reflect", "insights" | 2 weeks | Calendar | Light |
| gaps | "gaps", "struggling with", "what should I study" | 1 month | Calendar | Minimal |
| mentor | "mentor", "senior review", "feedback" | 1-2 weeks | Calendar | Moderate |
| retro | "retro", "retrospective", "how did it go" | Project scope | Activity | Full |
| decisions | "decisions", "document choices", "CLAUDE.md" | Project lifetime | Activity | Architectural |
| antipatterns | "antipatterns", "bad habits", "mistakes I keep making" | 1 month | Calendar | Moderate |
Time Mode:
--days for project-specific)--all-projects or --from-today)Project-focused context restoration. Prioritize:
Output: concise status of where work stands.
Extract growth indicators:
Output: what was learned, what's improving, what needs attention.
Identify knowledge deficiencies:
Output: topics needing study, confidence assessment.
Follow-up: suggest learn-anything skill for identified gaps.
Evaluate process quality:
Output: strengths, growth areas, specific recommendations.
Project/feature retrospective:
Output: what went well, what to improve, lessons for next time.
Extract architectural choices:
Output: decisions with context.
Follow-up: suggest /updateclaudemd to document decisions.
Find recurring negative patterns:
Output: identified antipatterns with examples, corrections.
For project-scoped analysis, gather git context:
# Recent activity
git log --oneline --since="3 days ago"
git status
git branch -v
# For retro/mentor: deeper history
git log --oneline --since="2 weeks ago" --stat
git shortlog -sn --since="1 month ago"
# For decisions: architectural changes
git log --oneline --all --merges
Git depth varies by lens โ use the table above as guide.
Determine scope from user request:
Project-specific ("where were we", "retro on invoice project"):
--project flagCross-project ("reflect on my week", "what gaps do I have"):
--all-projects flag__read for full conversations)scripts/extract_conversations.py: Raw conversation extractionreferences/synthesis-templates.md: Output templates per lensexamples/: Sample outputs