
Qmd
Search the vault using QMD semantic search.
Install
npx skills add breferrari/obsidian-mind --skill qmd -g -a claude-code -y- Repository
- breferrari/obsidian-mind5.5k
- Category
- AI and agents
- Updated
- 18d ago
- License
- MIT
- Context cost
- Mediumabout 1,606 tokens
- Runs scripts
- No, instructions only
What it does
Search the vault using QMD semantic search. Use PROACTIVELY before reading files. Preference order: (1) MCP tools, mcp__qmd__query, mcp__qmd__get, mcp__qmd__multi_get, mcp__qmd__status, if they appear in your tool menu, use them first; (2) CLI `qmd --index <name> ...` as fallback; (3) Grep/Glob only when QMD is not installed. Trigger proactively for past decisions, incidents, people, meetings, architecture, patterns, or any vault content, and after creating/editing notes to check for duplicates and related content.
QMD, Vault Semantic Search
Before reading vault files directly, search with QMD first. It returns relevant snippets without burning context on full file reads.
Tool Surfaces, Preference Order
Pick the highest surface available and stop. All three read the same SQLite store (see Named Index), so they return the same results; the choice is about interface ergonomics and context cost.
- MCP tools (preferred when registered),
mcp__qmd__query,mcp__qmd__get,mcp__qmd__multi_get,mcp__qmd__status. If these appear in your tool menu, the MCP server is live and pre-scoped to this vault. Call them directly, no--indexargument needed, no shell involved, typed arguments. This is the intended path during a session. - CLI fallback,
qmd --index <name> query|search|vsearch|get|multi-get. Use when the MCP server isn't registered (older vault clones, Windows install drift, disabled in.mcp.json), or for one-off shell checks outside a session. Always pass--index <name>. - Grep / Glob / Read, last resort, only when QMD is not installed at all. These burn context on full file reads and don't rank by relevance.
Never fall through surfaces without cause, if MCP is registered, calling the CLI in a Bash tool is just a slower path to the same result.
Named Index (This Vault)
This vault uses a named QMD index so queries, updates, and context strings stay scoped to this vault, not blended with any other vault that shares the machine. Every QMD command in this document passes --index <name>.
The name resolves the same way on all three surfaces (CLI, MCP, SessionStart hook), so they always point at the same SQLite store:
qmd_indexinvault-manifest.json, when set, an explicit pin.- Otherwise the vault folder name, slugified. The template ships
qmd_indexempty so every install gets its own store without being asked a question.

