distill-lessonslisted
Install: claude install-skill armenr/modelmux
# /distill-lessons — surface candidate ledger entries
Run after a meaningful chunk of work (a commit, an ADR write, a design discussion, a
failed-then-fixed pattern) to extract candidate entries for the append-only lessons ledger. Output
goes to `.agent-docs/now/lessons/proposals.md` — **promotion to `.agent-docs/lessons/<slug>.md` is
human-gated** (a load-bearing discipline; if you formalize it, record it as an ADR). This skill NEVER
writes into `lessons/` directly.
**Foreground in the main agent.** Context-capture skills don't background cleanly (same reasoning as
`/flush`): the session state they read from is the live conversation.
---
## Recent journal entries (last 50)
!`tail -50 .agent-docs/log.md 2>/dev/null || echo "(no log.md yet)"`
## Existing Tier-1 lessons MOC (for the dedup check)
@.agent-docs/now/lessons/MOC.md
## Existing proposals (don't duplicate)
@.agent-docs/now/lessons/proposals.md
---
## Steps
### 1. Review the inputs above
The shell-interpolated `tail -50` gives you the fresh journal. The `@`-imports show what's already in
the Tier-1 MOC and staged as a proposal — that is your dedup baseline. If a candidate is already
covered by a MOC row or an existing proposal, skip it.
### 2. Scan the session for the five candidate TYPES
Walk the recent work through each lens (the `type:` axis of `templates/lesson-template.md`). Most
sessions surface zero to a few — that is fine:
- **false-belief** — you (or an agent) acted on something that turned out