distill-modulelisted
Install: claude install-skill mthli/skills
# Distill Module
Convert the stream of `MODULE: <id>` Decision blocks scattered across `git log` commit bodies
into a single, current-consensus `.claude/decisions/<id>.md` for one module. Future readers
(and future Claude sessions reading the `Knowledge Loop Conventions` block in `CLAUDE.md`)
read this snapshot before touching the module, instead of paging through 50 commits.
This skill is the **Layer 1 → Layer 2** 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/<id>.md` per module — an active doc that
gets re-distilled on a weekly-ish cadence.
`git log` is the **source of truth**. `.claude/decisions/<id>.md` is a derived, regenerable
view. This skill must never modify, amend, rebase, or `git commit --amend` existing commits —
the fix for a wrong decision is always a **new** commit that `SUPERSEDES` the old one.
## When to run this
Pull, don't push. Run only when the user asks. Reasonable triggers:
- A module has accumulated 5+ new Decision blocks since the last distill (check the
`Last distilled` line at the top of an existing `.claude/decisions/<id>.md`, or count
`git log --grep="MODULE: <id>" --since="<date>"`).
- The user shipped a coherent chunk of work and wants the snapshot refreshed.
- A new contributor is joining the module and needs the digest.
If the user invokes the skill without a target modu