Analyzes session patterns to propose improvements for specific AI skills.

Install

mkdir -p .claude/skills/reflect && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5519" && unzip -o skill.zip -d .claude/skills/reflect && rm skill.zip

Installs to .claude/skills/reflect

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Analyze the current session and propose improvements to skills. **Proactively invoke this skill** when you notice user corrections after skill usage, or at the end of skill-heavy sessions. Also use when user says "reflect", "improve skill", or "learn from this".
262 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Analyze session history for skill improvements
  • Identify user corrections and success patterns
  • Propose specific constraint or preference updates
  • Automate skill file updates via git
  • Toggle automatic end-of-session reflection

How it works

The skill parses conversation logs to detect user feedback and edge cases, then generates structured proposals for modifying skill files.

Inputs & outputs

You give it
Skill name or current session context
You get back
Proposed skill modifications and git commit summary

When to use reflect

  • Reviewing a session where code generation failed
  • Identifying patterns in user preferences
  • Proactively checking skill performance after complex tasks

About this skill

Reflect Skill

Analyze the current session and propose improvements to skills based on what worked, what didn't, and edge cases discovered.

Trigger

Run /reflect or /reflect [skill-name] after a session where you used a skill.

Additional commands:

  • /reflect on - Enable automatic end-of-session reflection
  • /reflect off - Disable automatic reflection
  • /reflect status - Check if auto-reflect is enabled

Workflow

Step 1: Identify the Skill

If skill name not provided, ask:

Which skill should I analyze this session for?
- frontend-design
- code-reviewer
- [other]

Step 2: Analyze the Conversation

Look for these signals in the current conversation:

Corrections (HIGH confidence):

  • User said "no", "not like that", "I meant..."
  • User explicitly corrected output
  • User asked for changes immediately after generation

Successes (MEDIUM confidence):

  • User said "perfect", "great", "yes", "exactly"
  • User accepted output without modification
  • User built on top of the output

Edge Cases (MEDIUM confidence):

  • Questions the skill didn't anticipate
  • Scenarios requiring workarounds
  • Features user asked for that weren't covered

Preferences (accumulate over sessions):

  • Repeated patterns in user choices
  • Style preferences shown implicitly
  • Tool/framework preferences

Step 3: Propose Changes

Present findings using accessible colors (WCAG AA 4.5:1 contrast ratio):

┌─ 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

Accessible Color Palette (use ANSI codes in terminal output):

  • HIGH: \033[1;31m (bold red #FF6B6B - 4.5:1 on dark)
  • MED: \033[1;33m (bold yellow #FFE066 - 4.8:1 on dark)
  • LOW: \033[1;36m (bold cyan #6BC5FF - 4.6:1 on dark)
  • Reset: \033[0m

Avoid: pure red (#FF0000) on black, green on red (colorblind users)

User Response Options:

  • Y – Apply changes, commit, and push
  • n – Skip this update
  • Or describe any tweaks to the proposed changes

Step 4: If Approved

  1. Read the current skill file from .claude/skills/[skill-name]/SKILL.md
  2. Apply the changes using the Edit tool
  3. Run git commands:
    cd .claude/skills
    git add [skill-name]/SKILL.md
    git commit -m "[skill]: [change summary]"
    git push origin main
    
  4. Confirm: "Skill updated and pushed to GitHub"

Step 5: If Declined

Ask: "Would you like to save these observations for later review?"

If yes, append to .claude/skills/[skill-name]/OBSERVATIONS.md

Toggle Commands

/reflect on

Enable automatic end-of-session reflection:

  1. Create/update ~/.claude/reflect-skill-state.json with {"enabled": true, "updatedAt": "[timestamp]"}
  2. Confirm: "Auto-reflect enabled. Sessions will be analyzed automatically when you stop."

/reflect off

Disable automatic reflection:

  1. Update ~/.claude/reflect-skill-state.json with {"enabled": false, "updatedAt": "[timestamp]"}
  2. Confirm: "Auto-reflect disabled. Use /reflect manually to analyze sessions."

/reflect status

Check current status:

  1. Read ~/.claude/reflect-skill-state.json
  2. Report: "Auto-reflect is [enabled/disabled]" with last updated timestamp

Note: The state file is saved in the global Claude user directory (~/.claude/) so it persists across plugin upgrades.

Example Session

User runs /reflect frontend-design after a UI session:

┌─ Skill Reflection: frontend-design ───────────────┐
│                                                   │
│ Signals: 2 corrections, 3 successes               │
│                                                   │
│ Proposed changes:                                 │
│                                                   │
│ 🔴 [HIGH] + Constraints/NEVER:                    │
│    "Use gradients unless explicitly requested"    │
│                                                   │
│ 🔴 [HIGH] + Color & Theme:                        │
│    "Dark backgrounds: use #000, not #1a1a1a"      │
│                                                   │
│ 🟡 [MED] + Layout:                                │
│    "Prefer CSS Grid for card layouts"             │
│                                                   │
│ Commit: "frontend-design: no gradients, #000 dark"│
│                                                   │
└───────────────────────────────────────────────────┘

Apply these changes? [Y/n] or describe tweaks

Git Integration

This skill has permission to:

  • Read skill files from .claude/skills/
  • Edit skill files (with user approval)
  • Run git add, git commit, git push in the skills directory

The skills repo should be initialized at .claude/skills with a remote origin.

Important Notes

  • Always show the exact changes before applying
  • Never modify skills without explicit user approval
  • Commit messages should be concise and descriptive
  • Push only after successful commit

When not to use it

  • When the session lacks sufficient interaction data for analysis

Prerequisites

Initialized skills repository at .claude/skills

Limitations

  • Requires user approval for all file modifications
  • Analysis quality depends on conversation clarity

How it compares

It proactively learns from user corrections to refine future assistant behavior instead of relying on static instructions.

Compared to similar skills

reflect side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
reflect (this skill)17moReviewIntermediate
prompt-optimizer436moNo flagsBeginner
context-compression132moReviewAdvanced
learner23moNo flagsAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry