From llmwiki
Manages an Obsidian vault as a compiled knowledge base — ingests sources, compiles into wiki pages, and supports querying, linting, and evolving the knowledge base.
How this command is triggered — by the user, by Claude, or both
Slash command
/llmwiki:vault-bridgesonnetThis command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
# Requires: vault-mind MCP server Read `kb.yaml` from the vault root before doing anything. Missing? Call MCP `vault.init` with the topic name, then proceed. ## MCP Tools All vault operations go through MCP. Filesystem fallback when Obsidian is closed -- same interface, direct file I/O. | Method | Does what | |--------|-----------| | `vault.init` | Scaffold topic: raw/, wiki/, schema/, Log.md, kb.yaml | | `vault.read` / `vault.create` / `vault.modify` / `vault.append` / `vault.delete` | CRUD (writes are dry-run gated) | | `vault.search` / `vault.searchByTag` / `vault.searchByFrontmatter...
Read kb.yaml from the vault root before doing anything. Missing? Call MCP vault.init with the topic name, then proceed.
All vault operations go through MCP. Filesystem fallback when Obsidian is closed -- same interface, direct file I/O.
| Method | Does what |
|---|---|
vault.init | Scaffold topic: raw/, wiki/, schema/, Log.md, kb.yaml |
vault.read / vault.create / vault.modify / vault.append / vault.delete | CRUD (writes are dry-run gated) |
vault.search / vault.searchByTag / vault.searchByFrontmatter | Find notes |
vault.graph / vault.backlinks | Link graph |
vault.batch | Multiple ops in one round-trip |
vault.lint | Structural health check |
vault.list / vault.stat / vault.exists | Navigation |
KB_META = python /path/to/obsidian-llm-wiki/kb_meta.py
$KB_META <command> <vault_root> <topic> [args...]
| Command | What |
|---|---|
init | Create _meta.json |
diff | Hash-diff raw/ against compiled state |
update-hash <file> | Mark a raw file as compiled |
update-index | Rebuild _index.md from wiki/ |
check-links | Validate [[wikilinks]] resolve |
vitality | Access-weighted article scores |
log-access <article> | Record a read event |
Never use an LLM for these. They are exact.
Trigger: "ingest", "add source", user provides URL/file/path.
kb_meta.py init (no-op if exists)raw/{type}/ with frontmatter: source, ingested, source_type, authoritykb_meta.py diff -- report countTrigger: "compile", "update wiki".
Gate: kb_meta.py diff -- if new and changed are both empty, stop.
Config: Read {topic}/schema/compile-config.yaml. Missing? Use templates/base/compile-config.yaml. Config has the extraction prompt, coverage thresholds, and parallelism settings.
Existing state: Read wiki/_index.md to get existing concept names (prevents duplicate creation).
Extract: Per changed source, dispatch a subagent (model per config model_tier):
extraction.prompt + raw file content + existing concept names{ summary, concepts[], relationships[] }Write summaries: One per source at wiki/summaries/{source-slug}.md. Overwrite if exists.
---
source: "[[raw/{source_file}]]"
compiled: {date}
---
# {title}
{one_liner}
## Key Points
- {point1}
- {point2}
## Related Concepts
- [[concepts/{concept-slug}]] -- {one_liner}
Write concepts: At wiki/concepts/{name-slug}.md.
Coverage tags: Count sources referencing each concept. Per config thresholds (default: 1=low, 2=medium, 4+=high).
Metadata: For each compiled source:
$KB_META update-hash "$VAULT" "$TOPIC" "raw/{file}"
$KB_META update-index "$VAULT" "$TOPIC"
$KB_META check-links "$VAULT" "$TOPIC"
Report: sources compiled, summaries written, new/updated concepts, broken links, coverage distribution.
See templates/examples/ for real output from the brillm topic.
Trigger: question about knowledge base content.
wiki/_index.md, pick 3-8 relevant articleskb_meta.py log-access for eachTrigger: "lint", "health check".
Deterministic (free):
check-links -- broken wikilinksdiff -- uncompiled sourcesvitality -- stale/dead articlesLLM (sonnet scan, opus judgment):
Output: wiki/_lint-{date}.md
Trigger: "evolve", "what's missing".
vault.graph -- find orphans, weak clusters[[wikilinks]] for all vault refs. Never markdown links for internal.[[link|display text]] when display differs from target.kb_meta.py diff first, alwaysupdate-index + check-links after compile -- index goes stale[text](path) instead of [[wikilinks]] -- Obsidian won't resolvelog-access on query reads -- vitality scoring goes blindnpx claudepluginhub 2233admin/obsidian-llm-wiki/vault-deep-synthesisCross-references all vault notes on a topic, surfacing agreements, contradictions, stale claims, and coverage gaps. Writes a synthesis file to the concepts folder.
/wikiBootstraps or checks an Obsidian wiki vault for Claude Code. Reads the wiki skill, runs setup workflow, scaffolds vault structure, and resumes ingestion if already configured.
/knowledge-managerManages knowledge in Obsidian/Notion vaults via multi-phase ingestion, reorganization, and GraphRAG linking with linting and filed-back reports.
/brainLoads relevant notes from your Obsidian vault matching the topic into conversation context. Lists found notes and answers using their content.
/wikiManages an LLM wiki knowledge base — initialize topic wikis, show hub status, or list existing wikis. Also supports ingest, compile, query, lint, search, output, and research subcommands.
/wiki-querySearches the compiled wiki to answer questions with citations from topic articles. Can also file synthesized answers back into the wiki.