← ClaudeAtlas

vector-index-auditlisted

Audits the ANN index behind retrieval against a STATED recall/latency/scale target — flags a brute-force/sequential scan at scale, HNSW/IVF built with library-default parameters and no recall number, a distance metric or normalisation mismatched to the embedding model (and a dimension mismatch), a heavy metadata/tenant pre-filter combined with a tight ef/nprobe (silent filtered-recall collapse), and a write path with no vector upsert/delete or rebuild/compaction so the index serves stale or deleted content. Emits the index inventory (store, family, params, dim, metric, corpus size, filter mode, refresh path) plus findings with closure verbs. TRIGGER — any diff touching index creation/config/migration, a re-embed or embedding-model upgrade, retrieval latency or recall in question, and dispatched by /ai-audit and @ai-feature-reviewer dimension 3. ANTI-TRIGGERS (do NOT fire) — chunking, top-k, reranking, or context-assembly decisions (that is rag-pipeline, owned by @rag-architect); MEASURING recall (that is retr
adnanmokhtar/refract · ★ 1 · AI & Automation · score 80
Install: claude install-skill adnanmokhtar/refract
# Skill: vector-index-audit ## Premise Every ANN index trades recall for latency and memory. Shipping one whose tradeoff nobody named means nobody knows what retrieval misses — and the miss is silent, because an ANN index never errors when it returns the wrong neighbours. This skill reads the index as configured and reports the gap between what was declared and what was built. **Every finding cites `<path:line>` (or the migration / index-definition / provisioning site) + a real excerpt + the closure verb.** For an absence — no stated target, no refresh path — the citation is the site that should carry it: the index creation statement, the write path, the config module. **"Tuned to a recall target" is a claim with two halves: the target is written down, and a measurement exists.** Where either is missing this skill reports `UNSTATED` or `UNMEASURED` and names what would settle it. It never guesses a recall figure, never converts a parameter value into an implied recall, and never writes "looks fine". Producing the number is `retrieval-eval`'s job, not this skill's. ## Adapt to your stack Find the index definition, then read its knobs in the store's own vocabulary. Detect from `_extracted-codebase.md § AI/LLM integration` and confirm at the definition site: | Store | Where the index is defined | Recall ⇄ latency dial | Filter mode | Refresh surface | |---|---|---|---|---| | **pgvector (Postgres)** | a migration: `CREATE INDEX … USING hnsw/ivfflat (… vector_<metric>_ops)`