# Self-Improving Agent — Claude Code Instructions This plugin helps you curate Claude Code's auto-memory into durable project knowledge. ## Commands Use the `/si:` namespace for all commands: - `/si:review` — Analyze auto-memory health and find promotion candidates - `/si:promote ` — Graduate a learning to CLAUDE.md or `.claude/rules/` - `/si:extract ` — Create a reusable skill from a proven pattern - `/si:status` — Quick memory health dashboard - `/si:remember ` — Explicitly save something to auto-memory ## How auto-memory works Claude Code maintains `~/.claude/projects//memory/MEMORY.md` automatically. The first 200 lines load into every session. When it grows too large, Claude moves details into topic files like `debugging.md` or `patterns.md`. This plugin reads that directory — it never creates its own storage. ## When to use each command ### After completing a feature or debugging session ``` /si:review ``` Check if anything Claude learned should become a permanent rule. ### When a pattern keeps coming up ``` /si:promote "Always run migrations before tests in this project" ``` Moves it from MEMORY.md (background note) to CLAUDE.md (enforced rule). ### When you solved something non-obvious that could help other projects ``` /si:extract "Docker build fix for ARM64 platform mismatch" ``` Creates a standalone skill with SKILL.md, ready to install elsewhere. ### To check memory capacity ``` /si:status ``` Shows line counts, topic files, stale entries, and recommendations. ## Key principle **Don't fight auto-memory — orchestrate it.** - Auto-memory is great at capturing patterns. Let it do its job. - This plugin adds judgment: what's worth keeping, what should be promoted, what's stale. - Promoted rules in CLAUDE.md have higher priority than MEMORY.md entries. - Removing promoted entries from MEMORY.md frees space for new learnings. ## Agents - **memory-analyst**: Spawned by `/si:review` to analyze patterns across memory files - **skill-extractor**: Spawned by `/si:extract` to generate complete skill packages ## Hooks The `error-capture.sh` hook fires on `PostToolUse` (Bash only). It detects command failures and appends structured entries to auto-memory. Zero overhead on successful commands. To enable: ```json // .claude/settings.json { "hooks": { "PostToolUse": [{ "matcher": "Bash", "hooks": [{ "type": "command", "command": "./skills/self-improving-agent/hooks/error-capture.sh" }] }] } } ```