Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Graduate a proven pattern from auto-memory (MEMORY.md) to CLAUDE.md or .claude/rules/ for permanent enforcement. Use when the user runs /si:promote or asks to make a learned behavior permanent.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-13 | ✓→✗ | ▼ Worse | 278% | 0% |
| case-14 | ✓→✗ | ▼ Worse | 78% | 0% |
| case-15 | ✓→✗ | ▼ Worse | 25% | 0% |
Moves a proven pattern from Claude's auto-memory into the project's rule system, where it becomes an enforced instruction rather than a background note.
/si:promote <pattern description> # Auto-detect best target
/si:promote <pattern> --target claude.md # Promote to CLAUDE.md
/si:promote <pattern> --target rules/testing.md # Promote to scoped rule
/si:promote <pattern> --target rules/api.md --paths "src/api/**/*.ts" # Scoped with pathsParse the user's description. If vague, ask one clarifying question:
bash# Search MEMORY.md for related entries MEMORY_DIR="$HOME/.claude/projects/$(pwd | sed 's|/|%2F|g; s|%2F|/|; s|^/||')/memory" grep -ni "<keywords>" "$MEMORY_DIR/MEMORY.md"
Show the matching entries and confirm they're what the user means.
| Pattern scope | Target | Example | |---|---|---| | Applies to entire project | ./CLAUDE.md | "Use pnpm, not npm" | | Applies to specific file types | .claude/rules/<topic>.md | "API handlers need validation" | | Applies to all your projects | ~/.claude/CLAUDE.md | "Prefer explicit error handling" |
If the user didn't specify a target, recommend one based on scope.
Transform the learning from auto-memory's note format into CLAUDE.md's instruction format:
Before (MEMORY.md — descriptive): > The project uses pnpm workspaces. When I tried npm install it failed. The lock file is pnpm-lock.yaml. Must use pnpm install for dependencies.
After (CLAUDE.md — prescriptive):
markdown## Build & Dependencies - Package manager: pnpm (not npm). Use `pnpm install`.
Rules for distillation:
For CLAUDE.md:
.claude/rules/ insteadFor .claude/rules/:
paths if scopedmarkdown--- paths: - "src/api/**/*.ts" - "tests/api/**/*" --- # API Development Rules - All endpoints must validate input with Zod schemas - Use `ApiError` class for error responses (not raw Error) - Include OpenAPI JSDoc comments on handler functions
After promoting, remove or mark the original entry in MEMORY.md:
bash# Show what will be removed grep -n "<pattern>" "$MEMORY_DIR/MEMORY.md"
Ask the user to confirm removal. Then edit MEMORY.md to remove the promoted entry. This frees space for new learnings.
✅ Promoted to {{target}}
Rule: "{{distilled rule}}"
Source: MEMORY.md line {{n}} (removed)
MEMORY.md: {{lines}}/200 lines remaining
The pattern is now an enforced instruction. Claude will follow it in all future sessions.| Use CLAUDE.md for | Use .claude/rules/ for | |---|---| | Global project rules | File-type-specific patterns | | Build commands | Testing conventions | | Architecture decisions | API design rules | | Team conventions | Framework-specific gotchas |
Other measured skills in the registry, with their headline benchmark lift.