qmd

qmd is a skill for Claude Code, Codex from MilkyWay008/Hermes-OTG. It costs 14 tokens per session (3,420 once invoked), scanned B, a copy of qmd, MIT.

A local search engine for notes, documents, meeting transcripts, and other text files. It combines exact words with searches based on meaning, then ranks the results.

In plain words
What is it for?
Use it to search Markdown notes, documentation, transcripts, and other text-based collections, including searches for ideas expressed in different words.
Why use it?
It helps you find information across a large personal knowledge base without sending your files to a cloud service.

Skill for Claude CodeCodex

Which agent this was written for is unclear — built for hermes-agent. Also seen: built for hermes-agent.

Good fit Use it to search Markdown notes, documentation, transcripts, and other text-based collections, including searches for ideas expressed in different words.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/milkyway008/hermes-otg/qmd
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add MilkyWay008/Hermes-OTG --skill qmd
Clone the repo
git clone --depth 1 https://github.com/MilkyWay008/Hermes-OTG

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for qmd

README.md
[![agentmods](https://agentmods.dev/badge/skills/milkyway008/hermes-otg/qmd/github.svg)](https://agentmods.dev/skills/milkyway008/hermes-otg/qmd)
Your own site
<a href="https://agentmods.dev/skills/milkyway008/hermes-otg/qmd"><img src="https://agentmods.dev/badge/skills/milkyway008/hermes-otg/qmd/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for qmd

Your own site · 80×15
<a href="https://agentmods.dev/skills/milkyway008/hermes-otg/qmd"><img src="https://agentmods.dev/badge/skills/milkyway008/hermes-otg/qmd.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 14 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,420 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00014 $0.03420
Opus 5 $0.00007 $0.01710
Sonnet 5 $0.00003 $0.00684
Haiku 4.5 $0.00001 $0.00342

Measured 8d ago against content hash 3c53e604f099, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade B, and why

qmd scanned grade B with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
Origin

This is a copy

100% identical to qmd — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

data/skills/research/qmd/SKILL.md · 442 lines

How it starts

The opening of the file, as written. The whole thing — 442 lines — stays where its author put it; the contents beside it link to each section on GitHub.

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)

# Check version
node --version  # must be >= 22

# macOS — install or upgrade via Homebrew
brew install node@22

# Linux — use NodeSource or nvm
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
# or with nvm:
nvm install 22 && nvm use 22

SQLite with Extension Support (macOS only)

macOS system SQLite lacks extension loading. Install via Homebrew:

brew install sqlite

Install qmd

npm install -g @tobilu/qmd
# or with Bun:
bun install -g @tobilu/qmd

First run auto-downloads 3 local GGUF models (~2GB total):

Model Purpose Size
embeddinggemma-300M-Q8_0 Vector embeddings ~300MB
qwen3-reranker-0.6b-q8_0 Result reranking ~640MB
qmd-query-expansion-1.7B Query expansion ~1.1GB

Verify Installation

qmd --version
qmd status

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) persistent

Read the full file on GitHub · 442 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 442 lines · 14 tokens per session scan B 3c53e604f099

Subscribe to this mod's changes

qmd is a skill published in the GitHub repository MilkyWay008/Hermes-OTG (15 stars, last pushed 27d ago), licensed MIT. It adds 14 tokens to every session and 3,420 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 2 findings (asks for root, makes network calls). It is 100% identical to qmd, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

distilly

Build and use evidence-grounded local person profiles with Distilly's exact five-tool workflow. Use when a user asks to research, ingest, distill, update, correct, retrieve, or recall a real or fictional person's profile, voice, boundaries, or evidence.

titanwings/distilly · 56 tokens

hermes-memory-providers

Install and configure Mnemosyne as a Hermes Agent memory provider — local SQLite with vector search, episodic consolidation, and temporal knowledge graphs.

mnemosyne-oss/mnemosyne · 34 tokens

mnemosyne

Persistent cross-session memory via Mnemosyne — store, recall, and consolidate facts, preferences, and context.

mnemosyne-oss/mnemosyne · 22 tokens

mnemosyne-memory-override

Hard rule override that forces Mnemosyne for all durable memory storage. The legacy memory tool is DEPRECATED for user preferences, credentials, and project conventions. Use memory ONLY for ephemeral session state.

mnemosyne-oss/mnemosyne · 46 tokens

hermes-context-optimization

Use this when the user asks about Hermes prompt/context size, “hello” startup cost, compression behavior, memory/profile bloat, tool-schema overhead, skill loading, session-store/search-index storage, or multimodal/visual-context approaches such as Snapcompact.

AtlasOmnia/donna-starter · 35 tokens

hermes-mnemosyne

Mnemosyne is Hermes' primary local-first memory engine — SQLite with vector + FTS5 hybrid search, 19+ tools, auto-consolidation, and a standalone CLI. It's a pip-installed plugin (not a built-in toolset) discovered via $HERMESHOME/plugins/mnemosyne/.

AtlasOmnia/donna-starter · 30 tokens