qmd
Skill5 starsChanged 43 days agoMITView on GitHub
This is NOT the current upstream file. It is a trimmed, hand-edited fork: the installed copy this was vendored from is frontmatter-versioned 2.0.0, while upstream is at 2.2.0 as of this writing and has since added --full-path, :from:count line-slicing, qmd doctor, and an expanded MCP setup section. Ship this as a known-older excerpt, not as current upstream — check github.com/tobi/qmd for the latest if you need those features. --> --- name: qmd description: Search markdown knowledge bases, notes, and documentation…
- Installs packages
- Sends data out
23 other projects use a version of this, 4 of them edited.
Adopted by
Most recently taken up by
- tristanphvn/keeltheir own version, first seen Nov 8, 2026
- droxey/skillstheir own version, first seen Nov 8, 2026
- Liang-MH/skillstheir own version, first seen Nov 8, 2026
- compozy/compozyedited, first seen Nov 7, 2026
- pankaj-mahaur/Agent-Daemonedited, first seen Nov 6, 2026
- gabrielkoerich/skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use obsidian-bases, obsidian-cli and 4 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
wangzhuofengSkillobsidian-bases
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.
Also in 4 projects that use this
jykimSkillobsidian-cli
Interact with Obsidian using the official CLI to read, search, create, and manage notes, daily notes, tasks, properties, and more. Use when the user wants to query or manipulate vault content via the obsidian command.
Also in 4 projects that use this
wangzhuofengSkilljson-canvas
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.
Also in 3 projects that use this
VercelSkillagent-browser
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
Also in 4 projects that use this
VercelSkillvercel-react-best-practices
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Also in 3 projects that use this
- +1 more from wangzhuofeng
Other versions23 projects use a version of this.
Word for word · 0
None found.
Edited · 4
- compozy/compozy★ 2.9k100% same
- benoror/obsidianos_work★ 16693% same
- FelipeAngeli/skills★ 2100% same
- pankaj-mahaur/Agent-Daemon★ 084% same
Wrote their own version · 19
- tobi/qmd★ 30ksame name
- breferrari/obsidian-mind★ 5.4ksame name
- levineam/qmd-skill★ 703same name
- pedronauck/skills★ 649same name
- SAP/e-mobility-charging-stations-simulator★ 232same name
- ckorhonen/claude-skills★ 17same name
- iagocavalcante/claude-turbo-search★ 16same name
- superuser-pal/awesome-second-brain★ 14same name
- docxology/codomyrmex★ 10same name
- changeflowhq/skills★ 9same name
9 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- AGENTS.mdAGENTS.md
- councilSkill
- defuddleSkill
- doneSkill
- eli5Skill
- grill-meSkill
- learnSkill
- media-genSkill
- memory-consolidationSkill
- research-notebookSkill
- setup-for-meSkill
- wiki-articleSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 22 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 66
Write 50-100 words of what the *answer* looks like
- Distinctive: line 67
Use the vocabulary you expect in the result
- Very specific: line 70
Use a single-line query (implicit) or expand: question on its own line
- Very specific: line 72
Do not mix expand: with other typed lines — it's either a standalone expand query or a full query document
- Very specific: line 76
When a query term is ambiguous, add intent to steer results:
“Common” is measured: kept by at least 6 in 10 of the 22 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<!--
Vendored from tobi/qmd (github.com/tobi/qmd), npm package @tobilu/qmd, by
Tobi Lutke. MIT License.
This is NOT the current upstream file. It is a trimmed, hand-edited fork:
the installed copy this was vendored from is frontmatter-versioned 2.0.0,
while upstream is at 2.2.0 as of this writing and has since added
`--full-path`, `:from:count` line-slicing, `qmd doctor`, and an expanded MCP
setup section. Ship this as a known-older excerpt, not as current upstream —
check github.com/tobi/qmd for the latest if you need those features.
-->name: qmd
description: Search markdown knowledge bases, notes, and documentation using QMD. Use when users ask to search notes, find documents, or look up information.
license: MIT
compatibility: Requires qmd CLI or MCP server. Install via npm install -g @tobilu/qmd.
metadata:
author: tobi
version: "2.0.0"
allowed-tools: Bash(qmd:), mcp__qmd__
QMD - Quick Markdown Search
Local search engine for markdown content.
Status
!qmd status 2>/dev/null || echo "Not installed: npm install -g @tobilu/qmd"
MCP: query
{
"searches": [
{ "type": "lex", "query": "CAP theorem consistency" },
{ "type": "vec", "query": "tradeoff between consistency and availability" }
],
"collections": ["docs"],
"limit": 10
}Query Types
| Type | Method | Input |
lex | BM25 | Keywords — exact terms, names, code |
vec | Vector | Question — natural language |
hyde | Vector | Answer — hypothetical result (50-100 words) |
Writing Good Queries
lex (keyword)
- 2-5 terms, no filler words
- Exact phrase:
"connection pool"(quoted) - Exclude terms:
performance -sports(minus prefix) - Code identifiers work:
handleError async
vec (semantic)
- Full natural language question
- Be specific:
"how does the rate limiter handle burst traffic" - Include context:
"in the payment service, how are refunds processed"
hyde (hypothetical document)
- Write 50-100 words of what the answer looks like
- Use the vocabulary you expect in the result
expand (auto-expand)
- Use a single-line query (implicit) or
expand: questionon its own line - Lets the local LLM generate lex/vec/hyde variations
- Do not mix
expand:with other typed lines — it's either a standalone expand query or a full query document
Intent (Disambiguation)
When a query term is ambiguous, add intent to steer results:
{
"searches": [
{ "type": "lex", "query": "performance" }
],
"intent": "web page load times and Core Web Vitals"
}Intent affects expansion, reranking, chunk selection, and snippet extraction. It does not search on its own — it's a steering signal that disambiguates queries like "performance" (web-perf vs team health vs fitness).
Combining Types
| Goal | Approach |
| Know exact terms | lex only |
| Don't know vocabulary | Use a single-line query (implicit expand:) or vec |
| Best recall | lex + vec |
| Complex topic | lex + vec + hyde |
| Ambiguous query | Add intent to any combination above |
First query gets 2x weight in fusion — put your best guess first.
Lex Query Syntax
| Syntax | Meaning | Example |
term | Prefix match | perf matches "performance" |
"phrase" | Exact phrase | "rate limiter" |
-term | Exclude | performance -sports |
Note: -term only works in lex queries, not vec/hyde.
Collection Filtering
{ "collections": ["docs"] } // Single
{ "collections": ["docs", "notes"] } // Multiple (OR)Omit to search all collections.
Other MCP Tools
| Tool | Use |
get | Retrieve doc by path or #docid |
multi_get | Retrieve multiple by glob/list |
status | Collections and health |
CLI
qmd query "question" # Auto-expand + rerank
qmd query $'lex: X\nvec: Y' # Structured
qmd query $'expand: question' # Explicit expand
qmd query --json --explain "q" # Show score traces (RRF + rerank blend)
qmd search "keywords" # BM25 only (no LLM)
qmd get "#abc123" # By docid
qmd multi-get "journals/2026-*.md" -l 40 # Batch pull snippets by glob
qmd multi-get notes/foo.md,notes/bar.md # Comma-separated list, preserves orderHTTP API
curl -X POST http://localhost:8181/query \
-H "Content-Type: application/json" \
-d '{"searches": [{"type": "lex", "query": "test"}]}'Setup
npm install -g @tobilu/qmd
qmd collection add ~/notes --name notes
qmd embedDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

