Transform your AI assistant into a continuously improving partner. Every correction becomes a permanent improvement that persists across all future sessions.
CommandActionreflectAnalyze conversation for learningsreflect onEnable auto-reflectionreflect offDisable auto-reflectionreflect statusShow state and metricsreflect reviewReview pending learnings
Analyze the conversation for correction signals and learning opportunities.
Signal Confidence Levels:
ConfidenceTriggersExamplesHIGHExplicit corrections"never", "always", "wrong", "stop", "the rule is"MEDIUMApproved approaches"perfect", "exactly", "that's right", accepted outputLOWObservationsPatterns that worked but not explicitly validated
See signal_patterns.md for full detection rules.
Map each signal to the appropriate target:
CategoryTarget FilesCode Stylecode-reviewer, backend-developer, frontend-developerArchitecturesolution-architect, api-architect, architecture-reviewerProcessCLAUDE.md, orchestrator agentsDomainDomain-specific agents, CLAUDE.mdToolsCLAUDE.md, relevant specialistsNew SkillCreate new skill file
See agent_mappings.md for mapping rules.
Some learnings should become new skills rather than agent updates:
Skill-Worthy Criteria:
Quality Gates (must pass all):
Present findings in structured format:
markdown
# Reflection Analysis
## Session Context
- **Date**: [timestamp]
- **Messages Analyzed**: [count]
## Signals Detected
| # | Signal | Confidence | Source Quote | Category |
|---|--------|------------|--------------|----------|
| 1 | [learning] | HIGH | "[exact words]" | Code Style |
## Proposed Changes
### Change 1: Update [agent-name]
**Target**: `[file path]`
**Section**: [section name]
**Confidence**: HIGH
```diff
+ New rule from learning
Apply these changes? (Y/N/modify/1,2,3)
text
### Step 5: Apply with User Approval
**On `Y` (approve):**
1. Apply each change using Edit tool
2. Commit with descriptive message
3. Update metrics
**On `N` (reject):**
1. Discard proposed changes
2. Log rejection for analysis
**On `modify`:**
1. Present each change individually
2. Allow editing before applying
**On selective (e.g., `1,3`):**
1. Apply only specified changes
2. Commit partial updates
## State Management
State is stored in `~/.reflect/` (configurable via `REFLECT_STATE_DIR`):
```yaml
# reflect-state.yaml
auto_reflect: false
last_reflection: "2026-01-26T10:30:00Z"
pending_reviews: []
yaml
# reflect-metrics.yaml
total_sessions_analyzed: 42
total_signals_detected: 156
total_changes_accepted: 89
acceptance_rate: 78%
confidence_breakdown:
high: 45
medium: 32
low: 12
most_updated_agents:
code-reviewer: 23
backend-developer: 18
skills_created: 5
Project-level (versioned with repo):
.claude/reflections/YYYY-MM-DD_HH-MM-SS.md - Full reflection.claude/skills/{name}/SKILL.md - New skillsGlobal (user-level):
~/.reflect/learnings.yaml - Learning log~/.reflect/reflect-metrics.yaml - Aggregate metricsUser says: "Never use var in TypeScript, always use const or let"
Signal detected:
frontend-developer.mdProposed change:
diff
## Style Guidelines
+ * Use `const` or `let` instead of `var` in TypeScript
User says: "Always run tests before committing"
Signal detected:
CLAUDE.mdProposed change:
diff
## Commit Hygiene
+ * Run test suite before creating commits
Context: Spent 30 minutes debugging a React hydration mismatch
Signal detected:
Proposed skill: react-hydration-fix/SKILL.md
No signals detected:
Conflict warning:
Agent file not found: