Skip to main content
skill CX Codex

qmd · levineam — Claude Code skill: search your markdown notes locally

This skill wires an agent to qmd, a local search engine for markdown notes and docs. Index a folder once, then pull up matching files by keyword or meaning.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add levineam/qmd-skill --skill qmd -a claude-code
npx skills add levineam/qmd-skill --skill levineam-qmd -a claude-code
Open on GitHub

What qmd does

qmd is a local search tool for markdown notes, docs and knowledge bases, and this skill teaches an agent how to drive it. You register a folder as a collection, run the indexer, and searches stay on your machine.

Keyword lookups go through qmd search, which is built on BM25 and usually returns right away. When keywords miss, qmd vsearch falls back to vector similarity — expect roughly a minute on a cold start, since a local model such as Qwen3-1.7B has to load first. The hybrid qmd query mode adds LLM reranking on top and the skill advises skipping it for interactive work: it runs longer and can time out. Agents get machine-readable output from --json and --files, and qmd get or qmd multi-get return whole documents.

Bun 1.0.0 or newer and the qmd binary are required, and $HOME/.bun/bin has to sit in PATH or the commands simply won't resolve. On macOS you also need brew install sqlite for the SQLite extensions. Vector and hybrid search stay off until you run qmd embed once, and you repeat it after edits. Models land in ~/.cache/qmd/models/, which XDG_CACHE_HOME can move. Note the scope: this covers notes, not source trees — for code you want a code search tool.

What it helps with

  • locate a note from a half-remembered phrase
  • surface related documents while working on something else
  • pull the full text of a file straight from search results
  • keep the markdown index current as notes change
  • search local files without uploading them anywhere

Example prompts for the agent

  • Search my notes for anything about markdown indexing with qmd search
  • Fetch the full document from those results using qmd get
  • Refresh the notes index with qmd update

How to install qmd

1Skills CLI (Vercel)

npx skills add levineam/qmd-skill --skill qmd -a claude-code
npx skills add levineam/qmd-skill --skill levineam-qmd -a claude-code

2Manually: put the files in place

~/.claude/skills/levineam-qmd/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/levineam-qmd/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about qmd

How do I install qmd in Claude Code?

Run npx skills add levineam/qmd-skill --skill qmd -a claude-code, then npx skills add levineam/qmd-skill --skill levineam-qmd -a claude-code. The skill file ends up at ~/.claude/skills/levineam-qmd/SKILL.md.

What does qmd do?

It gives an agent access to a local search engine over markdown notes and docs. You add a folder as a collection, index it, and then query it by keyword or by semantic similarity.

How is qmd different from the agent's memory search?

qmd looks at files on disk that you chose to index. Agent memory holds facts and context from earlier sessions. They answer different questions, so keeping both is reasonable.

Similar skills

All skills for Agent setup: memory, context, orchestration →

qmd by other authors comes first.

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor