llm-wiki-starter

Persistent self-maintaining knowledge wiki for Claude Code, on top of an Obsidian vault. Drop notes in inbox/, /dispatch routes them to specialist agents.

LLM Wiki Starter

A persistent, self-maintaining knowledge wiki for Claude Code, on top of an Obsidian vault.

You drop unstructured notes (meeting transcripts, articles, voice memos, screenshots, anything) into inbox/. A multi-agent dispatcher classifies each file, routes batches to specialist agents, and integrates the content as cross-referenced pages under wiki/. The wiki is the product. Chat is just the interface.

Based on Andrej Karpathy's LLM Wiki pattern. Wraps the claude-obsidian plugin.

What's in this repo

  • CLAUDE.md — project instructions Claude reads on every session
  • WIKI.md — schema reference (folder layout, frontmatter, ops)
  • .claude/agents/ — three generic specialists
    • classifier — read-only, classifies inbox files into batches
    • wiki-expert — integrates general knowledge artifacts into wiki/
    • blog-expert — turns publishable-intent prose into blog/drafts/
  • .claude/skills/dispatch/ — the /dispatch orchestrator
  • empty inbox/, archive/, .raw/, wiki/, blog/drafts/ skeletons

The wiki/ folder is empty on purpose. Claude scaffolds it on first run, based on what you tell it the vault is for.

Setup

1. Clone the repo

git clone <this-repo-url> ~/Documents/MyWiki
cd ~/Documents/MyWiki

You can put the vault anywhere. ~/Documents/MyWiki is a sensible default.

2. Install Obsidian

  • macOS: brew install --cask obsidian
  • Linux (Flatpak): flatpak install flathub md.obsidian.Obsidian
  • Windows: winget install Obsidian.Obsidian
  • Or download from https://obsidian.md/download

Open Obsidian → "Open folder as vault" → select the cloned directory.

3. Install the claude-obsidian plugin

In a Claude Code session anywhere:

/plugin marketplace add AgriciDaniel/claude-obsidian
/plugin install claude-obsidian@claude-obsidian-marketplace

This gives you /wiki, /save, /lint, /autoresearch, and the ingestion skills used by /dispatch.

4. (Optional) Recommended Obsidian plugins

In Obsidian → Settings → Community Plugins → Browse:

PluginWhy
DataviewPowers wiki dashboards
TemplaterAuto-fill frontmatter on note creation
Obsidian GitAuto-commit every 15 minutes

Also handy: the Obsidian Web Clipper browser extension — one click sends a cleaned web article straight to .raw/.

5. First run

Open the vault directory in Claude Code:

cd ~/Documents/MyWiki
claude

Then either:

  • Run /wiki to scaffold structure interactively (Claude asks "what is this vault for?" and creates the matching layout), or
  • Drop a few files into inbox/ and run /dispatch to ingest them straight away.

6. Edit CLAUDE.md

Open CLAUDE.md and fill in:

  • Mode: — pick from A (Website), B (GitHub), C (Business), D (Personal), E (Research), F (Book/Course). See WIKI.md §4.1a for details.
  • Purpose: — one sentence on what this vault is for
  • Owner: — your name

That's it.

Daily use

inbox/  ← drop anything here, any format, any time

When you have a few files queued up:

/dispatch

Or pass guidance to the classifier:

/dispatch these are all YouTube transcripts about LLM agents

The dispatcher will:

  1. Classify each file (wiki, blog, raw, credentials, defer, …)
  2. Show you a routing table for confirmation (auto-skipped when confidence is high)
  3. Run specialists in parallel
  4. Write everything to wiki/, update the index/log/hot cache once
  5. Show a result block + ask before archiving originals

Files needing your review (low confidence, credentials, unknown category) land in inbox/.review/ with a tick-box block — tick a box, save, re-run /dispatch.

Adding your own specialists

The starter ships with two specialists (wiki-expert, blog-expert). You can add more — every specialist is just a markdown file in .claude/agents/.

If you want a specialist for, say, recipes:

  1. Copy wiki-expert.md to recipe-expert.md.
  2. Rewrite the ## Scope block with accepts.examples, rejects, and targets for recipes.
  3. Add a one-line entry to the dispatcher specialist roster in CLAUDE.md.
  4. Drop a recipe file into inbox/ — the classifier will read all *-expert.md scope blocks and route it.

When the classifier sees content with no matching expert and the content is substantive, it tags unknown-category and proposes a new agent spec — read it, copy the suggestion to .claude/agents/, re-run.

Cross-project access

Any other Claude Code project can read this wiki cheaply. In that project's CLAUDE.md, add:

## Wiki Knowledge Base
Path: ~/Documents/MyWiki

When you need context not already in this project:
1. Read wiki/hot.md first (recent context, ~500 words)
2. If not enough, read wiki/index.md
3. If you need domain specifics, read wiki/<domain>/_index.md
4. Only then read individual wiki pages

Do NOT read the wiki for general coding questions or things already in this project.

Conventions

  • Every wiki page has YAML frontmatter (type, status, created, updated, tags)
  • Wikilinks use [[Page Name]] — filenames are unique, no paths
  • .raw/ is read-only — never modify source files
  • wiki/log.md is append-only — new entries at the top
  • wiki/index.md is the master catalog — updated every ingest

Full reference: WIKI.md.

License

Do whatever you want with this. Attribution to Karpathy's LLM Wiki post and the claude-obsidian plugin is appreciated but not required.

Related

How to Install

  1. Download the ZIP or clone the repository
  2. Open the folder as a vault in Obsidian (File → Open Vault)
  3. Obsidian will prompt you to install required plugins

Stats

Stars

0

Forks

0

Last updated 5mo ago

Categories