obsidian-mind is a free, open source note taking & knowledge management project written in TypeScript and released under MIT. It has 4,645 GitHub stars, 533 forks and 7 open issues, and was last pushed 16 days ago. On this registry it ranks #26 of 37 tracked projects in Note Taking & Knowledge Management, with 5 head-to-head comparisons available.

What is obsidian-mind?

obsidian-mind is a self-organizing Obsidian vault template that gives AI coding agents persistent memory, built for developers and knowledge workers who run Claude Code, Codex CLI, or Gemini CLI and want every session to build on the last.

What it is

obsidian-mind is an MIT-licensed TypeScript project distributed as an Obsidian vault you open as your own. It defines a folder structure and a set of agent commands that turn conversations into durable notes, then wires those notes into AI coding agents so the agent can read them back at the start of the next session. It lives in the Obsidian ecosystem and integrates with obsidian-cli and obsidian-skills, with optional QMD semantic search over the vault. It requires Obsidian 1.12 or newer and Node 22 or newer.

The concrete problem it solves is that AI coding agents start every session from zero. They carry no context on your goals, your team, your patterns, or your wins, so you re-explain the same things repeatedly and lose decisions made three conversations ago; the knowledge never compounds. obsidian-mind replaces that ad-hoc, per-session re-briefing and hand-filed meeting note with a vault the agent reads, writes, and maintains itself.

Key capabilities

  • /om-standup loads brain/North Star.md, checks active projects, pulls open tasks, and scans recent git changes to open a working session.
  • /om-dump turns a free-form brain dump into structured output: it updates org/people/ notes, creates meeting notes under work/1-1/, writes Decision Records, and appends wins to perf/Brag Doc.md.
  • /om-incident-capture takes a Slack permalink; the slack-archaeologist reads every message, thread, and profile, people-profiler creates notes for new people involved, and the run produces a full timeline, root cause analysis, and a brag doc entry.
  • Session wrap-up verifies that notes have links, updates indexes, and runs brag-spotter to find uncaptured wins.
  • The same hooks, the same commands, and the same vault work across Claude Code, Codex CLI, and Gemini CLI.

Who uses it and how

  • Engineers who want a persistent second brain across coding sessions, with active project notes such as work/active/Auth Refactor.md updated automatically as work moves.
  • People preparing for one-to-ones and reviews, who rely on perf/Brag Doc.md and dated meeting notes rather than reconstructing history from memory.
  • Incident responders who paste a Slack incident permalink and get a timeline, root cause analysis, and people notes without manual transcribing.
  • Anyone running more than one agent CLI, since a single vault serves Claude Code, Codex CLI, and Gemini CLI interchangeably.

Getting started

Install the ShardMind CLI globally with npm install -g shardmind, create a fresh directory, then run shardmind install github:breferrari/obsidian-mind inside it; the wizard collects your name, organization, vault purpose, and which agents to include. Alternatively, git clone the repository directly — the result is the same vault. Afterwards, open the folder as an Obsidian vault and enable the Obsidian CLI in Settings → General.

How it compares

No comparable tools are named in the facts, so obsidian-mind stands alone in this registry. Where it does meet other software, it integrates rather than competes: obsidian-cli, obsidian-skills, and QMD semantic search are pulled in as complements to the vault rather than positioned against it.

When to use it — and when not to

A self-hoster needs Obsidian 1.12 or newer and Node 22 or newer, and ShardMind initializes git and optionally bootstraps QMD during installation. Because shardmind install writes into the current directory, the vault must be installed into a dedicated, empty folder. It is not the right choice for anyone who does not already use Obsidian or does not run one of the three supported agent CLIs, since the entire value depends on an agent reading and writing the vault.

project readme (upstream, from github) — read inline

🌐 English | 日本語 | 中文 | 한국어

Obsidian Mind

Claude Code Codex CLI Gemini CLI Obsidian Obsidian CLI Obsidian Skills QMD Node License

An Obsidian vault that gives AI coding agents persistent memory. Built for Claude Code, with working hooks for Codex CLI and Gemini CLI. Start a session, talk about your day, and the agent handles the rest — notes, links, indexes, performance tracking. Every conversation builds on the last.


🔴 The Problem

AI coding agents are powerful, but they forget. Every session starts from zero — no context on your goals, your team, your patterns, your wins. You re-explain the same things. You lose decisions made three conversations ago. The knowledge never compounds.

🟢 The Solution

Give your agent a brain.

You: "start session"
Agent: *reads North Star, checks active projects, scans recent memories*
Agent: "You're working on Project Alpha, blocked on the BE contract.
        Last session you decided to split the coordinator. Your 1:1
        with your manager is tomorrow — review brief is ready."

Works with Claude Code (full support), Codex CLI, and Gemini CLI — same hooks, same commands, same vault.

Install via shardmind install or git clone — same vault either way.


⚡ See It In Action

Morning kickoff:

/om-standup
# → loads North Star, active projects, open tasks, recent git changes
# → "You have 2 active projects. The auth refactor is blocked on API contract.
#    Your 1:1 with Sarah is at 2pm — last time she flagged observability."

Brain dump after a meeting:

/om-dump Just had a 1:1 with Sarah. She's happy with the auth work but wants
us to add error monitoring before release. Also, Tom mentioned the cache
migration is deferred to Q2 — we decided to focus on the API contract first.
Decision: defer Redis migration. Win: Sarah praised the auth architecture.
→ Updated org/people/Sarah Chen.md with meeting context
→ Created work/1-1/Sarah 2026-03-26.md with key takeaways
→ Created Decision Record: "Defer Redis migration to Q2"
→ Added to perf/Brag Doc.md: "Auth architecture praised by manager"
→ Updated work/active/Auth Refactor.md with error monitoring task

Incident response:

/om-incident-capture https://slack.com/archives/C0INCIDENT/p123456
# → slack-archaeologist reads every message, thread, and profile
# → people-profiler creates notes for new people involved
# → Full timeline, root cause analysis, brag doc entry

End of day:

You: "wrap up"
# → verifies all notes have links
# → updates indexes
# → brag-spotter finds uncaptured wins
# → suggests improvements

🚀 Quick Start

📦 Install via ShardMind (recommended)

npm install -g shardmind
mkdir my-vault && cd my-vault
shardmind install github:breferrari/obsidian-mind

shardmind install writes into the current directory, so create and enter a fresh folder first. The wizard collects your name, organization, vault purpose, agents to include, and whether to enable QMD; ShardMind then initializes git, optionally bootstraps QMD, and personalizes brain/North Star.md with your answers. Then:

  1. Open the installed folder as an Obsidian vault
  2. Enable the Obsidian CLI in Settings → General (requires Obsidian 1.12+)
  3. Run your agent in the vault directory: claude, codex, or gemini
  4. Start talking about work

ShardMind is the package manager for Obsidian vault templates. The install adds a .shardmind/ sidecar that powers the wizard, optional modules (skip what you don't use), and three-way-merge upgrades. With every value at its default the install is byte-equivalent to git clone — clone-UX is preserved exactly. Delete .shardmind/ and shard-values.yaml from the installed vault and it keeps working: ShardMind is additive, not load-bearing.

Or clone directly

git clone https://github.com/breferrari/obsidian-mind.git

Or use it as a GitHub template. Skip the wizard, get the bare template. Then run through the same 4 steps above, plus fill in brain/North Star.md with your goals (the ShardMind wizard does this for you).

🔍 Recommended: QMD Semantic Search

QMD is where most of the agent's retrieval intelligence comes from. Optional in the strict sense — the vault falls back to grep + the Obsidian CLI — but the experience is meaningfully better with it:

  • Semantic recall. Find "what did we decide about caching" even when the note is titled "Redis Migration ADR."
  • Brain topics available on demand. Claude is instructed (via CLAUDE.md) to consult brain/ guidance through QMD when the conversation touches a listed topic.
  • Subagents get sharper context. context-loader, review-prep, brag-spotter, and friends consult QMD first, then fall back to grep.
  • Native agent tools via MCP. Registered as a Model Context Protocol server in .mcp.json — when QMD is installed, mcp__qmd__query, mcp__qmd__get, and mcp__qmd__multi_get appear in the agent's tool menu alongside Read and Edit. Subagents, slash commands, and the main conversation all call the same typed contract. Add another MCP-aware tool later (a database, a ticketing system, a calendar) and it plugs in the same way.
npm install -g @tobilu/qmd
node --experimental-strip-types .scripts/qmd-bootstrap.ts

The bootstrap is idempotent — safe to re-run. It resolves this vault's index name — the qmd_index field from vault-manifest.json when set, otherwise the vault folder name slugified — reads qmd_context, registers the collection, attaches the context, and builds the index + embeddings. The SessionStart hook and .mcp.json wrapper both read the same manifest field, so CLI queries, the MCP server, and the re-index all scope to the same named SQLite store. This isolates the vault from any other QMD-using vault on the same machine.

If you want to use a different index name (for example, one vault per engineer on a shared workstation), edit qmd_index in vault-manifest.json before running the bootstrap. Once the store is populated, always pass --index to the CLI:

qmd --index obsidian-mind query "what did we decide about caching"
qmd --index obsidian-mind update   # after bulk edits
qmd --index obsidian-mind embed    # after many new notes
How it works under the hood

QMD runs three small models locally, so there is no API key to set up, no per-query cost, and it works offline:

model size job
embeddinggemma-300M ~328MB turns notes and queries into vectors
qmd-query-expansion-1.7B ~1.28GB rewrites your query into better search terms
Qwen3-Reranker-0.6B ~640MB reorders the shortlist by actual relevance

They download on first use and are cached. QMD offloads to the GPU when it finds one — CUDA on a discrete card, Metal on Apple Silicon — and falls back to CPU otherwise. Check what yours is doing with qmd doctor.

The three CLI verbs map onto that stack, cheapest first: qmd search is BM25 keywords with no model at all, qmd vsearch is vector-only, and qmd query is the full hybrid. If you want to avoid the larger downloads, search alone is genuinely useful.

What that means for the MCP server

The om server sends a lexical and a vector sub-query, so retrieval finds the note that answers your question even when it shares no keywords with it. Practical consequences worth knowing:

  • Reads are the expensive side, not writes. A query embeds locally before it can search, so recall with a query takes a couple of seconds while recall without one is near-instant. search over notes is fast — it is the vector step that cos

readme truncated — read the full docs on github

Frequently asked questions

Is obsidian-mind free to use?

obsidian-mind is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does obsidian-mind do?

A self-organizing Obsidian vault that gives AI coding agents persistent memory. Claude Code, Codex CLI, Gemini CLI.

What is obsidian-mind written in?

obsidian-mind is primarily written in TypeScript. Its source is publicly available at https://github.com/breferrari/obsidian-mind, and it has 4,645 GitHub stars.