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.
- License 许可
- MIT
- 最近更新
- 2026-10-28
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- llm-wiki
- tags
- [ "knowledge-management", "obsidian", "second-brain", "pkm", "rag-alternative", "wiki", "karpathy", "memex" ]
- author
- claude-code-skills
- context
- fork
- license
- MIT
- version
- 2.9.0
- description
- 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.
- compatible_tools
- [ "claude-code", "codex-cli", "cursor", "antigravity", "opencode", "gemini-cli" ]
02 资源文件 42
- 资产文件assets/AGENTS.md.template4.3 KB
- 资产文件assets/CLAUDE.md.template5.0 KB
- 资产文件assets/cursorrules.template1.2 KB
- 资产文件assets/example-vault/README.md1.3 KB
- 资产文件assets/example-vault/wiki/concepts/sparse-autoencoder.md1.4 KB
- 资产文件assets/example-vault/wiki/entities/anthropic.md1.0 KB
- 资产文件assets/example-vault/wiki/index.md899 B
- 资产文件assets/example-vault/wiki/log.md416 B
- 资产文件assets/example-vault/wiki/sources/monosemanticity.md1.4 KB
- 资产文件assets/example-vault/wiki/synthesis/interpretability-overview.md1.3 KB
- 资产文件assets/index.md.template911 B
- 资产文件assets/log.md.template519 B
- 资产文件assets/page-templates/comparison.md765 B
- 资产文件assets/page-templates/concept.md689 B
- 资产文件assets/page-templates/entity.md776 B
- 资产文件assets/page-templates/source-summary.md923 B
- 资产文件assets/page-templates/synthesis.md958 B
- 参考文档expected_outputs/append_log.json237 B
- 参考文档expected_outputs/export_marp.json223 B
- 参考文档expected_outputs/graph_analyzer.json465 B
- 参考文档expected_outputs/ingest_source.json553 B
- 参考文档expected_outputs/init_vault.json577 B
- 参考文档expected_outputs/lint_wiki.json181 B
- 参考文档expected_outputs/README.md760 B
- 参考文档expected_outputs/update_index.json198 B
- 参考文档expected_outputs/wiki_search.json378 B
- 参考文档references/cross-tool-setup.md3.6 KB
- 参考文档references/ingest-workflow.md3.8 KB
- 参考文档references/lint-workflow.md3.5 KB
- 参考文档references/memex-principles.md4.0 KB
- 参考文档references/obsidian-setup.md2.9 KB
- 参考文档references/page-formats.md5.1 KB
- 参考文档references/query-workflow.md3.1 KB
- 参考文档references/wiki-schema.md4.4 KB
- 脚本scripts/append_log.py4.2 KB
- 脚本scripts/export_marp.py4.5 KB
- 脚本scripts/graph_analyzer.py4.7 KB
- 脚本scripts/ingest_source.py5.6 KB
- 脚本scripts/init_vault.py7.0 KB
- 脚本scripts/lint_wiki.py6.6 KB
- 脚本scripts/update_index.py6.4 KB
- 脚本scripts/wiki_search.py4.7 KB
03 SKILL.md 正文
LLM Wiki — Second Brain for Claude Code + Obsidian
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.
Core principle
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.
When to use
- Personal: track goals, health, psychology, journaling, self-improvement
- Research: deep dives over weeks on a topic — papers, articles, reports, evolving thesis
- Book companion: file chapters as you read; build a fan-wiki-style companion for characters, themes, plot threads
- Business/team: internal wiki fed by Slack, meeting notes, calls — LLM does maintenance nobody else wants to do
- Competitive analysis, due diligence, trip planning, course notes, hobby deep-dives
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.
Architecture (three layers)
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
- Layer 1 (raw/) — you own. LLM only reads; never writes.
- Layer 2 (wiki/) — LLM owns. It creates, updates, and cross-references pages. You read it.
- Layer 3 (CLAUDE.md / AGENTS.md) — the schema. Conventions, workflows, frontmatter rules. Co-evolved by you and the LLM.
Three core operations
- Ingest — LLM reads a source, discusses takeaways with you, writes a source summary, updates 10-15 relevant pages, updates index, appends to log. See
references/ingest-workflow.md. - Query — LLM reads
index.mdfirst, drills into relevant pages, synthesizes with citations. Good answers get filed back into the wiki so explorations compound. Seereferences/query-workflow.md. - Lint — Health check: contradictions, stale claims, orphan pages, missing cross-refs, concepts mentioned but lacking their own page, data gaps to fill with web search. See
references/lint-workflow.md.
Quick start
# 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
Slash commands (this plugin ships)
| 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) |
Sub-agents (this plugin ships)
| 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 |
Python tools (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 |
Cross-tool compatibility
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.
Obsidian setup (recommended)
- Obsidian Web Clipper — browser extension; converts web articles to markdown and drops them in
raw/ - Download images locally — Settings → Files and links → Attachment folder path =
raw/assets/. Settings → Hotkeys → bind "Download attachments for current file" toCtrl+Shift+D - Graph view — see hubs/orphans; essential for spotting structural problems
- Marp plugin — Markdown-based slide decks directly from wiki pages
- Dataview plugin — dynamic tables/lists over page frontmatter (tags, dates, source counts)
- Git — the vault is a plain markdown repo; version it
Full setup walkthrough: references/obsidian-setup.md
Why this works (vs plain RAG)
| 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.
Related skills (chains via 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)
Reference docs
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 math
Templates (assets/)
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 copy
Iron rule
The 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.
04 同仓库更多 Skills
syllabus
Generates a curated supplementary reading list from any course syllabus using Consensus academic search. Grill-me intake (syllabus input format + course audience + year range) plus a grouping forcing-options checkpoint before any search runs — so the reading list matches the course's level and recency need. Parses the syllabus to extract topics and learning outcomes, searches Consensus for recent peer-reviewed papers per topic, and produces a professionally formatted .docx with clickable Consensus links, plain-language summaries calibrated to audience level, and Bloom-higher-order discussion questions tied to course learning goals. Use when the user uploads a syllabus, course outline, or curriculum document and wants supplementary readings (e.g., 'create a reading list from this syllabus', 'find recent papers for my course') — even casual mentions with a syllabus attached should trigger this skill.
pulse
Multi-source recency research skill that takes the pulse of any topic across Reddit, Hacker News, the open web, and optionally X/Twitter within a configurable recent window (default 30 days). Forcing intake clarifies topic specificity, angle (trend/sentiment/problems/opportunities/comparison), time window, and platform scope before searching. Returns a synthesized briefing with citations, engagement metrics, and cross-platform pattern analysis. Use when the user requests multi-source recency intelligence on a topic (e.g., 'pulse on [topic]', 'what's happening with [topic]', 'what are people saying about [topic]', 'current conversation about [topic]', 'take the pulse of [topic]', 'trending: [topic]', 'find me info on [topic]'), and for competitor research, trend discovery, tool comparisons, and audience sentiment analysis.
patent
Patent prior-art and landscape intelligence skill — not generic patent help. Commits to one of five sub-use-cases via forcing intake (novelty search / freedom-to-operate / competitive landscape / acquisition diligence / litigation prior-art) before any search runs. Searches Google Patents, Espacenet, USPTO, and optionally Lens.org for citation-graph signals. Output is an editable Word document (.docx) with verdict, ranked closest art (claim-text extracted), CPC-class-aware landscape, family-resolved hits, geographic coverage, FTO flags where applicable, strategy recommendations, and full audit log. Use when the user asks for patent searching or analysis (e.g., 'prior art search for [invention]', 'freedom to operate analysis for [product]'). Produces search signal, not legal advice — always recommends consulting a patent attorney before filing or licensing decisions. Trademark, copyright, and trade-secret questions are out of scope.
notebooklm
Browser automation skill for controlling Google's NotebookLM. Use when the user wants anything done in NotebookLM (e.g., 'open NotebookLM', 'check my [name] notebook', 'ask my notebook about X', 'add [source] to NotebookLM', 'generate a Video Overview from my notebook', 'use NotebookLM Studio'). Handles reading and querying notebooks, adding sources (URLs, text, files, YouTube links, synthesized content), generating Studio outputs (Audio/Video Overviews, Mind Maps, Reports incl. Briefing Doc/Study Guide/FAQ, Flashcards, Quiz, slide decks, infographics — discover the exact set from the live Studio panel; the UI evolves fast), and creating new notebooks. Requires browser automation environment — fails gracefully when unavailable.
litreview
Academic literature orientation skill that searches papers via free keyless APIs (PubMed E-utilities + OpenAlex) by default — with the Consensus MCP as an optional enhancement lane when connected — builds a strategic search plan using PICO (default) or SPIDER / Decomposition / hybrid as fallbacks, and synthesizes findings into a formatted Word (.docx) research guide. Grill-me intake (research question specificity + framework hint + tentative depth) before the recon search; a second forcing checkpoint after Phase 2 confirms framework + sub-areas + depth before searches consume budget. Configurable depth (5/10/20 queries) controls coverage vs. speed. Output is a 'launching pad' — an orientation guide that lets a researcher dive in confidently, not a finished review. Use when the user starts literature-oriented research (e.g., 'litreview on [topic]', 'literature review on [topic]', 'I'm starting a literature review on X', 'I'm writing a paper on X', 'help me research X', 'I'm doing research on X', 'can you help me research X'). Do NOT use for single one-off paper searches wanting a quick list — that's a plain PubMed/OpenAlex (or Consensus) query.
grants
NIH grant research skill for clinical researchers. Grill-me intake (research idea + career stage + preliminary data + environment + submission posture + known institute targets) locks down the funding strategy before any search runs. Runs a 5-facet Consensus positioning analysis (with draft Significance/Innovation language), maps the research to the right NIH institutes and study sections via RePORTER, finds NOSIs and funded overlap, and produces an editable Word document (.docx) with budget/scope-aware mechanism recommendations, submission timelines, and a mandatory program officer recommendation. Use when the user asks about research funding or makes any grant-related request (e.g., 'grants for [topic]', 'find grants for my research idea', 'what grants match my research', 'help me find NIH funding', 'grant opportunities for my research'). NIH-only scope — non-NIH funders (PCORI, DOD CDMRP, VA, foundations) are out of scope and flagged at intake.