QMD Search
/install anshumanbh-qmd
QMD Search Skill
Search markdown knowledge bases efficiently using qmd, a local indexing tool that uses BM25 + vector embeddings to return only relevant snippets instead of full files.
Why Use This
- 96% token reduction - Returns relevant snippets instead of reading entire files
- Instant results - Pre-indexed content means fast searches
- Local & private - All indexing and search happens locally
- Hybrid search - BM25 for keyword matching, vector search for semantic similarity
Commands
Search (BM25 keyword matching)
qmd search "your query" --collection \x3Cname>
Fast, accurate keyword-based search. Best for specific terms or phrases.
Vector Search (semantic)
qmd vsearch "your query" --collection \x3Cname>
Semantic similarity search. Best for conceptual queries where exact words may vary.
Hybrid Search (both + reranking)
qmd hybrid "your query" --collection \x3Cname>
Combines both approaches with LLM reranking. Most thorough but often overkill.
How to Use
-
Check if collection exists:
qmd collection list -
Search the collection:
# For specific terms qmd search "api authentication" --collection notes # For conceptual queries qmd vsearch "how to handle errors gracefully" --collection notes -
Read results: qmd returns relevant snippets with file paths and context
Setup (if qmd not installed)
# Install qmd
bun install -g https://github.com/tobi/qmd
# Add a collection (e.g., Obsidian vault)
qmd collection add ~/path/to/vault --name notes
# Generate embeddings for vector search
qmd embed --collection notes
Invocation Examples
/qmd api authentication # BM25 search for "api authentication"
/qmd how to handle errors --semantic # Vector search for conceptual query
/qmd --setup # Guide through initial setup
Best Practices
- Use BM25 search (
qmd search) for specific terms, names, or technical keywords - Use vector search (
qmd vsearch) when looking for concepts where wording may vary - Avoid hybrid search unless you need maximum recall - it's slower
- Re-run
qmd embedafter adding significant new content to keep vectors current
Handling Arguments
$ARGUMENTScontains the full search query- If
--semanticflag is present, useqmd vsearchinstead ofqmd search - If
--setupflag is present, guide user through installation and collection setup - If
--collection \x3Cname>is specified, use that collection; otherwise default to checking available collections
Workflow
- Parse arguments from
$ARGUMENTS - Check if qmd is installed (
which qmd) - If not installed, offer to guide setup
- If searching:
- List collections if none specified
- Run appropriate search command
- Present results to user with file paths
- If user wants to read a specific result, use the Read tool on the file path
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install anshumanbh-qmd - After installation, invoke the skill by name or use
/anshumanbh-qmd - Provide required inputs per the skill's parameter spec and get structured output
What is QMD Search?
Search markdown knowledge bases efficiently using qmd. Use this when searching Obsidian vaults or markdown collections to find relevant content with minimal token usage. It is an AI Agent Skill for Claude Code / OpenClaw, with 2227 downloads so far.
How do I install QMD Search?
Run "/install anshumanbh-qmd" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is QMD Search free?
Yes, QMD Search is completely free (open-source). You can download, install and use it at no cost.
Which platforms does QMD Search support?
QMD Search is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created QMD Search?
It is built and maintained by Anshuman Bhartiya (@anshumanbh); the current version is v1.0.0.