← ClaudeAtlas

lesson-keeperlisted

Record, consolidate, and prune the hard-won lessons in .claude/lessons/. Use when a non-obvious failure has just been resolved, when the lessons audit reports warnings, or when asked what has been learned in this project.
HeisenbergI8/claude-harness · ★ 0 · AI & Automation · score 72
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