By nhangen
Obsidian vault integration for Claude Code. Auto-capture git commit context, auto-save sessions via background claude CLI summarizer, export conversations, create/retrieve notes, and auto-organize content.
Open or append to today's Obsidian daily note. Usage: /obsidian:daily [content to append]
Search the Obsidian vault. Usage: /obsidian:find <query>
Create a new note or project in Obsidian. Usage: /obsidian:new <title>
Recall context about past work. Searches vault, git history, GitHub PRs, and claude-mem. Usage: /obsidian:recall <query>
Save the current Claude session to Obsidian. Optional topic hint overrides auto-routing. Usage: /obsidian:save [topic]
Captures conversation context around git commits to Obsidian vault. Fires automatically via PostToolUse hook.
Creates a new note, project folder, or page in the Obsidian vault. Triggers on phrases like "create a note about X", "start a new project for Y", "add a page for Z", "new obsidian note", "create project folder", "set up a new project in obsidian".
Reads, creates, or appends to the Obsidian daily note. Triggers on phrases like "add to my daily note", "update today's note", "what's in my daily note", "open today's note", "daily note", "log this to today".
Searches the Obsidian vault and returns matching notes. Triggers on phrases like "find my notes on X", "what did I write about Y", "search obsidian for Z", "do I have any notes about", "find in vault", "look up in obsidian".
Multi-source context recall. Searches Obsidian vault, git history, GitHub PRs, and claude-mem, then synthesizes a timeline report.
Executes bash commands
Hook triggers when Bash tool is used
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Obsidian vault integration for Claude Code — auto-save sessions, capture git commit context, and create/recall notes from the CLI.
Long Claude sessions and the commits they produce hold context that's gone the moment the session ends: why a decision was made, what was investigated and rejected, loose ends flagged for later. Pasting that into Obsidian by hand is the kind of chore that doesn't get done. This plugin captures it automatically — sessions on stop, commit context on every git commit — and routes notes to the right folder by domain.
claude --print summarizer writes a structured note to your vault.session_intent and capture_action with confidence scores and evidence bullets, so routing can distinguish execution, research, planning, operations, reflection, and scratch work.Bash detects successful git commit calls and appends goal / investigation / decision / loose-ends bullets to a per-repo daily file.obsidian.local.md — a vault path and a keyword-based domain taxonomy you edit directly.| Command | Purpose |
|---|---|
/obsidian:setup | First-run wizard. Writes obsidian.local.md with vault path, domains, routing. |
/obsidian:save [topic] | Save the current session. Optional topic hint overrides auto-routing. |
/obsidian:find <query> | Search the vault by keyword, tag, or topic. |
/obsidian:new <title> | Create a new note or project folder. |
/obsidian:daily [content] | Open or append to today's daily note. |
/obsidian:bookmark [label] | Mark a chapter boundary; saved as a separate note at session end. |
/obsidian:recall <query> | Cross-search vault, git history, GitHub PRs, and claude-mem. |
| Event | Script | Behavior |
|---|---|---|
Stop | scripts/session-save.sh | Auto-saves significant sessions via background claude --print summarizer. Skips trivial sessions. |
PostToolUse (Bash) | scripts/commit-capture.sh | After a successful git commit, appends a context block to <vault>/Projects/Development/<org>_<repo>/<YYYY-MM-DD>.md. Per-repo overrides supported (e.g. altamira2/mtf-builder → flat <vault>/Altamira/<date>-mtf-builder-commits.md). |
The PostToolUse hook is gated — it inspects the Bash command first and exits silently for non-commit calls, so it doesn't interrupt normal tool flow.
/obsidian:setup
/obsidian:save hubspot v3 migration
/obsidian:find "tax reverse charge"
/obsidian:recall "what did we decide about the refresh token race?"
/obsidian:daily Pushed PR #6955, waiting on review
After a git commit:
Captured a1b2c3d → awesomemotive_optin-monster-app/2026-05-12.md
claude plugin install nhangen/obsidian
/obsidian:setup
The setup wizard prompts for vault path, domain names, keywords per domain, and daily/inbox paths, then writes obsidian.local.md to the stable config location (see below).
obsidian.local.md is machine-specific and gitignored. It is resolved in a version-independent way so plugin updates never strand it — readers check, in order:
$OBSIDIAN_LOCAL_MD (explicit override)${XDG_CONFIG_HOME:-$HOME/.config}/claude-obsidian/obsidian.local.md — the canonical home; setup writes here${CLAUDE_PLUGIN_ROOT}/obsidian.local.md (legacy fallback for older installs)scripts/lib/resolve-config.sh implements this; run it directly to print the resolved path (--stable prints the canonical location). Generate the config with /obsidian:setup, or copy the example to the stable path:
mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/claude-obsidian"
cp obsidian.local.md.example "${XDG_CONFIG_HOME:-$HOME/.config}/claude-obsidian/obsidian.local.md"
Key frontmatter fields:
vault_path: /absolute/path/to/your/vault
vault_name: Obsidian # must match the vault name in the Obsidian app
daily_path: Daily/ # relative to vault root
auto_save: true # disable session autosave
auto_open: true # open note in GUI after writing
strict_domains: true # refuse to create folders outside the taxonomy
moc_promotion: true # promote recurring topics to Maps of Content
intent_high_score: 0.70 # high-confidence intent/action threshold
intent_margin: 0.15 # required margin over the next plausible intent/action
capture_high_score: 0.70 # high-confidence durable-capture threshold
The body of obsidian.local.md defines two things the skills read directly:
npx claudepluginhub nhangen/claude-obsidian-plugin --plugin obsidianAutonomous CEO agent for Claude Code. Reads your Obsidian vault, prioritizes work, dispatches 6 specialized subagents, and learns from corrections via playbooks and training files.
Source-grounded project glossary: auto-invokes on unfamiliar terms in registered repos, plus build (seed) and maintain (drift-check) operations.
Auto-summarize and compact when context fill crosses thresholds. Keeps live conversation under 40% by leaning on claude-mem + Obsidian as the durable layer.
Dispatch long-running research tasks to the Manus AI agent platform from Claude Code via slash command. On-demand polling plus SessionStart hook that surfaces newly-completed tasks on the next session, optional Obsidian filing, explicit-invocation cost gating.
Causal tracing layer over claude-mem. Extracts informed_by edges from observation narratives to trace what led to what. 6 MCP tools, 10 edge types.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.