| name | second-brain | ||
|---|---|---|---|
| description | When you want to capture into, compile, query, lint, or connect your personal Second Brain. Wraps the Karpathy LLM Wiki schema (Obsidian or any markdown vault) — raw/ (unprocessed sources), wiki/ (AI-compiled interlinked topic pages), outputs/ (generated artifacts). Tool-agnostic in design but defaults to a vault at ${SECOND_BRAIN_VAULT:-$HOME/Documents/SecondBrain}/. Six modes — capture (drop something into raw/), compile (process unprocessed raw files into wiki pages, update INDEX.md), query (answer a question from the wiki, save to outputs/), lint (orphans / contradictions / stale / unprocessed raw / topic gaps), connect (suggest new wikilinks between pages), search (quick lookup). Triggers on "/second-brain," "/sb," "capture this," "save this to my brain," "compile the wiki," "process raw notes," "query my wiki," "ask my brain," "lint the wiki," "find connections," "search my notes." Complements deep-research (external corpus) — this is the internal corpus. | ||
| metadata |
|
Wraps an existing Second Brain in Obsidian (or any markdown-based vault). The wiki vault's CLAUDE.md is the authoritative schema — the skill orchestrates the operations the user has been doing manually.
Three layers, each with a clear role:
raw/ → wiki/ → outputs/
sources compiled generated
artifacts
- raw/ — unprocessed source material. Articles, highlights, ideas, braindumps, tweets. Type-prefixed (
article-,idea-,highlights-,braindump-,note-,resource-,tweet-). Never deleted — source of truth. - wiki/ — AI-compiled topic pages. One page per concept, not per source. Interlinked via
[[wikilinks]].INDEX.mdat root. - outputs/ — generated artifacts from queries: research summaries, analyses, slide decks. Named descriptively.
Folders to leave alone during wiki ops: Projects/, Daily/, Templates/, Inbox/, Notes/, Tasks.md, Kanban.md, Home.md.
- Read
references/vault-config.mdfor the vault path (default:${SECOND_BRAIN_VAULT:-$HOME/Documents/SecondBrain}/) - Read
<vault>/CLAUDE.mdfor the authoritative schema. If present, trust it overreferences/schema.md— the user's vault is the source of truth. - If no
<vault>/CLAUDE.md, fall back toreferences/schema.md.
| Invocation | Mode |
|---|---|
/sb capture / /second-brain capture / "capture this" / "save this to my brain" |
capture |
/sb compile / "compile the wiki" / "process raw notes" |
compile |
/sb query <question> / "ask my brain X" / "what does my brain say about Y" |
query |
/sb lint / "lint the wiki" / "health check my brain" |
lint |
/sb connect / "find connections" / "suggest wikilinks" |
connect |
/sb search <term> / "search my notes for X" |
search |
Inputs: URL, pasted text, file path, or screenshot.
- Detect type from content:
- URL →
article- - Pasted text with quoted highlights →
highlights- - User's own thoughts / brainstorm →
braindump-oridea- - Single tweet / X post →
tweet- - PDF, video, podcast →
resource- - Quick reference (recipe, command, fact) →
note- - If ambiguous, ask.
- URL →
- Generate a descriptive filename:
<type>-<kebab-case-topic>.md(e.g.,article-andrew-wilkinson-tiny-manual.md). Use the source title or topic — not the URL slug. - Add metadata to the top:
source: <URL if applicable> captured: YYYY-MM-DD
- Save to
<vault>/raw/. - If the source is a URL, fetch the article content (via WebFetch or agent-browser for auth-walled) and save the readable text — not just the URL.
- Report path + a one-line summary of what was saved.
Don't compile into the wiki here — capture is fast intake. Compilation is a separate, deliberate pass.
The expensive but valuable operation. Process unprocessed raw files into wiki pages.
- Find unprocessed raw files: grep
wiki/*.mdforSourcessections; the raw files NOT listed are unprocessed. - Read each unprocessed raw file + the existing
wiki/INDEX.md. - For each raw file:
- Extract key concepts, facts, insights
- Default: merge into an existing wiki page if the topic overlaps. Only create a new page if the concept doesn't fit anywhere.
- One page per concept, not per source.
- Use
[[wikilinks]]for every related concept - Add the raw file under the wiki page's
## Sourcessection with a one-line note on what was drawn from it
- Update
wiki/INDEX.md:- Add new pages under their category (Creative / Health & Longevity / Faith & Personal Growth / Business / Personal Growth / Tech / Hobbies / Sci-Fi / Pets — or new category if needed)
- One line per entry:
- [[Page Name]] — brief description
- Connections section is mandatory on every wiki page. If a new page has no connections, find one before saving.
- Quality > quantity. If a page would be <100 words, hold the raw file for now and ask the user if it should be merged into an adjacent page.
Output: list of pages created/updated, what merged where, anything held for clarification.
Answer a question using ONLY the wiki/raw corpus. Different from deep-research (which goes external).
- Read
wiki/INDEX.mdto identify potentially relevant pages - Read those pages + traverse
[[wikilinks]]1–2 hops - Compose the answer:
- Cite wiki pages by name: "Per [[Microplastics Detox]]..."
- If the wiki contradicts itself, surface both sides
- If the wiki doesn't contain the answer, say so and offer to run
/deep-researchto expand
- Save to
outputs/<YYYY-MM-DD>-<question-slug>.mdwith:- The original question
- The answer
- List of wiki pages consulted
- Show the answer in chat + path to the saved output
- Optional render: if
--render pdfor--render htmlwas passed, pipe the output through pandoc using the shared stylesheet. Seereferences/schema.md→ "Publishing alternatives" for the commands.
Health check the wiki.
Check:
- Orphan pages — wiki/*.md that aren't in INDEX.md
- Connection orphans — pages with no
[[wikilinks]]to other pages - Unprocessed raw — raw files not listed under any wiki page's Sources
- Stale pages — most recent source >6 months old AND topic is volatile (AI, marketing, finance, health protocols)
- Topic gaps — concepts mentioned in 3+ pages without their own dedicated page
- Contradictions — wiki pages making opposing claims without flagging it
- Missing connections — pages on clearly related topics with no
[[wikilink]]between them (suggest/sb connect)
Output: prioritized list. Most important first (broken structure beats stale content).
Find pages that should be linked but aren't.
- Build a topic map from INDEX.md + page summaries
- For each page, find 2–5 other pages with thematic overlap
- Check whether each candidate is already linked
- Suggest the missing links — and if the user approves, edit the pages to add them to their
## Connectionssections
Quick grep across wiki/ + raw/ for a term. Return matching files with a 2-line excerpt around the match. Faster than query when the user knows what page they're looking for.
deep-research— whenqueryfinds gaps in the wiki, route to deep-research to expand from external sources. Deep-research output can be captured back intoraw/for future compilation.paste— capture content cleanly intoraw/(especially for terminal/CLI captures).business-brainstorm— checksPortfolio of BusinessesandEntrepreneurship & Startupswiki pages for relevant context before brainstorming.decide— pull fromPersonal Philosophy/Productivity & Systemswiki for principles when scoring Q34 ("what principles are we bending"). New: aDecision Logwiki page accumulates the narrative form of decisions over time (thedecidearchive is the structured form; the wiki page is the story).jab-hook— aContent Ideaswiki page hoppers hooks, frameworks, and stories./jab-hookdrafts pull candidates from there.slide-deck— content drafted inoutputs/becomes deck source; speaker notes can reference relevant wiki pages.pm— Projects/ folder in the vault is off-limits to second-brain; pm owns it. But aWorkflow Docswiki page captures operational patterns that show up across multiple projects.
Two other systems following the same raw → wiki → outputs pattern. Both are worth watching as upgrade paths.
- Hermes'
llm-wikiskill — off-the-shelf implementation of the 3-folder pattern. Pre-built workflows for compile / query / lint. Useful for comparing schema decisions. - Gbrain by Garry Tan — much more sophisticated. Treats the brain as a database (Postgres or PGLite) with synthesis, graph traversal, gap analysis, scheduled cron maintenance, and MCP integration. Powers a 146K-page deployment with 24K people entities. If the user's vault outgrows the markdown-only pattern, Gbrain is the upgrade direction. Borrows worth adopting today even without migrating: people-as-entities (the
person-raw type +Peoplewiki page) and scheduled maintenance (wirecompileandlintto fire on a recurring schedule via thelooporcompound-engineering:scheduleskill).
- Quality over quantity. Fewer well-connected wiki pages beat many thin ones. Hold raw files for clarification if compilation would produce a thin page.
- Don't flatten nuance. If two raw sources contradict, the wiki page should note the disagreement, not pick a side silently.
- Connections section is mandatory — every wiki page must link to at least one other page.
- Never delete raw files after compilation. They're the source of truth.
- Never modify files in
Projects/,Daily/,Templates/,Notes/,Tasks.md,Kanban.md,Home.md, orInbox/during second-brain operations. Those belong to other workflows.