A knowledge base that an AI agent builds and maintains for you, in plain markdown files you own. Everything you read, watch and save gets turned into linked wiki pages, connected to everything already there, and you can ask it questions.
This repo is the full version of the guide: the concepts, the setup, the vault template, the agent skills, the scripts, and the resources. Free, no signup, nothing to install beyond Obsidian and an agent.
Read it on the web: undefined-ui.github.io/second-brain-os — the full guide with search and navigation, plus every vetted link in one filterable page.
Three things live here — pick your entrance:
- The second-brain guide — a path you follow once: build a knowledge base an agent maintains for you. 65 pages, a starter vault, 18 skills.
- The agents course — a path you read in order: seven modules from a single prompt to a production agent, with tools you install in two commands.
- The handbooks — not a path, references: the full menu of techniques, tools and builds for one layer. Open one when that layer starts hurting.
You save things with the intention of coming back. You never do. Bookmarks, screenshots, read-later queues and half-filled Notion pages accumulate without compounding, because filing and linking them is boring work that humans stop doing after two weeks.
Hand that work to an agent and the system stays alive. That is the whole idea.
One evening. Nine steps, each with a full page behind it.
# copy the starter vault, skills, commands and agents
git clone https://github.com/undefined-ui/second-brain-os.git
cp -r second-brain-os/vault-template ~/brain
mkdir -p ~/brain/.claude
cp -r second-brain-os/skills ~/brain/.claude/skills
cp -r second-brain-os/commands ~/brain/.claude/commands
cp -r second-brain-os/agents ~/brain/.claude/agents
cp -r second-brain-os/scripts ~/brain/scripts
# the folder READMEs are for reading on GitHub, not for the agent
rm ~/brain/.claude/*/README.md ~/brain/scripts/README.md
cd ~/brain && claudeThe scripts/ copy is what lets /metrics, /health and /graph-export run
scripts/vault_stats.py and friends from inside the vault. On Windows, use
python where this guide says python3: the python3 name usually resolves to
the Microsoft Store stub and does nothing.
- Install Obsidian and open
the
~/brainfolder you just copied with "Open folder as vault" - Set up Claude Code, in the terminal or the Code tab of the desktop app
- Connect over MCP if you want the agent to reach the vault from anywhere. Optional, skip it on day one
- Get interviewed for your CLAUDE.md instead of writing it by hand
- Set up the two layers: a wiki for what you know, projects for what you are doing
- Scope down to one project when you want to ship something
- Install the Web Clipper, clip an article to
raw/, run/ingest - Connect live data: calendar, email, chat
- Put maintenance on a schedule and wake up to a vault that filed itself
Then feed it ten more sources before judging it. The graph is not interesting at five pages and it is hard to look away from at fifty.
Full walkthrough: Setup.
you raw/ agent wiki/
┌───────┐ ┌──────────────┐ ┌────────────┐ ┌──────────────┐
│ clip │ ──────> │ articles │ ───> │ ingest │ ───> │ sources/ │
│ save │ │ transcripts │ │ extract │ │ concepts/ │
│ dump │ │ pdfs │ │ link │ │ entities/ │
└───────┘ │ chat exports │ │ lint │ │ synthesis/ │
└──────────────┘ └────────────┘ └──────────────┘
│ │
│ ask anything │
└─────────────────────┘
Raw material is an archive you never read. The wiki is the artifact, written in plain language, one idea per page, densely linked. New sources update existing pages instead of piling up beside them, which is why the vault gets better as it grows rather than just bigger.
Alongside the wiki sits a project layer: one folder per project, each with its
own CLAUDE.md and an Inputs / Process / Outputs / Feedback pipeline. The
wiki holds what you know, the projects hold what you are doing, and they feed
each other. The two layers covers why keeping
them separate matters more than it sounds.
| Folder | What it holds |
|---|---|
docs/ |
The guide. Ten sections, from the concept to troubleshooting |
docs/course-*/ |
The agents course: seven modules, prompt to production |
docs/track-*/ |
Five handbooks on the wider craft: graphs, Jev, harnesses, loops, evals |
vault-template/ |
A starter vault: wiki structure, project pipeline, CLAUDE.md and page templates |
skills/ |
18 agent skills, one per workflow in the guide |
commands/ |
72 slash commands, scoped entry points into those skills |
agents/ |
6 subagents, four of them read-only by design |
plugins/ |
Claude Code plugins — the course's tools, installable in two commands |
scripts/ |
Dependency-free Python for link checking, stats and graph export |
resources/ |
Tools, repos, papers and reading worth your time |
examples/ |
Real vaults and real output |
Ten sections, 77 pages, written to be followed rather than skimmed. From the concept through setup, capture, structure, the graph, automation, retrieval, publishing, and what to do when each of them breaks.
| Section | What it covers |
|---|---|
| Concepts | what the pattern is and why the old note systems died |
| Setup | Obsidian, Claude Code, CLAUDE.md, MCP, projects, git |
| Ingestion | articles, video, PDFs, chat exports, voice, backfilling |
| Structuring | page types, linking rules, schema, contradictions |
| Graphs | what the graph is for, typed links, GraphRAG, metrics |
| Agents | roles, schedules, hooks, guardrails |
| Retrieval | query patterns, search, context budget |
| Outputs | writing, reports, publishing, learning |
| Maintenance | linting, review cadence, git, privacy, scaling |
| Troubleshooting | the failures everyone hits, with fixes |
Seven modules from a single prompt to a production agent, built on Google's agent whitepapers and the five-layer frame: what the agent sees, who decides the next step, who sorts the incoming work, what it can reach, and how you know it works. Theory with sources, a practice page in every module, and a day-one plan at the end.
| Module | What it teaches |
|---|---|
| 0 · The map | what an agent is, the five layers, agents vs workflows |
| 1 · Context | attention, caching, the four places, sessions and memory |
| 2 · Loop | goal, checker, stop rule, budget; the production hybrid |
| 3 · The gate | cheap decisions first: classifiers, System One models |
| 4 · Harness | containment, guides, sensors, permissions |
| 5 · Evals | behavioural checks on traces, judged judges, golden sets |
| 6 · Production | gateways, tracing, cost, security, the day-one plan |
The course ships its own tools as a Claude Code plugin — a context auditor, a goal-test generator, a gate finder, a harness auditor, an evals bootstrapper and a loop critic, each doing one module's practice page in your repo:
claude plugin marketplace add undefined-ui/second-brain-os
claude plugin install agents-course@second-brain-osEverything above is the second brain. The handbooks are the wider craft of building with agents — separate subjects, deliberately compact: eight or nine pages each, current as of September 2026, and every one ends in a hands-on build you can finish in an evening.
| Handbook | What it covers | The build |
|---|---|---|
| Knowledge graphs | GraphRAG, extraction pipelines, stores, wikilinks-as-graph | a queryable graph layer over your own vault |
| Jev engineering | System One models: typed decisions with confidence instead of text | a confidence-gated router, ready for Jev when access lands |
| Agent harnesses | the loop, tools, context engineering, MCP, the landscape | a working harness in ~150 lines |
| Loop engineering | stop conditions, critics, context hygiene, unattended runs | an overnight loop with a ratchet and a morning report |
| Eval engineering | golden sets, LLM judges, agent trajectories, CI gates | your first eval suite, wired into CI |
Read them on the site: handbooks on undefined-ui.github.io.
This setup is opinionated. The three rules that matter most, and why:
Nothing is ingested until it is linked. A page that lands unconnected is invisible within a week. Linking is the entire value, so it happens in the same run or the ingest is not finished.
Contradictions are recorded, never overwritten. When a new source disagrees with a page, both positions stay, with dates and sources. The history of what you believed and why is the one thing your vault has that a search engine does not.
No vector database until you need one. A personal corpus is small and already structured. Structured pages plus links answer questions that chunk similarity cannot, at zero infrastructure cost. When RAG earns its place covers the threshold.
Anyone who reads a lot and retains less than they want to: researchers, engineers, writers, students, people who watch three hours of technical video a week and remember none of it.
It is not for team wikis, it is not a Notion replacement, and it will not organise a vault you never add to.
Everything here is markdown files, wikilinks and SKILL.md files. It works with
Claude Code, and with any agent that reads files. Obsidian is a viewer for the
graph, not a dependency. If you walk away from every tool named in this repo,
you keep the folder and everything in it.
The source document, and the research behind the design decisions in this guide.
| Source | What it gives you |
|---|---|
| Karpathy's llm-wiki gist (4 Apr 2026) | The pattern everything here builds on. Short, written as an idea file to paste into your agent rather than as a spec. Read it first. |
| From Local to Global: GraphRAG arXiv:2404.16130 | Why chunk retrieval fails on questions about a whole corpus, which is exactly what people want from a second brain. Code: microsoft/graphrag. |
| HippoRAG arXiv:2405.14831 | Graph retrieval with personalised PageRank for multi-hop questions. The closest published analogue of an agent walking links outward. |
| Lost in the Middle arXiv:2307.03172, TACL | The empirical reason not to paste your whole vault into context, and the basis for the context budget rules. |
| Andy Matuschak's notes | Evergreen notes, written in public. Also the strongest argument against this approach: if the writing is the thinking, delegating it means not doing it. |
| How to Take Smart Notes (Ahrens) | Zettelkasten. Atomic notes and dense linking still hold; the manual labour is what killed it for most people. |
| Building a Second Brain (Forte) | Where the term comes from, and PARA. Most of the book is about maintenance work an agent removes. |
Full notes: reading.md and papers.md.
Obsidian plugins ranked by installs from the official community stats, September 2026. The full catalog is in plugins.md and tools.md.
| Purpose | Pick | Installs |
|---|---|---|
| Agent in the editor | Claudian | 2.0M |
| Agent in the editor | Copilot | 1.8M |
| Suggests links | Smart Connections | 1.2M |
| MCP access | Local REST API with MCP | 712K |
| Queries over frontmatter | Dataview | 4.9M |
| Templates | Templater | 5.5M |
| Version control | Git | 3.1M |
| Migrating in | Importer | 1.6M |
| Broken links and orphans | Find unlinked files | 225K |
| Flashcards from notes | Spaced Repetition | 592K |
| Structured mind-map | ExcaliBrain | 336K |
| Interactive graph | Juggl | 136K |
Outside Obsidian: Web Clipper for capture, Claude Code for maintenance, yt-dlp and OCRmyPDF for processing, ripgrep, NetworkX, Kuzu and Gephi for the graph, and Quartz to publish.
This repo ships 18 skills, 72 commands, 6 subagents and 4 scripts: one skill per workflow in the guide, and a command for every scoped version of it you would actually run.
Other implementations, counted the same way. A repo shipping sixteen skills counts as sixteen. Stars from the GitHub API, September 2026.
| Repo | Stars | Ships |
|---|---|---|
| AgriciDaniel/claude-obsidian | 14.7K | 16 skills, 3 subagents, role presets |
| Astro-Han/karpathy-llm-wiki | 2.2K | 1 skill covering ingest, compile, query, lint |
| ballred/obsidian-claude-pkm | 1.9K | 13 skills, 4 subagents, full starter kit |
| coleam00/second-brain-starter | 768 | 1 skill that interviews you first |
| NicholasSpisak/second-brain | 704 | 4 skills, npm installer |
| eugeniughelbur/obsidian-second-brain | small | 47 commands, works across three agents |
| micuintus/llm-wiki | small | 1 skill, deliberately minimal |
Where the format itself is defined: anthropics/skills (20 skills), obra/superpowers (14), VoltAgent/awesome-agent-skills (index of 1,000+). Notes on each: skills.md.
| Purpose | Repo | Stars |
|---|---|---|
| Build a graph from any folder | Graphify | 116K |
| Graph RAG, incremental | LightRAG | 39K |
| Graph RAG, reference | microsoft/graphrag | 36K |
| Graph RAG, readable | nano-graphrag | 4.0K |
| Multi-hop retrieval | HippoRAG | 4.0K |
| The landscape | Awesome-GraphRAG | 2.6K |
| Agent memory | mem0 | 65K |
| Temporal knowledge graphs | graphiti | 31K |
| Graph plus vector memory | cognee | 31K |
| MCP server index | awesome-mcp-servers | 95K |
Alternative homes for a vault, from Logseq to AFFiNE, plus RAG frameworks and AI-native note apps: repositories.md and tools.md.
Corrections, resources and real examples are welcome. Read CONTRIBUTING.md first: every factual claim needs a primary source, and tool listings need a reason to exist.
The LLM wiki pattern is Andrej Karpathy's, published as a gist on 4 April 2026. This repo is one implementation of it, plus the parts the gist deliberately leaves undefined.
MIT licensed.