Agent skill · data analytics · nousresearch
qmd
Hybrid local search over notes, docs, and transcripts.
Why this skill is useful
Adds specific commands and workflows for local hybrid search over personal knowledge bases that the AI wouldn't reliably generate on its own.
What it needs
Requires node, sqlite installed locally. About 7k tokens when loaded. Last updated 2026-08-07. 226,679 stars on the source repository.
What this skill does
QMD — Query Markup Documents Local, on-device search engine for personal knowledge bases. Indexes markdown notes, meeting transcripts, documentation, and any text-based files, then provides hybrid search combining keyword matching, semantic understanding, and LLM-powered reranking — all running locally with no cloud dependencies. Created by Tobi Lütke. MIT licensed. When to Use User asks to search their notes, docs, knowledge base, or meeting transcripts User wants to find something across a large collection of markdown/text files User wants semantic search ("find notes about X concept") not just keyword grep User has already set up qmd collections and wants to query them User asks to set up a local knowledge base or document search system Keywords: "search my notes", "find in my docs", "knowledge base", "qmd" Prerequisites Node.js >= 22 (required) SQLite with Extension Support (macOS only) macOS system SQLite lacks extension loading. Install via Homebrew: Install qmd First run auto-downloads 3 local GGUF models (~2GB total): Model Purpose Size ------- --------- ------ embeddinggemma-300M-Q80 Vector embeddings ~300MB qwen3-reranker-0.6b-q80 Result reranking ~640MB qmd-query-expansion-1.7B Query expansion ~1.1GB Verify Installation Quick Reference Command What It Does Speed --------- ------------- ------- qmd search "query" BM25 keyword search (no models) ~0.2s qmd vsearch "query" Semantic vector search (1 model) ~3s qmd query "query" Hybrid + reranking (all 3 models) ~2-3s warm, ~19s cold qmd get <docid> Retrieve full document content instant qmd multi-get "glob" Retrieve multiple files instant qmd collection add <path> --name <n> Add a directory as a collection instant qmd context add <path> "description" Add context metadata to improve retrieval instant qmd embed Generate/update vector embeddings varies qmd status Show index health and collection info instant qmd mcp Start MCP server (stdio) persistent qmd mcp --http --daemon Start MCP server (HTTP, warm models) p …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills nousresearch/qmd