Skills qmd
Search markdown knowledge bases efficiently using qmd. Use this when searching Obsidian vaults or markdown collections to find relevant content with minimal token usage.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/anshumanbh/anshumanbh-qmd" ~/.claude/skills/clawdbot-skills-qmd && rm -rf "$T"
manifest:
skills/anshumanbh/anshumanbh-qmd/SKILL.mdsource content
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 <name>
Fast, accurate keyword-based search. Best for specific terms or phrases.
Vector Search (semantic)
qmd vsearch "your query" --collection <name>
Semantic similarity search. Best for conceptual queries where exact words may vary.
Hybrid Search (both + reranking)
qmd hybrid "your query" --collection <name>
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 (
) for specific terms, names, or technical keywordsqmd search - Use vector search (
) when looking for concepts where wording may varyqmd vsearch - Avoid hybrid search unless you need maximum recall - it's slower
- Re-run
after adding significant new content to keep vectors currentqmd embed
Handling Arguments
contains the full search query$ARGUMENTS- If
flag is present, use--semantic
instead ofqmd vsearchqmd search - If
flag is present, guide user through installation and collection setup--setup - If
is specified, use that collection; otherwise default to checking available collections--collection <name>
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