From tooling
Provides qmd CLI syntax for keyword, semantic, and hybrid search across markdown knowledge bases, documentation, or notes. Use for conceptual matching when grep lacks precision.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tooling:howto-qmdThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
qmd is a local search engine for markdown documents. It combines BM25 keyword search, vector semantic search, and LLM-powered hybrid re-ranking. Use it to find relevant context in documentation, notes, and knowledge bases when grep is too literal and you need conceptual matching.
qmd is a local search engine for markdown documents. It combines BM25 keyword search, vector semantic search, and LLM-powered hybrid re-ranking. Use it to find relevant context in documentation, notes, and knowledge bases when grep is too literal and you need conceptual matching.
Prefer qmd over grep when:
Use grep instead when:
| Mode | Command | Speed | Best For |
|---|---|---|---|
| Keyword (BM25) | qmd search | Fast | Known terms, exact phrases |
| Semantic (vector) | qmd vsearch | Slow | Conceptual queries, fuzzy recall |
| Hybrid (re-ranked) | qmd query | Slowest | Highest quality, broad exploration |
Default to qmd search unless keyword results are insufficient. Escalate to vsearch or query only when needed.
# Keyword search (fast, use first)
qmd search "authentication flow"
# Semantic search (finds conceptually related content)
qmd vsearch "how users log in"
# Hybrid with LLM re-ranking (most thorough)
qmd query "best practices for session management"
# Restrict to a collection
qmd search "rate limiting" -c api-docs
# More results
qmd search "error handling" -n 20
# Full document content in results
qmd search "deployment" --full
# With line numbers
qmd search "config" --full --line-numbers
# JSON output for structured processing
qmd search "auth" --json --full
# Retrieve a specific document
qmd get "docs/auth.md" --full
# Retrieve from a specific line
qmd get "docs/auth.md:45" -l 100
# Batch retrieve by glob
qmd multi-get "docs/**/*.md" --json
# Add a collection
qmd collection add ~/projects/docs --name project-docs --mask "**/*.md"
# List collections
qmd collection list
# Remove a collection
qmd collection remove old-notes
# Rebuild keyword index
qmd update
# Generate/update vector embeddings (required for vsearch/query)
qmd embed
# Check index health
qmd status
| Flag | Format | Use Case |
|---|---|---|
| (default) | Human-readable | Interactive use |
--json | JSON | Programmatic processing |
--files | CSV: docid,score,filepath,context | File-oriented workflows |
--xml | XML | Structured integration |
--md | Markdown | Documentation pipelines |
# Minimum relevance threshold
qmd search "deployment" --min-score 0.5
# All results above threshold
qmd search "config" --all --min-score 0.3
# Skip large files
qmd search "setup" --max-bytes 50000
Gather context before starting a task:
# Find all relevant docs for a feature area
qmd search "authentication" -c project-docs -n 10 --files
# Then retrieve the most relevant ones
qmd get "docs/auth-design.md" --full --line-numbers
Escalation pattern when keywords miss:
# 1. Try keyword first (fast)
qmd search "retry logic"
# 2. If too few results, try semantic
qmd vsearch "how failures are retried"
# 3. If still unclear, use hybrid
qmd query "error recovery and retry mechanisms"
Bulk context loading:
qmd multi-get "design-docs/*.md" --json
| Mistake | Fix |
|---|---|
Using qmd query for every search | Start with qmd search, escalate only if needed |
Forgetting to run qmd embed | Required once before vsearch/query work |
| Searching code files with qmd | qmd indexes markdown only; use grep or ast-grep for code |
Not specifying -c with many collections | Restrict to relevant collection for better signal |
Ignoring --min-score with --all | Unfiltered results include low-relevance noise |
qmd query repeatedly in a loop (expensive; cache or batch instead)qmd update after documents changeqmd embed after adding new collectionsnpx claudepluginhub pbdeuchler/llm-plugins --plugin toolingPerforms local keyword, semantic, or hybrid search on markdown notes and docs to find relevant files before reading them, saving 90% tokens during codebase exploration.
Searches indexed markdown docs and plans in qmd-configured projects using semantic queries. Invoke via /avinyc:qmd-search <query> for relevant results from collections.
Retrieves small relevant snippets from Markdown docs via local BM25/grep search. Use for answering questions from project docs or finding headings across files when paths are unknown. Prefer over reading whole files or raw grep.