retrieval-evallisted
Install: claude install-skill adnanmokhtar/refract
# Skill: retrieval-eval
## Premise
In a RAG system retrieval quality is the #1 failure mode, and an answer-only score cannot see it: a perfect prompt over the wrong chunks produces a confident wrong answer that scores badly for reasons nobody can attribute. This skill isolates the stage — it runs the project's **own** retriever over a labelled question→gold-chunk set and reports what came back, before any generation happens.
**Every number cites its `k`, its filter state, and its dataset version.** `recall@10 = 0.82 (tenant filter applied, set v3, 40 questions)` is a measurement; "recall is good" is a vibe, and `recall = 0.82` with no `k` is not emittable. **A `PASS` requires a declared target** — the recall/latency/scale target is a `vector-store-ops` §3 obligation the project owes, not a number this skill invents. Where no target was declared, the verdict for that metric is `UNSTATED`, and the finding is the absence.
This skill measures. It does not choose the chunker, the embedding model, or the index parameters — `@rag-architect` designs those, `vector-index-audit` audits them, and this skill is the loop they both tune against.
## Adapt to the codebase
Run the project's retriever exactly as production calls it — same embedding model, same query prefix, same filters, same top-k, same reranker. A measurement taken through a hand-rolled second retriever measures the second retriever.
| What to mirror | Where it lives | Why it must not be substituted |
|---|---|---|
|