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.
Ask the Obsidian vault librarian (query or file info). Usage: /obsidian:ask <question or note>
Drop a chapter bookmark in the current session. The session-end hook will save each bookmarked segment as a separate note. Usage: /obsidian:bookmark [label]
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>
Obsidian vault librarian. Answers index-grounded vault queries with citations and confidence, and files new information into the right folder + INDEX without back-and-forth. Maintains the markdown INDEX layer with on-demand two-stage freshness. Never moves or deletes notes without explicit user approval.
Specialized subagent for deep Obsidian vault analysis and reorganization. Analyzes the full vault file tree, identifies structural issues (orphaned notes, misplaced files, near-duplicate content, empty folders), proposes a reorganization plan, waits for user approval, then executes moves with a rollback manifest. Never moves files without explicit user approval.
Multi-source context recall. Searches Obsidian vault, git history, GitHub PRs, and claude-mem, then synthesizes a timeline report.
Ask the Obsidian vault librarian a question or file new information into the vault. Triggers on "ask my vault", "what do we know about X", "where in my vault is Y", "what did I decide about Z", "remember this in obsidian", "file this note". Dispatches the vault-librarian subagent for index-grounded answers and no-back-and-forth inserts.
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".
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. |
/obsidian:ask | Ask the vault librarian — index-grounded answers with citations, or file new info without back-and-forth. |
/obsidian:ask dispatches the vault-librarian subagent. It answers queries by
routing to the relevant domain folder, refreshing that slice's INDEX.md
on-demand (two-stage: file mtime narrows candidates, a stored size:sha256
content hash confirms real changes — so a Syncthing mtime-bump doesn't trigger
re-indexing), then reading only the indexed notes and citing them with a
confidence level. It reports indexing gaps rather than answering from a partial
slice, and falls back to the find skill for raw-text search when the index
misses.
For inserts it routes new notes through the taxonomy, dedups against existing
notes, writes via the matching Templates/ file, and appends a link to the
right INDEX — deferring genuine unknowns to [ask] markers in Pending.md
instead of interrupting you.
Per-INDEX machine state (content hashes + last-reconciled timestamp) lives in a
hidden .<index>.state sidecar file beside each INDEX.md, so the human-
readable index is only ever appended to, never rewritten.
The plugin includes a two-layer background maintenance system that keeps the vault accurate without LLM overhead on every tick.
Layer 1 — deterministic substrate tick (scripts/vaultkeeper-tick.sh): a pure-bash script that runs on cron (Linux) or launchd (macOS), namespaced com.nhangen.obsidian-vaultkeeper. It validates frontmatter against the required keys, scans for unfiled notes, open [ask] markers, and promotable clusters, then surfaces candidates into Librarian.md and appends only genuinely-new items to Pending.md. No LLM involved; no writes to the CEO vault.
Layer 2 — on-demand agent (/obsidian:ask): the vault-librarian subagent answers queries and acts on the pre-computed candidate lists from Layer 1, only spinning up an LLM when a human query needs it.
Librarian.md is written exclusively by the keeper tick. Manual edits do not persist — the next tick overwrites it atomically. Read it as a live dashboard; don't edit it.
The keeper activates itself. The first time the session-end hook (session-save.sh) runs on a host where the keeper isn't scheduled yet, it seeds the frontmatter schema, writes default keeper config, and installs the namespaced scheduler — no command to run. Once installed it's a cheap no-op on every later session end.
Because Syncthing carries the vault but not a launchd plist / crontab line, each host self-activates the first time you work on it. Opt out with keeper_autostart: false in obsidian.local.md.
To install manually (or on a host you never run a session on), the engine is still directly invokable:
bash scripts/install-watcher.sh install "$(pwd)/scripts/vaultkeeper-tick.sh"
Autonomous 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.
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.
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.
npx claudepluginhub nhangen/claude-obsidian-plugin --plugin obsidianBidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM
Persistent Obsidian-based memory for coding agents. Automatically orients from a knowledge vault at session start, navigates project architecture via graph traversal, and writes discoveries back to the vault.
Create and edit Obsidian vault files including Markdown, Bases, and Canvas. Use when working with .md, .base, or .canvas files in an Obsidian vault.
Knowledge management for Obsidian vaults and structured markdown repositories
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.