← ClaudeAtlas

learning-capturelisted

Capture a durable learning by editing context directly. Triggers when the user corrects Claude in a generalizable way ("use X instead of Y", "always X", "never Y", "I prefer X", "from now on X"), states a reusable preference, or asks to "remember this" / "save this". Also triggers on the /learn command. Does NOT trigger on one-off, problem-specific corrections — see the generalization gate before acting.
app-vitals/shipwright · ★ 6 · Code & Development · score 71
Install: claude install-skill app-vitals/shipwright
# Learning Capture When the user teaches you something durable, put it in its permanent home **now** — edit `CLAUDE.md` or the relevant skill in the same turn. Git is the audit trail. There is no staging file and no separate promotion step. This skill replaces the old capture → stage → promote flow. That flow added three interruptions and trusted the model less than it deserves. The model is trusted to make the edit; the user reviews it the same way they review any other change — in the diff. ## The one rule: pass the gate first Before editing anything, run the **generalization gate**. Capture a learning **only if both** are true: 1. **It generalizes.** It will apply to *future, different* work — not just the change you both just made. A correction scoped to "this function", "this file", "this PR", or "in this case" is not a learning. It is just doing the task. 2. **It is not already captured by the code.** If the change you just committed already embodies the rule — the code does it the right way now, a test enforces it, a type makes the wrong version impossible, a lint rule will catch it — then **the code is the memory.** A `CLAUDE.md` line that restates what the diff already shows is noise and will rot. Skip it. If you are unsure whether something generalizes, it probably does not. See `references/generalization-gate.md` for the full criteria, signal patterns, and worked examples. **When in doubt, do not capture.** A missed learning costs nothing;