not what it remembers — how it learns
Claude Code remembers facts. This teaches it principles.
You correct Claude once. It should never make that mistake again — in any project, any session, forever.
That’s what this does. One slash command: /distill
or: curl -sL …/install.sh | bash — read it first if you’re the responsible kind.
also works via Homebrew on Linux. no sudo, writes only to ~/.claude/.
PowerShell. no admin required, writes only to %USERPROFILE%\.claude\.
Express preferences, correct mistakes, teach things. Claude's built-in memory saves facts — distill watches for the deeper patterns behind them.
/distillIt traces corrections to first principles, not surface observations. "Don't use the shared factory" becomes "blast radius awareness" — applicable everywhere.
Next session — any project, any repo — Claude retrieves by relevance, not recency. Tiered storage means the right knowledge at the right time. How confidence works →
Same model. Same prompt. Same session. The only difference: 18 lines of retrieval rules + accumulated knowledge. A/B methodology →
convinced yet? no? keep scrolling, we have graphs.
Your brain doesn't dump everything in one file. It has short-term, long-term, and procedural memory with active consolidation. Distill does the same — in 18 lines of config, no dependencies. Retrieval research →
still reading? you’re thorough. we respect that. the install script is too.
Baked into the process. Cannot be overridden by mood, pushback, or preference. Anchoring bias research →
Claude's memory saves observations — flat facts in one file. Distill saves principles — structured knowledge retrieved by relevance. Think of it as the difference between writing notes and actually studying them.
Yes. Once installed, distill owns all persistent knowledge. It disables auto-memory and tells Claude to route everything through the distillation pipeline — where it gets anti-sycophancy checks, confidence tracking, proper categorization, and tiered storage. The built-in system saves flat observations. Distill saves validated principles.
Distillation runs in a spawned sub-agent. Your main session stays untouched. Retrieval costs ~18 lines loaded at session start (the rules file) plus whatever tier-2 files are relevant to your current task.
The SPINE is an index with relevance hooks: "read this file when working on Kafka consumers". Claude matches your current task to the right knowledge file. No embeddings, no vector DB — just well-organized pointers.
Yes. A principle learned debugging Kafka on Monday helps your React architecture on Wednesday. Different repos, same compounding intelligence.
This is the problem distill was built to solve. When you correct Claude and it doesn’t stick, that’s not your fault — it’s a system failure. Distill treats repeated corrections as critical bugs in itself, not as you nagging.
Here’s what the escalation protocol does when it detects a pattern you’ve corrected before:
1. Elevate priority — the learning moves to the top of its file with a [HIGH] marker, making it harder to miss.
2. Strengthen the encoding — soft language like “consider using X” becomes “ALWAYS use X”. Ambiguity is what causes drift.
3. Cross-reference — the rule gets stored in two places (craft knowledge + user profile), so it’s loaded from multiple angles.
4. Promote to always-on — validated preferences sync to a file loaded every single session, before any code is written.
The principle: if you had to say it twice, the system failed to listen the first time. The fix is never “save it again the same way.” The fix is save it louder, in more places, with stronger language.
rm -f ~/.claude/commands/distill.md ~/.claude/rules/distill.md ~/.claude/distill/distill-process.md ~/.claude/distill/distill-monitor.md ~/.claude/distill/.version
Your knowledge files in ~/.claude/distill/ are preserved — you only lose the engine, not what it learned.
you made it to the bottom. that’s commitment. reward yourself with an install.