
Qmd
- 9 installs
- 33 repo stars
- Updated April 26, 2026
- bighardperson/computer-science-skills-collection
Qmd is a skill that runs local hybrid search over Markdown notes and docs, indexing collections once for fast keyword, vector, and hybrid retrieval.
About
Qmd is a local search engine for Markdown notes, docs, and knowledge bases. It indexes collections once, then serves fast BM25 keyword search by default with optional slower vector and hybrid-reranked modes. A developer uses it to find and retrieve local Markdown documents from indexed collections.
- Local hybrid search for Markdown notes and docs
- BM25 keyword search by default, vector and hybrid modes optional
- Index once, search fast; retrieve by path or doc ID
Qmd by the numbers
- 9 all-time installs (skills.sh)
- Ranked #1,145 of 1,879 Documentation skills by installs in the Skillselion catalog
- Data as of Jul 30, 2026 (Skillselion catalog sync)
qmd capabilities & compatibility
- Capabilities
- web search · research
- Use cases
- research
- Platforms
- macOS
- Pricing
- Free
What qmd says it does
Local hybrid search for markdown notes and docs.
Prefer `qmd search` (BM25). It's typically instant and should be the default.
npx skills add https://github.com/bighardperson/computer-science-skills-collection --skill qmdAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 9 |
|---|---|
| repo stars | ★ 33 |
| Last updated | April 26, 2026 |
| Repository | bighardperson/computer-science-skills-collection ↗ |
What it does
Index and search local Markdown notes and docs with fast BM25 keyword search and optional vector modes.
Who is it for?
Fast local retrieval and search over indexed Markdown note and doc collections
Skip if: Code search over repositories or source trees
When should I use this skill?
Searching notes, finding related content, or retrieving Markdown from indexed collections
What you get
Fast keyword or semantic hits and full-document retrieval from indexed Markdown collections.
- indexed Markdown collections
- search hits and retrieved documents
By the numbers
- 3 search modes: search, vsearch, query
- vsearch about 1 minute on cold start
Files
qmd - Quick Markdown Search
Local search engine for Markdown notes, docs, and knowledge bases. Index once, search fast.
When to use (trigger phrases)
- "search my notes / docs / knowledge base"
- "find related notes"
- "retrieve a markdown document from my collection"
- "search local markdown files"
Default behavior (important)
- Prefer
qmd search(BM25). It's typically instant and should be the default. - Use
qmd vsearchonly when keyword search fails and you need semantic similarity (can be very slow on a cold start). - Avoid
qmd queryunless the user explicitly wants the highest quality hybrid results and can tolerate long runtimes/timeouts.
Prerequisites
- Bun >= 1.0.0
- macOS:
brew install sqlite(SQLite extensions) - Ensure PATH includes:
$HOME/.bun/bin
Install Bun (macOS): brew install oven-sh/bun/bun
Install
bun install -g https://github.com/tobi/qmd
Setup
qmd collection add /path/to/notes --name notes --mask "**/*.md"
qmd context add qmd://notes "Description of this collection" # optional
qmd embed # one-time to enable vector + hybrid searchWhat it indexes
- Intended for Markdown collections (commonly
**/*.md). - In our testing, "messy" Markdown is fine: chunking is content-based (roughly a few hundred tokens per chunk), not strict heading/structure based.
- Not a replacement for code search; use code search tools for repositories/source trees.
Search modes
qmd search(default): fast keyword match (BM25)qmd vsearch(last resort): semantic similarity (vector). Often slow due to local LLM work before the vector lookup.qmd query(generally skip): hybrid search + LLM reranking. Often slower thanvsearchand may timeout.
Performance notes
qmd searchis typically instant.qmd vsearchcan be ~1 minute on some machines because query expansion may load a local model (e.g., Qwen3-1.7B) into memory per run; the vector lookup itself is usually fast.qmd queryadds LLM reranking on top ofvsearch, so it can be even slower and less reliable for interactive use.- If you need repeated semantic searches, consider keeping the process/model warm (e.g., a long-lived qmd/MCP server mode if available in your setup) rather than invoking a cold-start LLM each time.
Common commands
qmd search "query" # default
qmd vsearch "query"
qmd query "query"
qmd search "query" -c notes # Search specific collection
qmd search "query" -n 10 # More results
qmd search "query" --json # JSON output
qmd search "query" --all --files --min-score 0.3Useful options
-n <num>: number of results-c, --collection <name>: restrict to a collection--all --min-score <num>: return all matches above a threshold--json/--files: agent-friendly output formats--full: return full document content
Retrieve
qmd get "path/to/file.md" # Full document
qmd get "#docid" # By ID from search results
qmd multi-get "journals/2025-05*.md"
qmd multi-get "doc1.md, doc2.md, #abc123" --jsonMaintenance
qmd status # Index health
qmd update # Re-index changed files
qmd embed # Update embeddingsKeeping the index fresh
Automate indexing so results stay current as you add/edit notes.
- For keyword search (
qmd search),qmd updateis usually enough (fast). - If you rely on semantic/hybrid search (
vsearch/query), you may also wantqmd embed, but it can be slow.
Example schedules (cron):
# Hourly incremental updates (keeps BM25 fresh):
0 * * * * export PATH="$HOME/.bun/bin:$PATH" && qmd update
# Optional: nightly embedding refresh (can be slow):
0 5 * * * export PATH="$HOME/.bun/bin:$PATH" && qmd embedIf your Clawdbot/agent environment supports a built-in scheduler, you can run the same commands there instead of system cron.
Models and cache
- Uses local GGUF models; first run auto-downloads them.
- Default cache:
~/.cache/qmd/models/(override withXDG_CACHE_HOME).
Relationship to Clawdbot memory search
qmdsearches your local files (notes/docs) that you explicitly index into collections.- Clawdbot's
memory_searchsearches agent memory (saved facts/context from prior interactions). - Use both:
memory_searchfor "what did we decide/learn before?",qmdfor "what's in my notes/docs on disk?".
Related skills
FAQ
Which search mode is the default in qmd?
qmd search using BM25 keyword matching, which is typically instant.
Can qmd search source code?
No. It is for Markdown collections and is not a replacement for code search tools.