Analyze the current session and propose improvements to skills based on what worked, what failed, and edge cases discovered. Use this skill whenever the user says "reflect", "improve skill", "learn from this", "what did we learn", "update the skill", or asks to capture learnings from a session. Also trigger at the end of any skill-heavy session when the user wants to iterate on skill quality, after corrections were made during a workflow, or when the user references improving their development process. Trigger even if the user just says "let's reflect" without naming a specific skill — the workflow will ask.
Analyze the current conversation to extract learnings and propose concrete improvements to a skill file. The goal is continuous skill refinement: corrections become constraints, successes validate patterns, and edge cases become new coverage.
~/.claude/skills/[skill-name]/SKILL.mdIf the user ran /reflect [skill-name], use that skill. Otherwise ask which skill
to analyze this session for. List skills found in ~/.claude/skills/ as options.
Scan the full conversation for four signal types. Read references/signal-patterns.md
for detailed detection heuristics and examples.
| Signal Type | Confidence | What to Look For |
|---|---|---|
| Corrections | HIGH | User rejected output, said "no", "not like that", explicitly corrected |
| Successes | MEDIUM | User accepted output, said "perfect", "great", built on top of it |
| Edge Cases | MEDIUM | Unanticipated questions, workarounds needed, uncovered features |
| Preferences | Accumulate | Repeated user choices, implicit style/tool/framework preferences |
Present findings in a structured summary. Each proposed change gets a priority level:
Format the proposal clearly:
┌─ Skill Reflection: [skill-name] ──────────────────────────┐
│ │
│ Signals: X corrections, Y successes │
│ │
│ Proposed changes: │
│ │
│ [HIGH] + Add constraint: "[specific constraint]" │
│ [MED] + Add preference: "[specific preference]" │
│ [LOW] ~ Note for review: "[observation]" │
│ │
│ Commit: "[skill]: [summary of changes]" │
└───────────────────────────────────────────────────────────┘
Apply these changes? [Y/n] or describe tweaks
Always show the exact text that will be added or modified before applying anything. Never modify skills without explicit user approval.
~/.claude/skills/[skill-name]/SKILL.mdcd ~/.claude/skills
git add [skill-name]/SKILL.md
git commit -m "[skill-name]: [concise change summary]"
git push origin main
If the user declines, ask: "Save these observations for later review?"
If yes, append findings to ~/.claude/skills/[skill-name]/OBSERVATIONS.md with
a timestamp header. This file accumulates observations across sessions for periodic review.
"[skill-name]: [what changed]"| File | When to Read |
|---|---|
references/signal-patterns.md | Need detailed heuristics for analyzing conversation signals, examples of each signal type, or guidance on edge case detection |