
Qmd
- 941 installs
- 695 repo stars
- Updated February 25, 2026
- levineam/qmd-skill
qmd is a Claude Code skill that wraps the qmd CLI to index and hybrid-search local Markdown notes, project docs, and knowledge bases from the terminal or an agent session.
About
qmd is a local Markdown search skill for developers who keep notes, specs, and docs in indexed collections. It installs the qmd binary via Bun (`bun install -g https://github.com/tobi/qmd`) and triggers on phrases like "search my notes" or "find related docs." After indexing once, qmd runs fast hybrid retrieval across knowledge-base folders without cloud APIs or leaving the agent workflow. Developers reach for qmd when they need grounded answers from their own Markdown corpus instead of guessing from chat context alone.
- Local hybrid search over indexed Markdown collections using BM25 as the fast default
- Semantic vector search (vsearch) and high-quality hybrid query mode available when needed
- One-time indexing of any folder of .md files with glob masks for fast subsequent retrieval
- Designed specifically for agentic workflows that need to pull context from personal notes and documentation
- Runs entirely locally with no cloud dependency or data leaving your machine
Qmd by the numbers
- 941 all-time installs (skills.sh)
- Ranked #275 of 1,879 Documentation skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/levineam/qmd-skill --skill qmdAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 941 |
|---|---|
| repo stars | ★ 695 |
| Security audit | 1 / 3 scanners passed |
| Last updated | February 25, 2026 |
| Repository | levineam/qmd-skill ↗ |
How do you search local Markdown notes from the terminal?
Instantly search and retrieve relevant content from local Markdown notes, project docs, and knowledge bases without leaving the terminal or agent workflow.
Who is it for?
Developers who maintain local Markdown notes, ADRs, or project docs and want fast hybrid search inside Claude Code or terminal workflows.
Skip if: Teams that store knowledge only in wikis, Notion, or cloud SaaS without local Markdown files to index.
When should I use this skill?
The user asks to search notes, find related docs, or retrieve content from a local Markdown knowledge base.
What you get
Indexed Markdown collections, ranked search hits, and retrieved document excerpts inside the agent or shell session.
- Indexed note collections
- Ranked search results
- Retrieved Markdown excerpts
By the numbers
- Requires 2 binaries: bun and qmd
- Installs qmd from github.com/tobi/qmd via Bun
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?".
QMD Skill
This repository contains a Codex/Clawd skill definition for qmd (Quick Markdown Search).
- Skill file:
SKILL.md - Homepage: https://github.com/tobi/qmd
Usage
Import or install this skill in your Codex/Clawd environment by pointing to this repo and reading SKILL.md.
Related skills
How it compares
Choose qmd when local Markdown collections need indexed hybrid search; use ripgrep for one-off exact-string scans inside a repo.
FAQ
What does the qmd skill require to run?
The qmd skill requires Bun and the qmd binary on PATH. Its install step runs `bun install -g https://github.com/tobi/qmd`, then indexes Markdown collections for hybrid local search.
When should a developer use qmd instead of grep?
qmd suits developers with indexed Markdown knowledge bases who need semantic-style hybrid retrieval across many notes. grep works for single-repo text matches but lacks qmd's indexed collection search workflow.
Is Qmd safe to install?
skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.