build-search-indexlisted
Install: claude install-skill tboome33/obsidian-mcp-router
# build-search-index
Call the obsidian-router `build_search_index` MCP tool with arguments parsed from $ARGUMENTS.
## Arguments
**Optional**:
- `vault` — vault name. Omit for the default vault.
- `check` — `true` to report whether the stored index is absent / stale / current **without writing**.
## Argument parsing from $ARGUMENTS
- bare vault name → `vault`
- `--check` / "juste vérifier" / "dry run" → `check: true`
- empty → default vault, real build
## What it does
Walks `wiki/` (user content only — `wiki-meta/` scaffolds and the generated OKF projections are excluded), splits every page into chunks, and prefixes each chunk with its **context header**: page title · frontmatter `description` · heading path. That header is indexed with the body, so a query matching a page's title or description still finds its chunks, and every hit can say where it came from.
Deterministic — no LLM, no network, no plugin. The same vault always produces the same index and the same ranking.
## Reporting the result
Relay these fields plainly:
- `indexState` — `absent` (first build) · `stale` (vault changed) · `current` (nothing to do) · `foreign-version`
- `written` — whether a file was actually written. `upToDate: true` + `written: false` is a **success**, not a no-op failure: the fingerprint matched, so nothing needed rewriting. Say "already up to date".
- `stats` — `{ pages, chunks, tokens }`.
- `warnings` — **always surface these verbatim.** In particular:
- an **EMPTY** index (0