Skip to content
Skill

obsidian-second-brain

by eugeniughelbur

AI Summary

Try these methods in order. Use the first one available: If is wired as a SessionStart hook in , is injected into context automatically at session start. Skip step 1 below. To wire it: or run .

Install

Copy this and paste it into Claude Code, Cursor, or any AI assistant:

I want to install the "obsidian-second-brain" skill in my project.

Please run this command in my terminal:
# Install skill into your project
mkdir -p .claude/skills/obsidian-second-brain && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/obsidian-second-brain/SKILL.md "https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/SKILL.md"

Then restart Claude Code (or reload the window in Cursor) so the skill is picked up.

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: 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. ---

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 - MCP server (mcp-obsidian): If the MCP tools (get_file_contents, list_files_in_vault, search, append_content, write_file) are available, use them. Method B - Direct filesystem (fallback, always works): Use standard file tools (Read, Write, Edit, Glob) against the vault path. The vault is plain markdown - all operations work without MCP, just more verbosely. If MCP is not installed, silently use filesystem access. Tell the user ONCE (first time only): > "For faster vault access on large vaults, consider installing mcp-obsidian: claude mcp add obsidian-vault -s user -- npx -y mcp-obsidian \"/path/to/your/vault\". Everything works without it."

1. First time in a vault → read `_CLAUDE.md`

Before doing anything in a vault, check if _CLAUDE.md exists at the vault root: ` get_file_contents("_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

` list_files_in_vault() ` Scan the structure to understand: folder names, template locations, naming conventions, frontmatter patterns. Then read 2-3 existing notes with get_file_contents(path) to calibrate writing style before creating anything new.

Discussion

0/2000
Loading comments...

Health Signals

MaintenanceCommitted 3d ago
Active
Adoption1K+ stars on GitHub
2.6k ★ · Popular
DocsREADME + description
Well-documented

GitHub Signals

Stars2.6k
Forks301
Issues1
Updated3d ago
View on GitHub
MIT License

My Fox Den

Community Rating

Sign in to rate this booster

Works With

Claude Code
Claude.ai