distill-memorylisted
Install: claude install-skill mthli/skills
# Distill Memory
Lift signal out of `.claude/decisions/**/*.md` (and the last ~month of `MODULE:`-tagged
commit Decision blocks) into a small batch of candidate Claude Code memory entries that
the user reviews one-by-one before anything is written.
This skill is the **Layer 2 → Layer 3** step in the knowledge loop:
- **Layer 1** (immutable history): structured `## Decision` blocks inside `git log` commit
bodies, written by `/commit-context`.
- **Layer 2** (current consensus): `.claude/decisions/<module>.md` per module, refreshed by
`/distill-module`.
- **Layer 3** (cross-project memory): `~/.claude/projects/<slug>/memory/` — durable,
user-curated notes whose `MEMORY.md` index is auto-loaded into every future session for
this project; individual entries are pulled into context when their `description` field
matches the active task.
The contract is **pull, don't push**. This skill never writes a memory entry the user
hasn't explicitly approved. Layer 3 is precious — its signal is what makes future Claude
sessions feel context-aware instead of amnesiac, and the only way to keep that signal high
is to be aggressively selective. **Zero candidates from a run is a fine outcome.** Don't
pad.
## When to run this
Pull, don't push. Run only when the user asks. Reasonable triggers:
- It's been ~1 month since the last `/distill-memory`, and several modules have had their
`.claude/decisions/*.md` refreshed in that window.
- The user just finished a big chunk of work that