RAG & Search Engineering — Complete Reference
Build production-grade retrieval systems with hybrid search, grounded generation, and measurable quality.
This skill covers:
- RAG: Chunking, contextual retrieval, grounding, adaptive/self-correcting systems
- Search: BM25, vector search, hybrid fusion, ranking pipelines
- Evaluation: recall@k, nDCG, MRR, groundedness metrics
Modern Best Practices (December 2025):
Default posture: deterministic pipeline, bounded context, explicit failure handling, and telemetry for every stage.
Scope note: For prompt structure and output contracts used in the generation phase, see ai-prompt-engineering.
Quick Reference
| Task |
Tool/Framework |
Command/Pattern |
When to Use |
| Decide RAG vs alternatives |
Decision framework |
RAG if: freshness + citations + corpus size; else: fine-tune/caching |
Avoid unnecessary retrieval latency/complexity |
| Chunking & parsing |
Chunker + parser |
Start simple; add structure-aware chunking per doc type |
Ingestion for docs, code, tables, PDFs |
| Retrieval |
Sparse + dense (hybrid) |
Fusion (e.g., RRF) + metadata filters + top-k tuning |
Mixed query styles; high recall requirements |
| Precision boost |
Reranker |
Cross-encoder/LLM rerank of top-k candidates |
When top-k contains near-misses/noise |
| Grounding |
Output contract + citations |
Quote/ID citations; answerability gate; refuse on missing evidence |
Compliance, trust, and auditability |
| Evaluation |
Offline + online eval |
Retrieval metrics + answer metrics + regression tests |
Prevent silent regressions and staleness failures |
Decision Tree: RAG Architecture Selection
Building RAG system: [Architecture Path]
├─ Document type?
│ ├─ Page/section-structured? → Structure-aware chunking (pages/sections + metadata)
│ ├─ Technical docs/code? → Structure-aware + code-aware chunking (symbols, headers)
│ └─ Simple content? → Fixed-size token chunking with overlap (baseline)
│
├─ Retrieval accuracy low?
│ ├─ Query ambiguity? → Query rewriting + multi-query expansion + filters
│ ├─ Noisy results? → Add reranker + better metadata filters
│ └─ Mixed queries? → Hybrid retrieval (sparse + dense) + reranking
│
├─ Dataset size?
│ ├─ <100k chunks? → Flat index (exact search)
│ ├─ 100k-10M? → HNSW (low latency)
│ └─ >10M? → IVF/ScaNN/DiskANN (scalable)
│
└─ Production quality?
└─ Add: ACLs, freshness/invalidation, eval gates, and telemetry (end-to-end)
Core Concepts (Vendor-Agnostic)
- Pipeline stages: ingest → chunk → embed → index → retrieve → rerank → pack context → generate → verify.
- Two evaluation planes: retrieval relevance (did we fetch the right evidence?) vs generation fidelity (did we use it correctly?).
- Freshness model: staleness budget, invalidation triggers, and rebuild strategy (incremental vs full).
- Trust boundaries: retrieved content is untrusted; apply the same rigor as user input (OWASP LLM Top 10: https://owasp.org/www-project-top-10-for-large-language-model-applications/).
Implementation Practices (Tooling Examples)
- Use a retrieval API contract: query, filters, top_k, trace_id, and returned evidence IDs.
- Instrument each stage with tracing/metrics (OpenTelemetry GenAI semantic conventions: https://opentelemetry.io/docs/specs/semconv/gen-ai/).
- Add caches deliberately: embeddings cache, retrieval cache (query+filters), and response cache (with invalidation).
Do / Avoid
Do
- Do keep retrieval deterministic: fixed top_k, stable ranking, explicit filters.
- Do enforce document-level ACLs at retrieval time (not only at generation time).
- Do include citations with stable IDs and verify citation coverage in tests.
Avoid
- Avoid shipping RAG without a test set and regression gate.
- Avoid “stuff everything” context packing; it increases cost and can reduce accuracy.
- Avoid mixing corpora without metadata and tenant isolation.
When to Use This Skill
Claude should invoke this skill when the user asks:
- "Help me design a RAG pipeline."
- "How should I chunk this document?"
- "Optimize retrieval for my use case."
- "My RAG system is hallucinating — fix it."
- "Choose the right vector database / index type."
- "Create a RAG evaluation framework."
- "Debug why retrieval gives irrelevant results."
Related Skills
For adjacent topics, reference these skills:
- ai-llm - Prompting, fine-tuning, instruction datasets
- ai-agents - Agentic RAG workflows and tool routing
- ai-llm-inference - Serving performance, quantization, batching
- ai-mlops - Deployment, monitoring, security, privacy, and governance
- ai-prompt-engineering - Prompt patterns for RAG generation phase
Detailed Guides
Core RAG Architecture
- Pipeline Architecture - End-to-end RAG pipeline structure, ingestion, freshness, index hygiene, embedding selection
- Chunking Strategies - Chunking tradeoffs, evaluation approach, and production pitfalls
- Index Selection Guide - Vector database configuration, HNSW/IVF/Flat selection, parameter tuning
Advanced Retrieval Techniques
- Retrieval Patterns - Dense retrieval, hybrid search, query preprocessing, reranking workflow, metadata filtering
- Contextual Retrieval Guide - Chunk context augmentation technique; validate impact on your corpus
- Grounding Checklists - Context compression, hallucination control, citation patterns, answerability validation
Production & Evaluation
- RAG Evaluation Guide - Recall@K, nDCG, groundedness, RAGAS/TruLens, A/B testing, sliced evaluation
- Advanced RAG Patterns - Graph/multimodal RAG, online evaluation, telemetry, shadow/canary testing, adaptive retrieval
- RAG Troubleshooting - Failure mode triage, debugging irrelevant results, hallucination fixes
Existing Detailed Patterns
- Chunking Patterns - Technical implementation details for all chunking approaches
- Retrieval Patterns - Low-level retrieval implementation patterns
Templates
System Design (Start Here)
Chunking & Ingestion
- Basic Chunking
- Code Chunking
- Long Document Chunking
Embedding & Indexing
- Index Configuration
- Metadata Schema
Retrieval & Reranking
- Retrieval Pipeline
- Hybrid Search
- Reranking
Context Packaging & Grounding
- Context Packing
- Grounding
Evaluation
- RAG Evaluation
- RAG Test Set
Navigation
Resources
- resources/rag-evaluation-guide.md
- resources/rag-troubleshooting.md
- resources/contextual-retrieval-guide.md
- resources/pipeline-architecture.md
- resources/advanced-rag-patterns.md
- resources/chunking-strategies.md
- resources/grounding-checklists.md
- resources/index-selection-guide.md
- resources/retrieval-patterns.md
- resources/chunking-patterns.md
Templates
- templates/context/template-context-packing.md
- templates/context/template-grounding.md
- templates/design/rag-system-design.md
- templates/chunking/template-basic-chunking.md
- templates/chunking/template-code-chunking.md
- templates/chunking/template-long-doc-chunking.md
- templates/retrieval/template-retrieval-pipeline.md
- templates/retrieval/template-hybrid-search.md
- templates/retrieval/template-reranking.md
- templates/eval/template-rag-eval.md
- templates/eval/template-rag-testset.jsonl
- templates/indexing/template-index-config.md
- templates/indexing/template-metadata-schema.md
Data
- data/sources.json — Curated external references
External Resources
See data/sources.json for:
- Embedding models (OpenAI, Cohere, Sentence Transformers, Voyage AI, Jina)
- Vector DBs (FAISS, Pinecone, Qdrant, Weaviate, Milvus, Chroma, pgvector, LanceDB)
- Hybrid search libraries (Elasticsearch, OpenSearch, Typesense, Meilisearch)
- Reranking models (Cohere Rerank, Jina Reranker, RankGPT, Flashrank)
- Evaluation frameworks (RAGAS, TruLens, DeepEval, BEIR)
- RAG frameworks (LlamaIndex, LangChain, Haystack, txtai)
- Advanced techniques (RAG Fusion, CRAG, Self-RAG, Contextual Retrieval)
- Production platforms (Vectara, AWS Kendra)
Use this skill whenever the user needs retrieval-augmented system design or debugging, not prompt work or deployment.
1---2name: ai-rag3description: Complete RAG and search engineering skill. Covers chunking strategies, hybrid retrieval (BM25 + vector), cross-encoder reranking, query rewriting, ranking pipelines, nDCG/MRR evaluation, and production search systems. Modern patterns for retrieval-augmented generation and semantic search.4---5
6# RAG & Search Engineering — Complete Reference
7
8Build production-grade retrieval systems with **hybrid search**, **grounded generation**, and **measurable quality**.
9
10This skill covers:
11
12- **RAG**: Chunking, contextual retrieval, grounding, adaptive/self-correcting systems
13- **Search**: BM25, vector search, hybrid fusion, ranking pipelines
14- **Evaluation**: recall@k, nDCG, MRR, groundedness metrics
15
16**Modern Best Practices (December 2025)**:
17
18- Separate **retrieval quality** from **answer quality**; evaluate both (RAG paper: https://arxiv.org/abs/2005.11401).
19- Default to **hybrid retrieval** (sparse + dense) with **reranking** when precision matters (DPR: https://arxiv.org/abs/2004.04906).
20- Treat **freshness/invalidation** as first-class; staleness is a correctness bug, not a UX issue.
21- Add **grounding gates**: answerability checks, citation coverage checks, and refusal-on-missing-context defaults.
22- Threat-model RAG: retrieved text is untrusted input (OWASP LLM Top 10: https://owasp.org/www-project-top-10-for-large-language-model-applications/).
23
24**Default posture**: deterministic pipeline, bounded context, explicit failure handling, and telemetry for every stage.
25
26**Scope note**: For prompt structure and output contracts used in the generation phase, see [ai-prompt-engineering](../ai-prompt-engineering/SKILL.md).
27
28---
29
30---
31
32## Quick Reference
33
34| Task | Tool/Framework | Command/Pattern | When to Use |
35|------|----------------|-----------------|-------------|
36| Decide RAG vs alternatives | Decision framework | RAG if: freshness + citations + corpus size; else: fine-tune/caching | Avoid unnecessary retrieval latency/complexity |
37| Chunking & parsing | Chunker + parser | Start simple; add structure-aware chunking per doc type | Ingestion for docs, code, tables, PDFs |
38| Retrieval | Sparse + dense (hybrid) | Fusion (e.g., RRF) + metadata filters + top-k tuning | Mixed query styles; high recall requirements |
39| Precision boost | Reranker | Cross-encoder/LLM rerank of top-k candidates | When top-k contains near-misses/noise |
40| Grounding | Output contract + citations | Quote/ID citations; answerability gate; refuse on missing evidence | Compliance, trust, and auditability |
41| Evaluation | Offline + online eval | Retrieval metrics + answer metrics + regression tests | Prevent silent regressions and staleness failures |
42
43---
44
45## Decision Tree: RAG Architecture Selection
46
47```text
48Building RAG system: [Architecture Path]
49 ├─ Document type?
50 │ ├─ Page/section-structured? → Structure-aware chunking (pages/sections + metadata)
51 │ ├─ Technical docs/code? → Structure-aware + code-aware chunking (symbols, headers)
52 │ └─ Simple content? → Fixed-size token chunking with overlap (baseline)
53 │
54 ├─ Retrieval accuracy low?
55 │ ├─ Query ambiguity? → Query rewriting + multi-query expansion + filters
56 │ ├─ Noisy results? → Add reranker + better metadata filters
57 │ └─ Mixed queries? → Hybrid retrieval (sparse + dense) + reranking
58 │
59 ├─ Dataset size?
60 │ ├─ <100k chunks? → Flat index (exact search)
61 │ ├─ 100k-10M? → HNSW (low latency)
62 │ └─ >10M? → IVF/ScaNN/DiskANN (scalable)
63 │
64 └─ Production quality?
65 └─ Add: ACLs, freshness/invalidation, eval gates, and telemetry (end-to-end)
66```
67
68---
69
70## Core Concepts (Vendor-Agnostic)
71
72- **Pipeline stages**: ingest → chunk → embed → index → retrieve → rerank → pack context → generate → verify.
73- **Two evaluation planes**: retrieval relevance (did we fetch the right evidence?) vs generation fidelity (did we use it correctly?).
74- **Freshness model**: staleness budget, invalidation triggers, and rebuild strategy (incremental vs full).
75- **Trust boundaries**: retrieved content is untrusted; apply the same rigor as user input (OWASP LLM Top 10: https://owasp.org/www-project-top-10-for-large-language-model-applications/).
76
77## Implementation Practices (Tooling Examples)
78
79- Use a **retrieval API contract**: query, filters, top_k, trace_id, and returned evidence IDs.
80- Instrument each stage with tracing/metrics (OpenTelemetry GenAI semantic conventions: https://opentelemetry.io/docs/specs/semconv/gen-ai/).
81- Add **caches** deliberately: embeddings cache, retrieval cache (query+filters), and response cache (with invalidation).
82
83## Do / Avoid
84
85**Do**
86- Do keep retrieval deterministic: fixed top_k, stable ranking, explicit filters.
87- Do enforce document-level ACLs at retrieval time (not only at generation time).
88- Do include citations with stable IDs and verify citation coverage in tests.
89
90**Avoid**
91- Avoid shipping RAG without a test set and regression gate.
92- Avoid “stuff everything” context packing; it increases cost and can reduce accuracy.
93- Avoid mixing corpora without metadata and tenant isolation.
94
95## When to Use This Skill
96
97Claude should invoke this skill when the user asks:
98
99- "Help me design a RAG pipeline."
100- "How should I chunk this document?"
101- "Optimize retrieval for my use case."
102- "My RAG system is hallucinating — fix it."
103- "Choose the right vector database / index type."
104- "Create a RAG evaluation framework."
105- "Debug why retrieval gives irrelevant results."
106
107---
108
109## Related Skills
110
111For adjacent topics, reference these skills:
112
113- **[ai-llm](../ai-llm/SKILL.md)** - Prompting, fine-tuning, instruction datasets
114- **[ai-agents](../ai-agents/SKILL.md)** - Agentic RAG workflows and tool routing
115- **[ai-llm-inference](../ai-llm-inference/SKILL.md)** - Serving performance, quantization, batching
116- **[ai-mlops](../ai-mlops/SKILL.md)** - Deployment, monitoring, security, privacy, and governance
117- **[ai-prompt-engineering](../ai-prompt-engineering/SKILL.md)** - Prompt patterns for RAG generation phase
118
119---
120
121## Detailed Guides
122
123### Core RAG Architecture
124
125- **[Pipeline Architecture](resources/pipeline-architecture.md)** - End-to-end RAG pipeline structure, ingestion, freshness, index hygiene, embedding selection
126- **[Chunking Strategies](resources/chunking-strategies.md)** - Chunking tradeoffs, evaluation approach, and production pitfalls
127- **[Index Selection Guide](resources/index-selection-guide.md)** - Vector database configuration, HNSW/IVF/Flat selection, parameter tuning
128
129### Advanced Retrieval Techniques
130
131- **[Retrieval Patterns](resources/retrieval-patterns.md)** - Dense retrieval, hybrid search, query preprocessing, reranking workflow, metadata filtering
132- **[Contextual Retrieval Guide](resources/contextual-retrieval-guide.md)** - Chunk context augmentation technique; validate impact on your corpus
133- **[Grounding Checklists](resources/grounding-checklists.md)** - Context compression, hallucination control, citation patterns, answerability validation
134
135### Production & Evaluation
136
137- **[RAG Evaluation Guide](resources/rag-evaluation-guide.md)** - Recall@K, nDCG, groundedness, RAGAS/TruLens, A/B testing, sliced evaluation
138- **[Advanced RAG Patterns](resources/advanced-rag-patterns.md)** - Graph/multimodal RAG, online evaluation, telemetry, shadow/canary testing, adaptive retrieval
139- **[RAG Troubleshooting](resources/rag-troubleshooting.md)** - Failure mode triage, debugging irrelevant results, hallucination fixes
140
141### Existing Detailed Patterns
142
143- **[Chunking Patterns](resources/chunking-patterns.md)** - Technical implementation details for all chunking approaches
144- **[Retrieval Patterns](resources/retrieval-patterns.md)** - Low-level retrieval implementation patterns
145
146---
147
148## Templates
149
150### System Design (Start Here)
151
152- [RAG System Design](templates/design/rag-system-design.md)
153
154### Chunking & Ingestion
155
156- [Basic Chunking](templates/chunking/template-basic-chunking.md)
157- [Code Chunking](templates/chunking/template-code-chunking.md)
158- [Long Document Chunking](templates/chunking/template-long-doc-chunking.md)
159
160### Embedding & Indexing
161
162- [Index Configuration](templates/indexing/template-index-config.md)
163- [Metadata Schema](templates/indexing/template-metadata-schema.md)
164
165### Retrieval & Reranking
166
167- [Retrieval Pipeline](templates/retrieval/template-retrieval-pipeline.md)
168- [Hybrid Search](templates/retrieval/template-hybrid-search.md)
169- [Reranking](templates/retrieval/template-reranking.md)
170
171### Context Packaging & Grounding
172
173- [Context Packing](templates/context/template-context-packing.md)
174- [Grounding](templates/context/template-grounding.md)
175
176### Evaluation
177
178- [RAG Evaluation](templates/eval/template-rag-eval.md)
179- [RAG Test Set](templates/eval/template-rag-testset.jsonl)
180
181## Navigation
182
183**Resources**
184- [resources/rag-evaluation-guide.md](resources/rag-evaluation-guide.md)
185- [resources/rag-troubleshooting.md](resources/rag-troubleshooting.md)
186- [resources/contextual-retrieval-guide.md](resources/contextual-retrieval-guide.md)
187- [resources/pipeline-architecture.md](resources/pipeline-architecture.md)
188- [resources/advanced-rag-patterns.md](resources/advanced-rag-patterns.md)
189- [resources/chunking-strategies.md](resources/chunking-strategies.md)
190- [resources/grounding-checklists.md](resources/grounding-checklists.md)
191- [resources/index-selection-guide.md](resources/index-selection-guide.md)
192- [resources/retrieval-patterns.md](resources/retrieval-patterns.md)
193- [resources/chunking-patterns.md](resources/chunking-patterns.md)
194
195**Templates**
196- [templates/context/template-context-packing.md](templates/context/template-context-packing.md)
197- [templates/context/template-grounding.md](templates/context/template-grounding.md)
198- [templates/design/rag-system-design.md](templates/design/rag-system-design.md)
199- [templates/chunking/template-basic-chunking.md](templates/chunking/template-basic-chunking.md)
200- [templates/chunking/template-code-chunking.md](templates/chunking/template-code-chunking.md)
201- [templates/chunking/template-long-doc-chunking.md](templates/chunking/template-long-doc-chunking.md)
202- [templates/retrieval/template-retrieval-pipeline.md](templates/retrieval/template-retrieval-pipeline.md)
203- [templates/retrieval/template-hybrid-search.md](templates/retrieval/template-hybrid-search.md)
204- [templates/retrieval/template-reranking.md](templates/retrieval/template-reranking.md)
205- [templates/eval/template-rag-eval.md](templates/eval/template-rag-eval.md)
206- [templates/eval/template-rag-testset.jsonl](templates/eval/template-rag-testset.jsonl)
207- [templates/indexing/template-index-config.md](templates/indexing/template-index-config.md)
208- [templates/indexing/template-metadata-schema.md](templates/indexing/template-metadata-schema.md)
209
210**Data**
211- [data/sources.json](data/sources.json) — Curated external references
212
213---
214
215## External Resources
216
217See [data/sources.json](data/sources.json) for:
218
219- Embedding models (OpenAI, Cohere, Sentence Transformers, Voyage AI, Jina)
220- Vector DBs (FAISS, Pinecone, Qdrant, Weaviate, Milvus, Chroma, pgvector, LanceDB)
221- Hybrid search libraries (Elasticsearch, OpenSearch, Typesense, Meilisearch)
222- Reranking models (Cohere Rerank, Jina Reranker, RankGPT, Flashrank)
223- Evaluation frameworks (RAGAS, TruLens, DeepEval, BEIR)
224- RAG frameworks (LlamaIndex, LangChain, Haystack, txtai)
225- Advanced techniques (RAG Fusion, CRAG, Self-RAG, Contextual Retrieval)
226- Production platforms (Vectara, AWS Kendra)
227
228---
229
230Use this skill whenever the user needs **retrieval-augmented system design or debugging**, not prompt work or deployment.