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.
npx agentmods add commands/geckse/markdown-vdb/searchgit clone --depth 1 https://github.com/geckse/markdown-vdbWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00013 | $0.04862 |
| Opus 5 | $0.00006 | $0.02431 |
| Sonnet 5 | $0.00003 | $0.00972 |
| Haiku 4.5 | $0.00001 | $0.00486 |
Grade A, and why
search scanned grade A with 0 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 2d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 455 lines — stays where its author put it; the contents beside it link to each section on GitHub.
mdvdb search
Search across indexed markdown files using semantic (vector), lexical (BM25), hybrid (RRF fusion), or edge-based search. Returns ranked results with chunk content, file metadata, and optional graph context.
Usage
mdvdb search [OPTIONS] <QUERY>
Arguments
| Argument | Required | Description |
|---|---|---|
<QUERY> |
Yes | Natural-language search query string |
Options
| Flag | Short | Value | Default | Description |
|---|---|---|---|---|
--limit |
-l |
<N> |
10 |
Maximum number of results to return |
--min-score |
<F> |
0.0 |
Minimum similarity score threshold (0.0 to 1.0) | |
--filter |
-f |
<KEY=VALUE> |
Metadata filter expression (repeatable) | |
--boost-links |
false |
Enable link boosting (favor results linked to/from top matches) | ||
--no-boost-links |
Disable link boosting (even if enabled in config) | |||
--mode |
<MODE> |
hybrid |
Search mode: hybrid, semantic, lexical, or edge |
|
--semantic |
Shorthand for --mode=semantic |
|||
--lexical |
Shorthand for --mode=lexical |
|||
--edge-search |
Shorthand for --mode=edge (search edge embeddings) |
|||
--path |
<PREFIX> |
Restrict search to files under this path prefix | ||
--shard |
<ID> |
Restrict search to a configured named Shard (conflicts with --path) |
||
--decay |
false |
Enable time decay (favor recently modified files) | ||
--no-decay |
Disable time decay (even if enabled in config) | |||
--decay-half-life |
<DAYS> |
90.0 |
Half-life in days for time decay (how many days until score is halved) | |
--decay-exclude |
<PATTERNS> |
Comma-separated path prefixes excluded from time decay | ||
--decay-include |
<PATTERNS> |
Comma-separated path prefixes where time decay applies (whitelist) | ||
--hops |
<N> |
1 |
Number of link hops for graph-aware boosting (1-3) | |
--expand |
<N> |
0 |
Graph expansion depth for context (0-3, 0 disables) | |
--populate |
false |
Resolve result-file frontmatter relations one level deep |
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.
- 2d ago First seen · 455 lines · 13 tokens per session scan A ee35ea7686d2
search is a command published in the GitHub repository geckse/markdown-vdb (23 stars, last pushed 18d ago), licensed MIT. It adds 13 tokens to every session and 4,862 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
wiki-init
Initialize a new LLM Wiki in the current directory. Creates the full directory structure, config, and template files.
check-invariants
Runs only the tree CRDT invariant test battery in outl-core. Faster than /check, focused on what can break sync.
claude-cmd-status
A Claude Code slash command. OpenCode does not read Claude commands.
docs-refresh
Re-fetch a cached source, ignoring the 7-day cache. Use when upstream content has changed.
cheatsheet
Generate a one-page exam cheatsheet from course-index and errors/log.md. Outputs to cheatsheet/final.md. Optionally convert to PDF.
voice-setup
Interactive setup for human voice configuration.