From toolkit-skills
Analyzes session history via ccrecall.db or in-context to extract learnings from corrections, discoveries, and failures, then proposes persistent skill updates. Invoke /reflect post-session.
npx claudepluginhub spences10/claude-code-toolkit --plugin toolkit-skillsThis skill uses the workspace's default tool permissions.
Extract learnings from sessions and persist to skill files.
Captures high/medium/low confidence patterns from conversations to prevent repeating mistakes and preserve successes. Invoke proactively after corrections, praise, edge cases, or skill-heavy sessions.
Captures high/medium/low confidence learnings from conversations via triggers like corrections, praise, edge cases. Improves skills by preventing mistakes and preserving successes. Invoke proactively after 'no/wrong', 'perfect', or session ends.
Reviews session to propose lean updates to existing skills, capturing debugging patterns, data issues, queries, doc references, and workflow improvements. Invoke at session end.
Share bugs, ideas, or general feedback.
Extract learnings from sessions and persist to skill files.
Run /reflect after sessions with:
/reflect # Analyze current session, suggest skill updates
/reflect skill-name # Target specific skill for updates
Note: This is manual-only. Run before ending sessions with learnings.
Auto-detection via Stop hooks doesn't work reliably:
| Issue | Problem |
|---|---|
| #16227 | Stop hook output is silent (not shown to user) |
| #10412 | Plugin Stop hooks fail with exit code 2 |
| #10875 | Plugin JSON output not captured |
| #3656 | Blocking functionality partially removed |
Stop hooks fire but can't communicate back - making them useless for reminders. Other self-improving skill implementations (autoskill, reflect-skill) also use manual triggering for this reason.
Try sources in order, use first available:
If user has ccrecall + mcp-sqlite-tools:
SELECT timestamp, role, content FROM messages
WHERE session_id = (SELECT MAX(session_id) FROM sessions)
ORDER BY timestamp DESC LIMIT 100;
Fallback when ccrecall unavailable:
Note which mode is active:
[reflect] Using: ccrecall.db (full history)
-- or --
[reflect] Using: in-context (current session only)
.claude-plugin/ → update skill in-place.claude/skills/ or global ~/.claude/skills/