Search, retrieve, and index local markdown knowledgebase files using the QMD CLI. Use this skill whenever the user wants to: search a local knowledgebase of markdown files, retrieve specific documents or passages from indexed collections, index or re-index a directory of .md files, check the status of the knowledge index, or perform any knowledge retrieval task against local documentation. Triggers: "search the knowledgebase", "find in docs", "index my files", "look up", "search notes", "retrieve document", "knowledge search", "what does the docs say about", "find information about", "re-index", "update the index".
Search, retrieve, and index local markdown knowledgebase files via the QMD CLI. QMD is assumed to be installed and available on PATH.
When a user points to a new directory of markdown files, register it as a QMD collection and generate embeddings:
qmd collection add /path/to/docs --name <collection-name>
qmd embed
**/*.md — override with --mask if needed.qmd embed -f to force a full re-embed after significant content changes.qmd status to verify index health.Choose the right search mode based on the query:
| Mode | Command | When to use |
|---|---|---|
| Keyword | qmd search "term" | Fast exact-match, known terminology |
| Semantic | qmd vsearch "concept" | Conceptual/fuzzy queries |
| Hybrid | qmd query "question" | Best overall quality (default choice) |
Always prefer qmd query unless the user needs speed or has a specific keyword.
Key flags:
-n <num> — number of results (default 5)-c <collection> — restrict to a specific collection--min-score <float> — filter low-relevance results (0.0–1.0)--json — structured output, ideal for programmatic use--full — show complete document content in results--md — markdown-formatted outputExample — high-quality search with relevance filtering:
qmd query -n 10 --min-score 0.3 --json "user authentication"
Fetch specific files or passages after identifying them via search:
qmd get <path-or-docid> # Full document
qmd get <path>:<line> -l <count> # Specific line range
qmd multi-get "<glob-or-csv>" # Multiple documents
#docid syntax from search results for precise retrieval.--max-bytes with multi-get to skip oversized files.qmd update # Re-index all collections after file changes
qmd status # Check index health and stats
qmd cleanup # Remove orphaned cache data
Run qmd update after any batch of file additions/removals. Follow with qmd embed if new files were added.
Use named indexes to keep separate domains isolated:
qmd --index <name> collection add /path --name <coll>
qmd --index <name> query "search term"
--md for readable output.--json for structured data with snippets and scores.--files for docid,score,filepath,context format.| Range | Meaning |
|---|---|
| 0.8–1.0 | Highly relevant |
| 0.5–0.8 | Moderately relevant |
| 0.2–0.5 | Somewhat relevant |
| < 0.2 | Low relevance — consider filtering |
qmd is not found: prompt user to install via bun install -g github:tobi/qmd.--min-score, or using qmd vsearch for semantic matching.qmd embed -f to force refresh.See references/qmd-cli.md for the complete command reference including all flags and options.