forge-lessonlisted
Install: claude install-skill yerros/context-forge
# forge-lesson
Turn a correction, diagnosis, or preference into persistent memory — so it's never
re-paid in tokens. The memory contract (formats, budgets, read/write rules) is
defined canonically in
`${CLAUDE_PLUGIN_ROOT}/skills/forge-lesson/references/memory.md` — read it first.
## Argument
Text after the command is the lesson or instruction (e.g. `/forge-lesson never use
barrel files here`, `/forge-lesson forget the Vite one`, `/forge-lesson show`) —
distill/act on it directly. No argument → ask what to remember (or manage).
## Steps
### 1. Distill
Reduce what happened to one line: `- [area] symptom/trigger → rule`. The rule part
must be imperative and actionable. If it can't fit one line, it isn't a lesson — it's
documentation; put it in the right context file instead and say so.
### 2. Route
- **Project-specific** (about this codebase, its stack, its conventions) →
`context/lessons.md`. Create the file from the bundled template
(`${CLAUDE_PLUGIN_ROOT}/skills/forge-init/templates/context/lessons.md`) if absent.
- **Cross-project** (a preference the user would want everywhere: tooling choices,
style defaults, workflow habits) → offer `~/.context-forge/preferences.md`
instead. Never write there without explicit approval.
- **Already a rule?** If the lesson duplicates something in `code-standards.md` /
`ai-workflow-rules.md` / `architecture.md`, don't add it — tell the user it's
already covered (or fix the context file if it's wrong there).
### 3. Write