Install any skill in seconds. Free to start, no credit card required.
Get Started Free →agricidaniel/wiki-retrieve
Build and query a vault-local contextual BM25 retrieval index with optional multilingual Nomic cosine reranking; use for retrieve, hybrid retrieval, BM25, rerank, contextual retrieval, chunk search, vault search, semantic search, find relevant passages, or retrieval diagnostics. Derived caches stay under .vault-meta, remote egress requires explicit consent, and unavailable reranking falls back deterministically.
Passed 17 of 20 test cases with the skill, and 3 of 20 without it.
and 28 more in the full report
17 fixed3 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 17 test cases the skill fixed. Same model, same prompt, with and without the skill.
I want to inspect the current state and statistics of my vault's BM25 search index without running a full retrieval. Which script and command subcommand should I run?
| Checked | Without skill | With skill |
|---|---|---|
| Executes bm25-index.py using the stats subcommand | Missed | Passed |
The instructions your model reads when the skill loads.
This extension derives search data from wiki/ into .vault-meta/. It never
changes canonical notes. Always pass the selected vault explicitly.
Resolve the installed product root from this skill's own location, not from the vault or current working directory:
PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
PREFIX="$PRODUCT_ROOT/scripts/contextual-prefix.py"
BM25="$PRODUCT_ROOT/scripts/bm25-index.py"
RETRIEVE="$PRODUCT_ROOT/scripts/retrieve.py"
RERANK="$PRODUCT_ROOT/scripts/rerank.py"
test -f "$PREFIX" && test -f "$BM25" && test -f "$RETRIEVE" && test -f "$RERANK"
contextual-prefix.py splits pages on paragraph boundaries and stores the
raw chunk plus a short page-level prefix.bm25-index.py builds a local, standard-library BM25 index over the
contextualized text.retrieve.py selects BM25 candidates, optionally reranks them, rejects
invalid records, deduplicates by page, and returns paths and snippets.Preview first, then build synthetic prefixes without network egress:
python3 "$PREFIX" --vault "$VAULT" --all --no-llm --peek
python3 "$PREFIX" --vault "$VAULT" --all --no-llm
python3 "$BM25" --vault "$VAULT" build
python3 "$RETRIEVE" --vault "$VAULT" "wiki" --top 1 --no-rerank --explain
Chunk and index files are disposable runtime state. Incremental prefixing skips
test cases passed, vs 3 / 20 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.