Skip to content
Back to skills

Rag Auditor

ASecurity

Evaluates RAG pipeline quality across retrieval (precision, recall, MRR) and generation (groundedness, hallucination rate). Triggers on: "audit RAG pipeline", "RAG quality", "hallucination detection", "why is RAG failing", "grounding check". NOT for general architecture audits, use architecture-reviewer.

  • 318 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
data-aigo

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add Mathews-Tom/armory --skill rag-auditor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rag Auditor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rag Auditor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mathews-tom-rag-auditor/badge)](https://www.skillsdirectory.com/skills/mathews-tom-rag-auditor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: rag-auditor
description: 'Evaluates RAG pipeline quality across retrieval (precision, recall, MRR) and generation (groundedness, hallucination rate). Triggers on: "audit RAG pipeline", "RAG quality", "hallucination detection", "why is RAG failing", "grounding check". NOT for general architecture audits, use architecture-reviewer.'
metadata:
  version: 1.1.1
  category: review
  tags: [rag, retrieval, hallucination, grounding]
  difficulty: advanced
  phase: build
---

# RAG Auditor

Systematic RAG pipeline evaluation across the full retrieval-generation chain: designs
evaluation query sets, measures retrieval metrics (Precision@K, Recall@K, MRR), evaluates
generation quality (groundedness, completeness, hallucination rate), diagnoses component-level
failures, and recommends targeted improvements.

## Reference Files

| File                               | Contents                                                                   | Load When                    |
| ---------------------------------- | -------------------------------------------------------------------------- | ---------------------------- |
| `references/retrieval-metrics.md`  | Precision@K, Recall@K, MRR, NDCG definitions and calculation               | Always                       |
| `references/generation-metrics.md` | Groundedness, completeness, hallucination detection methods                | Generation evaluation needed |
| `references/failure-taxonomy.md`   | RAG failure categories: retrieval, generation, chunking, embedding         | Failure diagnosis needed     |
| `references/diagnostic-queries.md` | Designing evaluation query sets, known-answer questions, difficulty levels | Evaluation setup             |

## Prerequisites

- Access to the RAG pipeline (or its outputs for post-hoc evaluation)
- A set of test queries with known-correct answers
- Understanding of the pipeline components (embedding model, retriever, generator)

## Workflow

### Phase 1: Pipeline Inventory

Document the RAG pipeline configuration:

1. **Document source** — What documents are indexed? Format, count, size.
2. **Chunking** — Strategy (fixed-size, semantic, paragraph), chunk size, overlap.
3. **Embedding** — Model name and version, dimensionality.
4. **Vector store** — Type (FAISS, Pinecone, Chroma, pgvector), index type.
5. **Retrieval** — Method (similarity, hybrid, reranking), top-K parameter.
6. **Generation** — Model, prompt template, context window usage.

### Phase 2: Design Evaluation Queries

Create a diverse set of test queries:

| Query Type             | Purpose                                     | Count |
| ---------------------- | ------------------------------------------- | ----- |
| Known-answer (factoid) | Measure retrieval + generation accuracy     | 10+   |
| Multi-hop              | Require combining info from multiple chunks | 5+    |
| Unanswerable           | Not in the corpus — should abstain          | 3+    |
| Ambiguous              | Multiple valid interpretations              | 3+    |
| Recent/updated         | Test freshness                              | 2+    |

For each query, document the expected answer and the source chunk(s).

### Phase 3: Evaluate Retrieval

For each test query, measure:

1. **Precision@K** — Of the K retrieved chunks, how many are relevant?
2. **Recall@K** — Of all relevant chunks in the corpus, how many were retrieved?
3. **MRR (Mean Reciprocal Rank)** — How high is the first relevant chunk ranked?
4. **Chunk relevance** — Score each retrieved chunk: Relevant, Partially Relevant, Irrelevant.

### Phase 4: Evaluate Generation

For each test query with retrieved context:

1. **Groundedness** — Is every claim in the response supported by the retrieved context?
   Score: 0 (hallucinated) to 1 (fully grounded).
2. **Completeness** — Does the response use all relevant information from the context?
   Score: 0 (ignored context) to 1 (complete).
3. **Hallucination detection** — Identify specific claims not supported by context.
4. **Abstention** — For unanswerable queries, does the model correctly say "I don't know"?

### Phase 5: Diagnose Failures

For every incorrect or low-quality response, classify the root cause:

| Failure Type         | Diagnosis                                          | Indicator                                |
| -------------------- | -------------------------------------------------- | ---------------------------------------- |
| Retrieval failure    | Relevant chunks not retrieved                      | Low Recall@K                             |
| Ranking failure      | Relevant chunk retrieved but ranked low            | Low MRR, high Recall                     |
| Chunk boundary issue | Answer split across chunk boundaries               | Partial matches in multiple chunks       |
| Embedding mismatch   | Query semantics don't match chunk embeddings       | Relevant chunk has low similarity score  |
| Generation failure   | Correct context but wrong answer                   | High retrieval scores, low groundedness  |
| Hallucination        | Model invents facts not in context                 | Claims not traceable to any chunk        |
| Over-abstention      | Model refuses to answer when context is sufficient | Unanswered with relevant context present |

### Phase 6: Recommendations

Based on failure analysis, recommend specific improvements:

| Failure Pattern       | Recommendation                                                 |
| --------------------- | -------------------------------------------------------------- |
| Chunk boundary issues | Increase overlap, try semantic chunking                        |
| Low Precision@K       | Reduce K, add reranking stage                                  |
| Low Recall@K          | Increase K, try hybrid search                                  |
| Embedding mismatch    | Try different embedding model, add query expansion             |
| Hallucination         | Strengthen grounding instruction in prompt, reduce temperature |
| Over-abstention       | Soften abstention criteria in prompt                           |

## Output Format

```text
## RAG Audit Report

### Pipeline Configuration
| Component | Value |
|-----------|-------|
| Documents | {N} ({format}) |
| Chunking | {strategy}, {size} tokens, {overlap}% overlap |
| Embedding | {model} ({dimensions}d) |
| Retrieval | {method}, K={N} |
| Generation | {model}, temperature={T} |

### Evaluation Dataset
- **Total queries:** {N}
- **Known-answer:** {N}
- **Multi-hop:** {N}
- **Unanswerable:** {N}

### Retrieval Quality

| Metric | Score | Target | Status |
|--------|-------|--------|--------|
| Precision@{K} | {score} | {target} | {Pass/Fail} |
| Recall@{K} | {score} | {target} | {Pass/Fail} |
| MRR | {score} | {target} | {Pass/Fail} |

### Generation Quality

| Metric | Score | Target | Status |
|--------|-------|--------|--------|
| Groundedness | {score} | {target} | {Pass/Fail} |
| Completeness | {score} | {target} | {Pass/Fail} |
| Hallucination rate | {score} | {target} | {Pass/Fail} |
| Abstention accuracy | {score} | {target} | {Pass/Fail} |

### Failure Analysis

| # | Query | Failure Type | Root Cause | Recommendation |
|---|-------|-------------|------------|----------------|
| 1 | {query} | {type} | {cause} | {fix} |

### Recommendations (Priority Order)
1. **{Recommendation}** — addresses {N} failures, expected impact: {description}
2. **{Recommendation}** — addresses {N} failures, expected impact: {description}

### Sample Failures

#### Query: "{query}"
- **Expected:** {answer}
- **Retrieved chunks:** {chunk summaries with relevance scores}
- **Generated:** {response}
- **Issue:** {diagnosis}
```

## Calibration Rules

1. **Component isolation.** Evaluate retrieval and generation independently. A great
   retriever with a bad generator looks like retrieval failure if you only check end output.
2. **Known answers first.** Start with factoid questions where the correct answer is
   unambiguous. Multi-hop and ambiguous queries are harder to evaluate.
3. **Quantify, don't qualify.** "Retrieval is bad" is not a finding. "Precision@5 is
   0.3 (target: 0.8) with 70% of failures due to chunk boundary splits" is actionable.
4. **Sample failures deeply.** Aggregate metrics identify WHERE the problem is. Individual
   failure analysis identifies WHY.

## Error Handling

| Problem                           | Resolution                                                                                              |
| --------------------------------- | ------------------------------------------------------------------------------------------------------- |
| No known-answer queries available | Help design them from the document corpus. Pick 10 facts and formulate questions.                       |
| Pipeline access not available     | Work from recorded inputs/outputs. Post-hoc evaluation is possible with query-context-response triples. |
| Corpus is too large to review     | Sample-based evaluation. Select representative documents and generate queries from them.                |
| Multiple failure types co-exist   | Address retrieval failures first. Generation quality cannot exceed retrieval quality.                   |

## When NOT to Audit

Push back if:

- The pipeline hasn't been built yet — design it first, audit after
- The corpus has fewer than 10 documents — too small for meaningful retrieval evaluation
- The user wants to compare embedding models — that's a benchmark task, not an audit

Files in this skill

  • SKILL.md9.3 KB
  • evals/cases.yaml3.2 KB
  • references/diagnostic-queries.md5.3 KB
  • references/failure-taxonomy.md5.9 KB
  • references/generation-metrics.md5.4 KB
  • references/retrieval-metrics.md3.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.