Build and maintain an LLM-powered second brain in Obsidian using Andrej Karpathy's LLM Wiki pattern. Run Claude Code inside the vault to process raw sources into a structured, cross-referenced wiki. Use when setting up an AI-maintained knowledge base, ingesting articles/transcripts/notes, writing daily journals, clearing an inbox, finding orphan notes (brain-dump), querying the wiki, or running a health check (lint). Tracks projects, meetings, content, revenue, and fitness.
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
An implementation of Andrej Karpathy's LLM Wiki pattern: instead of retrieval on every query, Claude compiles raw sources into a persistent, cross-referenced markdown wiki. You curate; Claude maintains everything. Knowledge compounds.
Traditional RAG re-searches raw documents on every query. The LLM Wiki shifts to compilation:
raw/ ← Layer 1: Immutable source material. Never modified by Claude.
wiki/ ← Layer 2: LLM-owned. Claude creates, edits, cross-references.
CLAUDE.md ← Layer 3: Schema/config. Governs how Claude maintains the wiki.Run /obsidian-llm-wiki followed by an operation:
| Command | What it does |
|---|---|
setup | Initialize vault structure and write CLAUDE.md |
ingest [url|path|text] | Process a source into the wiki |
daily-journal | Create or update today's daily note |
inbox | Classify and integrate all inbox/ notes |
brain-dump | Find orphan notes, fill gaps, surface stale content |
query [question] | Answer from the wiki with citations |
lint | Health check: broken links, contradictions, stale claims |
When the user runs /obsidian-llm-wiki setup:
~/Documents/Vault/.{vault}/
├── raw/ # Source inbox — drop anything here
│ ├── articles/
│ ├── transcripts/
│ ├── screenshots/
│ └── assets/
├── inbox/ # Fleeting thoughts, quick captures
├── wiki/ # LLM-generated and maintained
│ ├── sources/ # One page per ingested source
│ ├── people/ # Contacts, collaborators, relationships
│ ├── concepts/ # Ideas, frameworks, mental models
│ ├── projects/ # Active and archived projects
│ ├── meetings/ # Meeting notes and decisions
│ ├── content/ # Content created: posts, videos, writing
│ ├── revenue/ # Deals, invoices, financial milestones
│ ├── fitness/ # Workouts, health metrics, sleep
│ ├── synthesis/ # Comparisons, deep-dives, analyses
│ ├── index.md # Master catalog — one line per page
│ └── log.md # Chronological operation log
├── output/ # Generated reports, exports
├── daily/ # Daily notes (YYYY-MM-DD.md)
├── templates/ # Note templates
└── CLAUDE.md # Governs how Claude works hereCLAUDE.md in the vault root (see template below).wiki/index.md and wiki/log.md.templates/.# Wiki Maintainer Instructions
You are the maintainer of this Obsidian knowledge base. Your job is to compile raw sources into a
structured, cross-referenced wiki. Humans supply sources and ask questions; you handle all bookkeeping
and synthesis.
## Hard Rules
- **Never modify `raw/`** — it is immutable source material.
- **Always update `wiki/index.md`** when you create or significantly change a wiki page.
- **Always append to `wiki/log.md`** after every operation (timestamp + what changed).
- **Use wikilinks** `[[Page Name]]` for all internal cross-references.
- **Frontmatter** every wiki page with: `type`, `created`, `updated`, `tags`, `sources`.
- One page per entity (person, concept, project). Merge, don't duplicate.
- When uncertain about a claim, mark it `> [!question] Unverified:` callout.
## Page Types
| Type | Folder | Purpose |
|------|--------|---------|
| source | wiki/sources/ | Summary of one ingested item |
| person | wiki/people/ | Individual contact or figure |
| concept | wiki/concepts/ | Idea, framework, mental model |
| project | wiki/projects/ | Active or archived project |
| meeting | wiki/meetings/ | Meeting record + decisions |
| content | wiki/content/ | Published or drafted content |
| revenue | wiki/revenue/ | Deal, invoice, financial milestone |
| fitness | wiki/fitness/ | Workout, metric, health record |
| synthesis | wiki/synthesis/ | Cross-source analysis |
## Frontmatter Schema
```yaml
---
type: concept
title: "Page Title"
created: 2026-01-01
updated: 2026-01-01
tags: []
sources: []
related: []
status: active # active | archived | stub
---One line per page:
| [[Page]] | type | one-line summary | updated |
Keep sorted by type, then alphabetically.
## 2026-01-15T14:32 — ingest
Source: "Article Title"
Created: [[sources/article-slug]]
Touched: [[concepts/concept]], [[people/author]]> [!summary] — key takeaways at top of source pages> [!quote] — verbatim excerpts worth preserving> [!question] — unverified or needs research> [!action] — tasks that emerge from a source> [!decision] — decisions made in meetingsWhen multiple sources touch the same concept:
> [!summary] with 3-5 bullet takeawaysstatus: stub and appear in lint report### Templates to write in `templates/`
**source.md** — for ingested articles, videos, transcripts:
```markdown
---
type: source
title: ""
created: {{date}}
updated: {{date}}
tags: []
url: ""
author: ""
sources: []
related: []
status: active
---
> [!summary]
> -
> -
> -
## Key Points
## Quotes
## Actions
## Relatedproject.md:
---
type: project
title: ""
created: {{date}}
updated: {{date}}
tags: []
status: active
---
## Goal
## Status
## Next Action
## Decisions
## Related Meetings
## Related Peopledaily.md:
---
type: daily
date: {{date}}
---
## Focus
## Done
## Notes
## Inboxmeeting.md:
---
type: meeting
title: ""
date: {{date}}
attendees: []
tags: []
---
## Agenda
## Notes
> [!decision]
>
## Actions
## Related Projectsperson.md:
---
type: person
title: ""
created: {{date}}
updated: {{date}}
tags: []
status: active
---
## Role / Context
## Key Interactions
## Appears InWhen the user runs /obsidian-llm-wiki ingest [source]:
Source can be: URL → fetch, file path → read, or raw text pasted inline.
wiki/sources/{slug}.md from source template:
> [!summary] with 3-5 bullet key takeaways> [!quote] for high-value passages> [!action] items if source implies taskswiki/people/{name}.mdwiki/concepts/{concept}.mdwiki/projects/{project}.mdwiki/index.md with all new/changed pages.wiki/log.md with timestamp and pages touched.Typically touches 5–15 pages per source.
When the user runs /obsidian-llm-wiki daily-journal:
daily/YYYY-MM-DD.md exists for today.templates/daily.md.> [!action] items from yesterday's note.wiki/projects/ for projects with overdue next actions.wiki/log.md.When the user runs /obsidian-llm-wiki inbox:
inbox/ plus today's daily note ## Inbox section.raw/ after routing.wiki/log.md.When the user runs /obsidian-llm-wiki brain-dump:
The orphan hunter and gap filler. Surfaces problems you didn't know existed.
status: stub or < 100 words.updated > 30 days ago with status: active.[[wikilinks]] referenced but no file exists.wiki/index.md.output/brain-dump-YYYY-MM-DD.md:## Orphans (N) — no inbound links
## Stubs (N) — needs expansion
## Stale (N) — not updated in 30+ days
## Missing pages (N) — referenced but don't exist
## Index gaps (N) — not in index.mdwiki/log.md.When the user runs /obsidian-llm-wiki query [question]:
wiki/index.md to identify relevant pages.[[citations]].When the user runs /obsidian-llm-wiki lint:
Comprehensive health check. Produces output/lint-YYYY-MM-DD.md.
Checks:
status: stub)| Domain | Folder | Key fields |
|---|---|---|
| Projects | wiki/projects/ | goal, status, next action, deadline |
| Meetings | wiki/meetings/ | date, attendees, decisions, actions |
| Content | wiki/content/ | format, platform, published date |
| Revenue | wiki/revenue/ | amount, source, date, status |
| Fitness | wiki/fitness/ | type, duration, metrics, notes |
| People | wiki/people/ | role, relationship, appearances |
| Concepts | wiki/concepts/ | definition, sources, related |
wiki/index.md and wiki/log.md — non-negotiable after every operation.obsidian CLI if available (see obsidian-cli skill) for file ops inside a live vault.> [!question] — never silently fabricate.For persistent wiki maintenance, run Claude Code from the vault root:
cd ~/Documents/Vault
claudeThe vault's CLAUDE.md loads automatically and governs all behavior. This turns Claude Code into
a dedicated wiki maintainer for as long as the session runs.
For one-shot operations from outside the vault:
claude --add-dir ~/Documents/Vault "/obsidian-llm-wiki ingest https://example.com/article"valeriibeck-star/claude-skills
0bda8b8
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.