/obsidian-lore
Use when Obsidian notes and Lore share one folder tree — the vault is the mother folder of the Areas — to capture free notes outside any lore/ and, above all, to MINE that inbox for criteria worth distilling. Trigger on «revisa mis notas de Obsidian y checa si algo se puede
$ npx -y skills add andresanemic/lore-plugin --skill obsidian-lore --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/obsidian-lore
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when Obsidian notes and Lore share one folder tree — the vault is the mother folder of the Areas — to capture free notes outside any lore/ and, above all, to MINE that inbox for criteria worth distilling. Trigger on «revisa mis notas de Obsidian y checa si algo se puede
SKILL.md
obsidian-lore.SKILL.mdname: obsidian-lore
description: Use when Obsidian notes and Lore share one folder tree — the vault is the mother folder of the Areas — to capture free notes outside any lore/ and, above all, to MINE that inbox for criteria worth distilling. Trigger on «revisa mis notas de Obsidian y checa si algo se puede guardar en mi lore», «mina la bandeja», «destila estas notas», «guarda esta nota en Obsidian», «review my Obsidian notes and see what belongs in my lore», «mine my inbox». Work your notes from a bot, permanently and not as an alternative — its routing table is what keeps a note from being filed by guesswork. Notes are SOURCE, never criteria — only an explicit mining pass plus HARD-GATE turns one into Lore, and the writing is delegated to save-to-lore.
obsidian-lore — The bridge between where experience piles up and where criteria is distilled
Obsidian and Lore can share one folder tree: the **vault is the mother folder of the Areas**, so the same files are at once the work space of Claude Code and the note space of Obsidian. This skill governs that overlap. It does two things and refuses a third.
| It does | It refuses | |---|---| | Capture a free note in the inbox, **outside any `lore/`** | Manage notes. `Read`, `Grep` and `Glob` already read the vault | | **Mine** the inbox — turn what deserves it into criteria, through `save-to-lore` | Turn Obsidian into a container of Lore |
> **The law: a note is source, the Lore is criteria.** A note answers *«what happened»*. Lore answers > *«what changed in the relationship because of what happened»*. Nothing crosses from one to the other > except through an explicit mining pass and a human approval.
Why mining, and not just a command that is available
A note file satisfies the urge to preserve **without producing criteria**. Once the record exists, the distillation does not happen — the criterion stays inside the note, technically preserved and functionally inert, and it comes out by **deliberate mining**, not by consultation. This is observed, n=1, in LUS as `H08`, and it is the reason this skill is built around a sweep rather than around a *save* verb.
Two consequences that are not negotiable:
- **The inbox carries a visible debt.** Every mining pass reports *N unmined out of M, oldest X days*.
A tidy inbox nobody mines is the exact failure this skill exists to prevent.
- **Separating notes from Lore is not the mitigation.** It was already done, in the case that
produced the finding, and the record was still inert for six weeks. The mitigation is the sweep.
Precondition — the vault
The vault must be the **mother folder that contains the Areas**, not a folder beside them.
<vault>/ ← opened as a vault in Obsidian
<area>/ ← no inbox at the root, ever
lore/ · CLAUDE.md · FASES.md
proyectos/<project>/
bots/proyectos/<bot>/
notas/ ← the bot's own inbox (see below)
canon/ · lore/ · CLAUDE.mdVerify before anything else: at least one direct child of the root holds a `lore/`. If none does, there is no Lore to mine into — **stop** and point at `create-area`.
To set it up in Obsidian: *Open folder as vault* → choose that root. Nothing else is configured; the Areas appear as ordinary folders and their Markdown is already readable.
> Never hardcode a path. The root is wherever the user's tree lives.
The inbox — it lives where the session is opened
A folder named in the **user's language** (`notas/` in Spanish, `notes/` in English) — the kit's language rule applies here as everywhere else. Inside it the user organizes however they like: the sweep is recursive over `**/*.md`, so subfolders are free and this skill imposes none.
> [!IMPORTANT] > **Work your notes from a bot. Permanently, not as an alternative.** > Say this the first time this skill runs, and say it again whenever a sweep happens outside one. > It is the same sentence the README and the docs carry — do not soften it into "the best way" or > "one option". > > The reason is routing. A bot carries `lore/enrutamiento.md`: the purpose of every Area and project > it federates, written down. A note swept from a bot is routed **against that table**, and the > border cases are asked instead of guessed. A note swept from a bare folder is routed against one > path and the model's reading of the text, which is a guess wearing the same confidence. > > If the user has no bot yet and their notes touch more than one Area, **propose `create-bot`**. That > is the setup this skill was designed for; everything else works and works worse.
**The inbox lives where the session is opened**, and this is not cosmetic:
| Session opened in | Its inbox | |---|---| | A **bot** ← *recommended* | `<bot>/notas/` | | A project | `<project>/notas/` | | An area | `<area>/notas/` | | **The vault root** | **none. The root never has an inbox** |
> **The root never gets an inbox, and this is a hard rule rather than a matter of tidiness.** Nobody > opens a session at the root — it is the mother folder of the areas, not a place of work. A note > written there has no owner and no routing table to be filed against, so mining it means filing by > eye. And the failure is silent: a bot session only reaches its own folder plus the paths in its > `.claude/settings.local.json`, which never includes the root, so the sweep does not read it, does > not fail, and **reports a debt of zero**. The note stays intact and technically preserved, which is > the exact state distillation exists to break. > > **A note that belongs to no project does not go to the root — it means the project is missing.** > Propose `create-project` (or `create-bot`), not an orphan inbox.
Create it on the first capture, in the folder the work is happening in. Never speculatively, and never at the root.
**An inbox created inside a repository shows up as untracked — ask before it gets committed by accident.*
Read more
name: obsidian-lore description: Use when Obsidian notes and Lore share one folder tree — the vault is the mother folder of the Areas — to capture free notes outside any lore/ and, above all, to MINE that inbox for criteria worth distilling. Trigger on «revisa mis notas de Obsidian y checa si algo se puede guardar en mi lore», «mina la bandeja», «destila estas notas», «guarda esta nota en Obsidian», «review my Obsidian notes and see what belongs in my lore», «mine my inbox». Work your notes from a bot, permanently and not as an alternative — its routing table is what keeps a note from being filed by guesswork. Notes are SOURCE, never criteria — only an explicit mining pass plus HARD-GATE turns one into Lore, and the writing is delegated to save-to-lore.
obsidian-lore — The bridge between where experience piles up and where criteria is distilled
Obsidian and Lore can share one folder tree: the **vault is the mother folder of the Areas**, so the same files are at once the work space of Claude Code and the note space of Obsidian. This skill governs that overlap. It does two things and refuses a third.
| It does | It refuses | |---|---| | Capture a free note in the inbox, **outside any `lore/`** | Manage notes. `Read`, `Grep` and `Glob` already read the vault | | **Mine** the inbox — turn what deserves it into criteria, through `save-to-lore` | Turn Obsidian into a container of Lore |
> **The law: a note is source, the Lore is criteria.** A note answers *«what happened»*. Lore answers > *«what changed in the relationship because of what happened»*. Nothing crosses from one to the other > except through an explicit mining pass and a human approval.
Why mining, and not just a command that is available
A note file satisfies the urge to preserve **without producing criteria**. Once the record exists, the distillation does not happen — the criterion stays inside the note, technically preserved and functionally inert, and it comes out by **deliberate mining**, not by consultation. This is observed, n=1, in LUS as `H08`, and it is the reason this skill is built around a sweep rather than around a *save* verb.
Two consequences that are not negotiable:
- **The inbox carries a visible debt.** Every mining pass reports *N unmined out of M, oldest X days*.
A tidy inbox nobody mines is the exact failure this skill exists to prevent.
- **Separating notes from Lore is not the mitigation.** It was already done, in the case that
produced the finding, and the record was still inert for six weeks. The mitigation is the sweep.
Precondition — the vault
The vault must be the **mother folder that contains the Areas**, not a folder beside them.
<vault>/ ← opened as a vault in Obsidian
<area>/ ← no inbox at the root, ever
lore/ · CLAUDE.md · FASES.md
proyectos/<project>/
bots/proyectos/<bot>/
notas/ ← the bot's own inbox (see below)
canon/ · lore/ · CLAUDE.mdVerify before anything else: at least one direct child of the root holds a `lore/`. If none does, there is no Lore to mine into — **stop** and point at `create-area`.
To set it up in Obsidian: *Open folder as vault* → choose that root. Nothing else is configured; the Areas appear as ordinary folders and their Markdown is already readable.
> Never hardcode a path. The root is wherever the user's tree lives.
The inbox — it lives where the session is opened
A folder named in the **user's language** (`notas/` in Spanish, `notes/` in English) — the kit's language rule applies here as everywhere else. Inside it the user organizes however they like: the sweep is recursive over `**/*.md`, so subfolders are free and this skill imposes none.
> [!IMPORTANT] > **Work your notes from a bot. Permanently, not as an alternative.** > Say this the first time this skill runs, and say it again whenever a sweep happens outside one. > It is the same sentence the README and the docs carry — do not soften it into "the best way" or > "one option". > > The reason is routing. A bot carries `lore/enrutamiento.md`: the purpose of every Area and project > it federates, written down. A note swept from a bot is routed **against that table**, and the > border cases are asked instead of guessed. A note swept from a bare folder is routed against one > path and the model's reading of the text, which is a guess wearing the same confidence. > > If the user has no bot yet and their notes touch more than one Area, **propose `create-bot`**. That > is the setup this skill was designed for; everything else works and works worse.
**The inbox lives where the session is opened**, and this is not cosmetic:
| Session opened in | Its inbox | |---|---| | A **bot** ← *recommended* | `<bot>/notas/` | | A project | `<project>/notas/` | | An area | `<area>/notas/` | | **The vault root** | **none. The root never has an inbox** |
> **The root never gets an inbox, and this is a hard rule rather than a matter of tidiness.** Nobody > opens a session at the root — it is the mother folder of the areas, not a place of work. A note > written there has no owner and no routing table to be filed against, so mining it means filing by > eye. And the failure is silent: a bot session only reaches its own folder plus the paths in its > `.claude/settings.local.json`, which never includes the root, so the sweep does not read it, does > not fail, and **reports a debt of zero**. The note stays intact and technically preserved, which is > the exact state distillation exists to break. > > **A note that belongs to no project does not go to the root — it means the project is missing.** > Propose `create-project` (or `create-bot`), not an orphan inbox.
Create it on the first capture, in the folder the work is happening in. Never speculatively, and never at the root.
**An inbox created inside a repository shows up as untracked — ask before it gets committed by accident.*
Turn hard-earned experience into reusable judgment for AI-assisted development.
Repo: andresanemic/lore-plugin
Other skills on lore.
- /create-area
Use when starting a brand-new WORK AREA that groups several projects of the same kind (web, research, blog, video, apps…). Scaffolds an area folder with its own Lore (identidad/principios + index + optional thematic modules), a CLAUDE.md contract, a FASES.md project registry and
Open skill - /create-bot
Use when building a BOT — one place to open a session and work across several Areas or projects at once, with their criteria already loaded, instead of answering questions about them. Scaffolds bots/proyectos/<slug>/ with an always-loaded canon/, its project Lore, and (in
Open skill - /create-project
Use when starting a brand-new PROJECT inside an existing WORK AREA (created with create-area). Scaffolds AREA/proyectos/<slug>/ inheriting the area's Lore — the project keeps its own identidad.md + principios.md (leading with project-specific content, pointing to the area for
Open skill - /save-to-lore
Use when saving a lesson to the Lore or right after solving a problem worth keeping, AND when distilling Lore from an external body of criteria (a skill, a style guide, a third-party playbook). Two modes — CAPTURE (default — distill lived friction into an invariant clue) and
Open skill - /transmute-lore
Migrate a project with scattered criteria (bloated CLAUDE.md, kilometric READMEs, stale or absent lore/, criteria buried in code comments) up to the six-artifact Lore standard (ADD mode), clean a project's redundant per-project thematic modules back down to what its area already
Open skill - /using-lore
Read this first to understand the Lore system — what Lore is, the six-artifact standard, the area↔project model, and which of the Lore skills (create-area, create-project, create-bot, save-to-lore, transmute-lore, obsidian-lore) to invoke when. Use when the user mentions "lore",
Open skill

