/obsidian-second-brain
Operate any Obsidian vault as a living, self-rewriting second brain (an evolution of Karpathy's LLM Wiki pattern: sources rewrite existing pages, contradictions reconcile automatically, scheduled agents maintain the vault while you sleep). Use this skill whenever the user asks
$ npx -y skills add eugeniughelbur/obsidian-second-brain --skill obsidian-second-brain --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/obsidian-second-brain
Context preview
The summary Claude sees to decide when to auto-load this skill.
Operate any Obsidian vault as a living, self-rewriting second brain (an evolution of Karpathy's LLM Wiki pattern: sources rewrite existing pages, contradictions reconcile automatically, scheduled agents maintain the vault while you sleep). Use this skill whenever the user asks
SKILL.md
obsidian-second-brain.SKILL.mdname: obsidian-second-brain
description: >
Operate any Obsidian vault as a living, self-rewriting second brain (an evolution
of Karpathy's LLM Wiki pattern: sources rewrite existing pages, contradictions
reconcile automatically, scheduled agents maintain the vault while you sleep).
Use this skill whenever
the user asks Claude to read, write, update, search, or manage their Obsidian
vault - including saving notes from conversation, creating daily entries, updating
kanban boards, logging dev work, managing people notes, capturing decisions,
tracking deals, or maintaining any vault structure. Also triggers when the user
wants to bootstrap a new vault from scratch, run a vault health check, or drop
a _CLAUDE.md into their vault so all Claude surfaces share the same operating rules.
Includes a research toolkit (7 commands: /x-read, /x-pulse, /research, /research-deep,
/notebooklm, /youtube, /podcast) for AI-powered research via Grok, Perplexity, NotebookLM,
YouTube, and podcast feeds - findings save
to the vault automatically following the AI-first vault rule. Use proactively whenever
the conversation produces information worth preserving (decisions, people met, projects
started, tasks completed, lessons learned, research findings).
Obsidian Second Brain
> Claude operates your Obsidian vault as a self-rewriting knowledge base. An evolution of [Karpathy's LLM Wiki pattern](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f): sources rewrite existing pages instead of just appending, contradictions reconcile automatically, and scheduled agents maintain the vault while you sleep. > Everything worth remembering gets saved. Every update propagates everywhere it belongs.
---
Quick Start
0. Choose vault access method (in order of preference)
Try these methods in order. Use the first one available:
**Method 0 - SessionStart hook (if configured):** If `hooks/load_vault_context.py` is wired as a SessionStart hook in `~/.claude/settings.json`, `_CLAUDE.md` is injected into context automatically at session start. Skip step 1 below. To wire it: `bash scripts/setup.sh "/path/to/vault"` or run `/obsidian-setup`.
**Method A - Direct filesystem (default, always works):** Use standard file tools (Read, Write, Edit, Glob) against the vault path. The vault is plain markdown, so every operation in this skill works this way with no setup. This is the normal path in Claude Code - the commands below use these tools directly.
**Method B - MCP server (optional, mainly for non-Claude-Code clients):** This repo ships its own MCP server at `integrations/obsidian-mcp-server/` that exposes the vault as tools (`obsidian_search`, `obsidian_read_note`, `obsidian_save_note`, `obsidian_capture`, plus curator tools). It exists so other MCP clients - Hermes Agent, Claude Desktop, Cursor - can use the vault as a knowledge layer; in Claude Code itself, Method A is simpler and preferred. If those `obsidian_*` tools happen to be available in your client, you may use them instead of raw file tools. Setup lives in `integrations/obsidian-mcp-server/README.md` (it is `uv run --with 'mcp<2' python .../server.py` with `OBSIDIAN_VAULT_PATH` set, not an `npx` package).
1. First time in a vault → read `_CLAUDE.md`
Before doing anything in a vault, check if `_CLAUDE.md` exists at the vault root and read it:
Read <vault>/_CLAUDE.md
If it exists: follow its rules exactly - they override the defaults in this skill. Where `_CLAUDE.md` is silent, fall back to the defaults below. If it doesn't exist: use the defaults in this skill, then offer to create one.
If the SessionStart hook is active, `_CLAUDE.md` is already in context - skip this step.
2. First time with a new user → run discovery
Glob <vault>/**/*.md
Scan the structure to understand: folder names, template locations, naming conventions, frontmatter patterns. Then read 2-3 existing notes to calibrate writing style before creating anything new.
3. Bootstrap a new vault
If the user has no vault yet, run:
# One-line install + bootstrap (asks 3 questions: vault path, your name, preset)
curl -sL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
# Or manual:
python scripts/bootstrap_vault.py --path ~/path/to/vault --name "Your Name"
# With a preset:
python scripts/bootstrap_vault.py --path ~/my-vault --name "Your Name" --preset executive
python scripts/bootstrap_vault.py --path ~/my-vault --name "Your Name" --preset builder
python scripts/bootstrap_vault.py --path ~/my-vault --name "Your Name" --preset creator
python scripts/bootstrap_vault.py --path ~/my-vault --name "Your Name" --preset researcher
# With assistant mode (maintaining vault for someone else):
python scripts/bootstrap_vault.py --path ~/my-vault --name "Your Name" --mode assistant --subject "Boss Name"
Then just point the skill at the new vault path (Method A above). If you use the optional bundled MCP server, set `OBSIDIAN_VAULT_PATH` to the new path and restart the client.
**Presets** customize the vault for different use cases:
- **`executive`** - Decisions, people, meetings, strategic planning. Kanban: OKRs, Quarterly, Weekly.
- **`builder`** - Projects, dev logs, architecture decisions, debugging. Kanban: Backlog, Sprint, Done.
- **`creator`** - Content calendar, ideas pipeline, audience notes, publishing. Kanban: Ideas, Drafts, Published.
- **`researcher`** - Sources, literature notes, hypotheses, methodology. Kanban: Reading, Processing, Synthesized.
Default (no preset) gives a general-purpose vault. All presets use wiki-style by default.
**Assistant mode** creates a `_CLAUDE.md` configured for operating a vault on behalf of someone else. See `references/claude-md-assistant-template.md`.
See `references/vault-schema.md` for full structural details.
---
Core Operating Principles
AI-first vault rule (applies to every note)
The vault
Read more
name: obsidian-second-brain description: > Operate any Obsidian vault as a living, self-rewriting second brain (an evolution of Karpathy's LLM Wiki pattern: sources rewrite existing pages, contradictions reconcile automatically, scheduled agents maintain the vault while you sleep). Use this skill whenever the user asks Claude to read, write, update, search, or manage their Obsidian vault - including saving notes from conversation, creating daily entries, updating kanban boards, logging dev work, managing people notes, capturing decisions, tracking deals, or maintaining any vault structure. Also triggers when the user wants to bootstrap a new vault from scratch, run a vault health check, or drop a _CLAUDE.md into their vault so all Claude surfaces share the same operating rules. Includes a research toolkit (7 commands: /x-read, /x-pulse, /research, /research-deep, /notebooklm, /youtube, /podcast) for AI-powered research via Grok, Perplexity, NotebookLM, YouTube, and podcast feeds - findings save to the vault automatically following the AI-first vault rule. Use proactively whenever the conversation produces information worth preserving (decisions, people met, projects started, tasks completed, lessons learned, research findings).
Obsidian Second Brain
> Claude operates your Obsidian vault as a self-rewriting knowledge base. An evolution of [Karpathy's LLM Wiki pattern](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f): sources rewrite existing pages instead of just appending, contradictions reconcile automatically, and scheduled agents maintain the vault while you sleep. > Everything worth remembering gets saved. Every update propagates everywhere it belongs.
---
Quick Start
0. Choose vault access method (in order of preference)
Try these methods in order. Use the first one available:
**Method 0 - SessionStart hook (if configured):** If `hooks/load_vault_context.py` is wired as a SessionStart hook in `~/.claude/settings.json`, `_CLAUDE.md` is injected into context automatically at session start. Skip step 1 below. To wire it: `bash scripts/setup.sh "/path/to/vault"` or run `/obsidian-setup`.
**Method A - Direct filesystem (default, always works):** Use standard file tools (Read, Write, Edit, Glob) against the vault path. The vault is plain markdown, so every operation in this skill works this way with no setup. This is the normal path in Claude Code - the commands below use these tools directly.
**Method B - MCP server (optional, mainly for non-Claude-Code clients):** This repo ships its own MCP server at `integrations/obsidian-mcp-server/` that exposes the vault as tools (`obsidian_search`, `obsidian_read_note`, `obsidian_save_note`, `obsidian_capture`, plus curator tools). It exists so other MCP clients - Hermes Agent, Claude Desktop, Cursor - can use the vault as a knowledge layer; in Claude Code itself, Method A is simpler and preferred. If those `obsidian_*` tools happen to be available in your client, you may use them instead of raw file tools. Setup lives in `integrations/obsidian-mcp-server/README.md` (it is `uv run --with 'mcp<2' python .../server.py` with `OBSIDIAN_VAULT_PATH` set, not an `npx` package).
1. First time in a vault → read `_CLAUDE.md`
Before doing anything in a vault, check if `_CLAUDE.md` exists at the vault root and read it:
Read <vault>/_CLAUDE.md
If it exists: follow its rules exactly - they override the defaults in this skill. Where `_CLAUDE.md` is silent, fall back to the defaults below. If it doesn't exist: use the defaults in this skill, then offer to create one.
If the SessionStart hook is active, `_CLAUDE.md` is already in context - skip this step.
2. First time with a new user → run discovery
Glob <vault>/**/*.md
Scan the structure to understand: folder names, template locations, naming conventions, frontmatter patterns. Then read 2-3 existing notes to calibrate writing style before creating anything new.
3. Bootstrap a new vault
If the user has no vault yet, run:
# One-line install + bootstrap (asks 3 questions: vault path, your name, preset) curl -sL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash # Or manual: python scripts/bootstrap_vault.py --path ~/path/to/vault --name "Your Name" # With a preset: python scripts/bootstrap_vault.py --path ~/my-vault --name "Your Name" --preset executive python scripts/bootstrap_vault.py --path ~/my-vault --name "Your Name" --preset builder python scripts/bootstrap_vault.py --path ~/my-vault --name "Your Name" --preset creator python scripts/bootstrap_vault.py --path ~/my-vault --name "Your Name" --preset researcher # With assistant mode (maintaining vault for someone else): python scripts/bootstrap_vault.py --path ~/my-vault --name "Your Name" --mode assistant --subject "Boss Name"
Then just point the skill at the new vault path (Method A above). If you use the optional bundled MCP server, set `OBSIDIAN_VAULT_PATH` to the new path and restart the client.
**Presets** customize the vault for different use cases:
- **`executive`** - Decisions, people, meetings, strategic planning. Kanban: OKRs, Quarterly, Weekly.
- **`builder`** - Projects, dev logs, architecture decisions, debugging. Kanban: Backlog, Sprint, Done.
- **`creator`** - Content calendar, ideas pipeline, audience notes, publishing. Kanban: Ideas, Drafts, Published.
- **`researcher`** - Sources, literature notes, hypotheses, methodology. Kanban: Reading, Processing, Synthesized.
Default (no preset) gives a general-purpose vault. All presets use wiki-style by default.
**Assistant mode** creates a `_CLAUDE.md` configured for operating a vault on behalf of someone else. See `references/claude-md-assistant-template.md`.
See `references/vault-schema.md` for full structural details.
---
Core Operating Principles
AI-first vault rule (applies to every note)
The vault
Persistent memory for Claude Code and 6 other CLI agents, stored as plain markdown in your Obsidian vault. Stop re-explaining your projects, decisions and people every session. 45 commands: hybrid semantic search, self-rewriting notes, key-less web research, and scheduled agents that maintain the vault while you sleep.
Repo: eugeniughelbur/obsidian-second-brain

