Help us improve
Share bugs, ideas, or general feedback.
From llm-wiki
Use when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
npx claudepluginhub ciciliaeth/claude-skills --plugin llm-wikiHow this skill is triggered — by the user, by Claude, or both
Slash command
/llm-wiki:llm-wikiThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Inspired by Andrej Karpathy's LLM Wiki pattern ([gist](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f)). This skill turns Claude Code (or any agent CLI) into a disciplined wiki maintainer that **incrementally builds and maintains** a persistent, interlinked Obsidian vault as you feed it sources. The knowledge compounds — cross-references, contradictions, and synthesis are alr...
assets/AGENTS.md.templateassets/CLAUDE.md.templateassets/cursorrules.templateassets/example-vault/README.mdassets/example-vault/wiki/concepts/sparse-autoencoder.mdassets/example-vault/wiki/entities/anthropic.mdassets/example-vault/wiki/index.mdassets/example-vault/wiki/log.mdassets/example-vault/wiki/sources/monosemanticity.mdassets/example-vault/wiki/synthesis/interpretability-overview.mdassets/index.md.templateassets/log.md.templateassets/page-templates/comparison.mdassets/page-templates/concept.mdassets/page-templates/entity.mdassets/page-templates/source-summary.mdassets/page-templates/synthesis.mdexpected_outputs/README.mdexpected_outputs/append_log.jsonexpected_outputs/export_marp.jsonMandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Inspired by Andrej Karpathy's LLM Wiki pattern (gist). This skill turns Claude Code (or any agent CLI) into a disciplined wiki maintainer that incrementally builds and maintains a persistent, interlinked Obsidian vault as you feed it sources. The knowledge compounds — cross-references, contradictions, and synthesis are already there when you query.
Most LLM+docs workflows are RAG: retrieve fragments at query time, synthesize from scratch, forget. The wiki is compounding: sources are read once, integrated into a persistent markdown knowledge base, and kept current. You curate and ask; the LLM reads, files, cross-references, and maintains.
Obsidian is the IDE. The LLM is the programmer. The wiki is the codebase.
Do NOT use when: you need one-shot Q&A over a fixed document (use RAG), you don't plan to add sources over time, or you don't want Obsidian in the loop.
vault/
├── raw/ # Layer 1 — IMMUTABLE source of truth
│ ├── <source files> # Articles, papers, PDFs, images, data
│ └── assets/ # Downloaded images from clipped articles
├── wiki/ # Layer 2 — LLM-owned knowledge base
│ ├── index.md # Content catalog (LLM updates every ingest)
│ ├── log.md # Append-only timeline (## [YYYY-MM-DD] <op> | <title>)
│ ├── entities/ # Person/Org/Place pages
│ ├── concepts/ # Ideas, theories, frameworks
│ ├── sources/ # One summary page per ingested source
│ ├── comparisons/ # Cross-source analysis pages
│ └── synthesis/ # High-level syntheses, theses, overviews
├── CLAUDE.md # Schema + conventions (Claude Code)
└── AGENTS.md # Same content, for Codex/Cursor/Antigravity
references/ingest-workflow.md.index.md first, drills into relevant pages, synthesizes with citations. Good answers get filed back into the wiki so explorations compound. See references/query-workflow.md.references/lint-workflow.md.# 1. Initialize a vault (in Obsidian's vault directory)
python scripts/init_vault.py --path ~/vaults/research --topic "LLM interpretability"
# 2. Drop a source into raw/, then ingest
/wiki-ingest ~/vaults/research/raw/anthropic-monosemanticity.pdf
# 3. Ask questions (answers can be re-filed into the wiki)
/wiki-query "how does monosemanticity compare to mechanistic interpretability?"
# 4. Periodic health check
/wiki-lint
# 5. See the timeline
/wiki-log --last 10
| Command | Purpose |
|---|---|
/wiki-init | Bootstrap a fresh vault with schema files + starter structure |
/wiki-ingest <path> | Read a source, discuss, update wiki, log it |
/wiki-query <question> | Search wiki, synthesize answer, offer to file back |
/wiki-lint | Run health check — contradictions, orphans, stale claims, gaps |
/wiki-log | Show recent log entries (uses unix tools on log.md) |
| Agent | When dispatched |
|---|---|
wiki-ingestor | Delegated ingest flow — reads source, proposes updates, applies after your approval |
wiki-linter | Runs the health-check workflow independently, reports findings |
wiki-librarian | Answers queries using index-first search, synthesizes with citations |
scripts/)All tools are standard library only (no pip installs). Run with python scripts/<tool>.py --help.
| Script | Purpose |
|---|---|
init_vault.py | Create folder structure + seed CLAUDE.md, AGENTS.md, index.md, log.md |
ingest_source.py | Helper: extract text/frontmatter from a source file, ready for LLM review |
update_index.py | Regenerate index.md from wiki page frontmatter (category, date, source count) |
append_log.py | Append a standardized log entry ## [YYYY-MM-DD] <op> | <title> |
wiki_search.py | BM25 search over wiki pages (standalone fallback when index.md isn't enough) |
lint_wiki.py | Find orphans (no inbound links), stale pages, missing cross-refs, broken links |
graph_analyzer.py | Compute link graph stats — hubs, orphans, clusters, disconnected components |
export_marp.py | Render a wiki page (or subtree) to a Marp slide deck |
The vault's schema lives in CLAUDE.md (Claude Code) or AGENTS.md (Codex/Cursor/Antigravity/OpenCode). The same content works in both. This plugin ships both templates. For per-tool setup instructions see references/cross-tool-setup.md.
CLAUDE.md → Claude Code
AGENTS.md → Codex CLI, Cursor, Antigravity, OpenCode, Gemini CLI
.cursorrules → legacy Cursor (pre-AGENTS.md)
The scripts are pure Python stdlib → run identically everywhere. Only the loader file changes per tool.
raw/raw/assets/. Settings → Hotkeys → bind "Download attachments for current file" to Ctrl+Shift+DFull setup walkthrough: references/obsidian-setup.md
| Plain RAG | LLM Wiki |
|---|---|
| Rediscover knowledge each query | Knowledge accumulates |
| Cross-references re-computed every time | Cross-references pre-written and maintained |
| Contradictions surface only if you ask | Contradictions flagged during ingest |
| Exploration disappears into chat history | Good answers re-filed as new pages |
| Scales by embeddings infrastructure | Scales by markdown + index.md + optional local search |
At ~100 sources / hundreds of pages, index.md + filesystem search is enough. Past that, layer in a local search tool like qmd or use scripts/wiki_search.py.
context: fork)This skill is marked context: fork so other skills can chain into it:
para-memory-files — PARA-method memory; complementary as long-term personal memory that feeds sources into the wikiobsidian-vault (mattpocock) — lightweight Obsidian note helper; this skill is the maintained-wiki layer on toprag-design — when wiki outgrows ~500 pages, use rag-design to bolt on a retrieval layermcp-design — expose the wiki as an MCP toolagent-communication — for multi-agent wiki maintenance (ingestor + linter + librarian)references/wiki-schema.md — full vault layout, page frontmatter, naming conventionsreferences/page-formats.md — entity, concept, source, comparison, synthesis templatesreferences/ingest-workflow.md — the detailed ingest flow the wiki-ingestor agent followsreferences/query-workflow.md — query patterns, citation format, re-filing answersreferences/lint-workflow.md — health-check heuristicsreferences/obsidian-setup.md — Obsidian plugins, hotkeys, vault configreferences/cross-tool-setup.md — per-tool setup (Codex, Cursor, Antigravity, etc.)references/memex-principles.md — Bush's Memex, why the LLM changes the maintenance mathassets/)CLAUDE.md.template, AGENTS.md.template, .cursorrules.template — schema loaders per toolindex.md.template, log.md.template — starter index and logpage-templates/ — entity, concept, source-summary, comparison, synthesisexample-vault/ — small worked example you can study or copyThe LLM never edits files in raw/. Ever. Sources are immutable. All LLM writes go to wiki/. If you need to correct a source, do it in raw/ yourself — then re-ingest.