lesson-keeperlisted
Install: claude install-skill HeisenbergI8/claude-harness
# Lesson Keeper
The store in `.claude/lessons/` exists so a mistake costs its debugging time **once**. It is capped and
injected into context automatically, which means **every entry is paid for in tokens on every matching
prompt**. That budget is the discipline: this skill is mostly about **refusing** to write things down.
**The expected rate is about one lesson per session, frequently zero.** If you are recording more than
that, the bar has slipped.
## The bar — all four, or it does not get written
**1. Recurrence.** Will this plausibly happen again, in *this* project, on *this* stack? A one-off typo,
a transient network failure, or a mistake made through carelessness rather than missing knowledge fails
here.
**2. Non-obviousness.** Would a competent developer reading the code already know? If it is stated in
`CONVENTIONS.md`, in the project docs, in a type signature, or in the error message itself — it fails.
**Check `CONVENTIONS.md` before writing.** Duplicating it is the most common way this store bloats.
**3. Behaviour change.** Does it change what you would *do*, not merely what you would know?
"Registration happens in two places" is a fact, and it belongs in `CONVENTIONS.md`. "When a query never
resolves and throws no error, check the second registration first" is a lesson — it changes the first
thing you reach for.
**4. Cost.** Did getting this wrong actually cost something — a wrong deliverable, an hour, a broken
environment? Cheap mistakes that self-correct