reflect
Reflect on session corrections and update CLAUDE.md (with human review)
Discover skill candidates from repeating session patterns
> /plugin marketplace add BayramAnnakov/claude-reflect > /plugin install claude-reflect@claude-reflect-marketplace
How it fires
How this command gets triggered: by you, by Claude, or both.
/reflect-skillsContext preview
What this command does when you run it.
Discover skill candidates from repeating session patterns
description: Discover skill candidates from repeating session patterns allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, TodoWrite
You are analyzing session history to discover **repeating patterns** that could become reusable skills.
**DO NOT use hardcoded patterns, regex, or keyword matching.**
Your job is to **reason** about the sessions and identify: 1. **Workflow patterns** - Multi-step sequences the user requests repeatedly 2. **Misunderstanding patterns** - Corrections that keep happening (could become skill guardrails) 3. **Prompt sequences** - Similar intents expressed in different words
Use your semantic understanding. The same intent might appear as:
These are the **same pattern** despite different wording.
---
**REQUIRED:** Use TodoWrite immediately to show progress. Update after each step.
{
"todos": [
{"content": "Parse arguments", "status": "in_progress", "activeForm": "Parsing command arguments"},
{"content": "Gather session data", "status": "pending", "activeForm": "Reading session files"},
{"content": "Check existing commands", "status": "pending", "activeForm": "Checking existing commands"},
{"content": "Analyze for patterns", "status": "pending", "activeForm": "Analyzing sessions for patterns"},
{"content": "Propose skill candidates", "status": "pending", "activeForm": "Proposing skill candidates"},
{"content": "Assign skills to projects", "status": "pending", "activeForm": "Assigning skills to projects"},
{"content": "Get user approval", "status": "pending", "activeForm": "Getting user approval"},
{"content": "Generate skill files", "status": "pending", "activeForm": "Generating skill files"},
{"content": "Validate skills", "status": "pending", "activeForm": "Validating generated skills"}
]
}Check for:
**Default behavior:** Only scan current project unless `--all-projects` is specified.
**Default behavior:** Only scan current project's sessions unless `--all-projects` specified.
# Get current project's session directory
PROJECT_PATH=$(pwd)
PROJECT_DIR=$(echo "$PROJECT_PATH" | sed 's|/|-|g' | sed 's|^-||')
SESSION_PATH="$HOME/.claude/projects/-${PROJECT_DIR}/"
# Verify session directory exists
ls -la "$SESSION_PATH" 2>/dev/null | head -5If `--all-projects` is specified:
# Find all project session directories ls -la ~/.claude/projects/ 2>/dev/null | head -20
Find session files:
# Find recent sessions (adjust date filter based on --days) find "$SESSION_PATH" -name "*.jsonl" -mtime -14 -type f 2>/dev/null
**Extract user messages using the existing script:**
# Use the plugin's extraction script - DO NOT reinvent with bash/jq
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/extract_session_learnings.py" "$SESSION_FILE"The extraction script handles:
**What to extract:**
Before analyzing patterns, discover what skills already exist:
# Check current project
ls .claude/commands/*.md 2>/dev/null | xargs -I{} basename {} .md
# Check global commands
ls ~/.claude/commands/*.md 2>/dev/null | xargs -I{} basename {} .mdStore the list of existing command names. During pattern analysis (Step 4), if a pattern's suggested name matches an existing command:
This prevents proposing duplicates.
**This is the core step. Use your reasoning to identify patterns.**
Read the extracted session data and think:
1. **Workflow Repetition**
2. **Semantic Similarity**
3. **Correction Patterns**
**Output your analysis GROUPED BY PROJECT:**
═══ PROJECT: edu-website ═══ PATTERN 1: Campaign Analytics ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Evidence (all from edu-website): - Session [date]: "review analytics for..." - Session [date]: "check campaign performance..." Intent: [What the user is trying to accomplish] Typical Steps: 1. [First action] 2. [Second action] 3. [Third action] Corrections Applied: [Any guardrails learned from corrections] Suggested Skill Name: /campaign-analytics Confidence: High ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ═══ PROJECT: bayram-os ═══ PATTERN 2: Daily Revi
A self-learning system for Claude Code that captures corrections and discovers workflow patterns — turning them into permanent memory and reusable skills.
Reflect on session corrections and update CLAUDE.md (with human review)