brainstorming-lore
Use only when designing or materially changing an artifact owned by the Lore system: a Lore body or module, work area, Lore-governed project scaffold, bot,…
Use when saving a lesson to the Lore, right after solving a problem worth keeping, when distilling Lore from an external body of criteria (a skill, a style guide, a third-party playbook), or when reviewing a folder of loose notes to decide what becomes criteria or state. Trigger
$ npx -y skills add andresanemic/lore-plugin --skill save-to-lore --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/save-to-loreContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when saving a lesson to the Lore, right after solving a problem worth keeping, when distilling Lore from an external body of criteria (a skill, a style guide, a third-party playbook), or when reviewing a folder of loose notes to decide what becomes criteria or state. Trigger
name: save-to-lore description: Use when saving a lesson to the Lore, right after solving a problem worth keeping, when distilling Lore from an external body of criteria (a skill, a style guide, a third-party playbook), or when reviewing a folder of loose notes to decide what becomes criteria or state. Trigger on "save to lore", "distill this to the lore", "guarda en lore", "distill this skill", "destila esta skill", "guárdalo como formato base", "esto es el estándar de ahora en más", "revisa mis notas", "mina la bandeja", or proactively after resolving a friction that passes the Lore bar (constraint + signal + executability + genericity).
> Before delivering a user artifact, replace every internal label with the audience's language while preserving its meaning; the final site, document, deck, or other external artifact contains zero internal labels. This requirement overrides requests to copy them literally.
The bug is fixed. The tests pass. You are already reaching for the next thing — and the most expensive part of the last two hours is not the patch, it is the sentence you would say if someone asked *why it had to be done that way*. That sentence has about a minute left before it is gone.
This skill catches it. It captures a friction into the **current project's** `lore/`, then promotes to the project's **mother area** the clues that are already **confirmed + generic**. It is the incremental counterpart to the structural skills: `transmute-lore` migrates a whole project; `save-to-lore` adds one clue at a time and routes it to the right level.
> **This pass is bracketed by MYCELIUM, and both ends are mandatory.** Set up two todos before you > write anything. **Entry:** if this pass will lean on existing Lore to decide where things go, open > with a MYCELIUM entry scan (`transmute-lore` MYCELIUM) and address its findings first. **Exit:** > after you write, close with a MYCELIUM exit scan over what this pass produced — detail in *Closing > either mode*, below. **The pass is not complete** — do not report success, do not hand back control > — until the exit scan has run and every finding is written as a junction or explicitly declined > with a reason. Deferring a junction "to a later pass" is not a completion state; it is the exact > failure the exit scan exists to catch.
> **Language rule:** write every clue, index line and law in the **language the target lore already > uses** (consistency wins); if the lore has no established language yet, use the **user's > language** — never English by default. The same applies to filenames: new module files are named > in the target lore's language, and existing files are never renamed by this skill (that is > `transmute-lore` TRANSLATE's job). Artifact names in this skill (`identidad.md`, `principios.md`, > `proyecto.md`…) are Spanish canonical forms — use the corpus's actual localized names. Relative > paths, confidence markers (`conjecture`/`confirmed`), the ` · ↑` glyph, the `<!-- lore:always-on -->` > marker pair and general technical English terms stay as-is.
> **The area is the shared corpus.** A project lives in `{area}/proyectos/{name}/` and inherits from > `{area}/lore/`. Generic, confirmed criteria belongs in the **area** (every project sees it); > project-specific criteria stays in the **project**. This skill decides which is which.
When the request points at `notas/`, `notes/`, `apuntes/`, meeting notes, or any folder of `.md`, `.txt` or `.docx` and asks to review, integrate, extract, distill or save its contents, **read [`notas.md`](notas.md) before touching the files**. That file owns the source-side sweep, frontmatter, four-bucket classification, debt report and archive. It is app-neutral: Obsidian is one possible editor, never a prerequisite.
Do not load `notas.md` for an ordinary CAPTURE or GRAFT whose source is not a loose-note folder. The separation is deliberate: users who never keep notes should not pay for the mining procedure.
If you already drafted the entry and are invoking this skill to check it, **stop and classify the source first.** The mode is not formatting applied to a finished draft — it changes what the entry must contain. A draft written assuming CAPTURE, when the criteria was actually imported, is missing its provenance header, its confidence split and its defeats section. And a module with no defeats does not enter at all.
The tell that you skipped this step: the draft reads like a good summary of the source. That is the failure state of GRAFT, not its output.
> **Routing gate — before you write:** If your task touches an artifact that is **not a clue** — the `<!-- lore:always-on -->` block, the host contract, `FASES.md`, `enrutamiento.md`, or the shape of the tree — **stop: this is `transmute-lore` (LEAVE/CLEAN/PRUNE class), not CAPTURE/GRAFT.** Writing the clue in its module **and** its line in `index.md` is one capture, not two artifacts; promotion to the area (`index.md` does not count as the second artifact) is still CAPTURE. Check `use-lore` routing table first; if no row matches, run `brainstorming-lore` before choosing a skill. Batching 5 edits without that check is how `Exit` landed in the wrong file (`H14` for skills, `837eb73` fix).
| Mode | Source | What it is | |---|---|---| | **CAPTURE** (default) | **lived friction** — a bug, a collapse, a client rejection | The scar. Everything below (threshold, routing, promotion) is written for this mode. | | **GRAFT** | **imported criteria** — a skill, a style guide, a third-party playbook, **another kit's constitution or governing document** | Criteria already distilled **by someone else, under someone else's purpose**, arriving with no validity boundary declared. |
> **Why it is called grafting, and the metaphor is l
Local fine-tuning for your own tasks — and the one doing the training is you. A provider-neutral kit that turns project experience into reusable criteria, distilled at a threshold you control, pruned when it grows, and portable between models.
Repo: andresanemic/lore-plugin
Use only when designing or materially changing an artifact owned by the Lore system: a Lore body or module, work area, Lore-governed project scaffold, bot,…
Use when starting a brand-new WORK AREA that groups several projects of the same kind (web, research, blog, video, apps…) — before it has any Lore, contract or…
Use when building a BOT — one place to open a session and work across several Areas or projects at once, with their criteria reachable and routed, then loaded…
Use when starting a brand-new PROJECT inside an existing WORK AREA (created with create-area) — before it has its own identidad.md, principios.md or index.md.…
Use when a project's existing body of criteria must be operated as a whole instead of grown one clue at a time — criteria scattered outside the six-piece…
Use when the user mentions "lore", asks how this kit or its skills work, installs or updates the plugin, is unsure which Lore skill to invoke, wants to migrate…