
Rag Architect
Designs and implements production-grade RAG systems by chunking documents, generating...
Install
npx skills add Jeffallan/claude-skills --skill rag-architect -g -a claude-code -y- Repository
- Jeffallan/claude-skills12.2k
- Category
- Design
- Updated
- 5d ago
- License
- MIT
- Context cost
- Mediumabout 1,775 tokens
- Runs scripts
- No, instructions only
What it does
Designs and implements production-grade RAG systems by chunking documents, generating embeddings, configuring vector stores, building hybrid search pipelines, applying reranking, and evaluating retrieval quality. Use when building RAG systems, vector databases, or knowledge-grounded AI applications requiring semantic search, document retrieval, context augmentation, similarity search, or embedding-based indexing.
RAG Architect
Core Workflow
- Requirements Analysis, Identify retrieval needs, latency constraints, accuracy requirements, and scale
- Vector Store Design, Select database, schema design, indexing strategy, sharding approach
- Chunking Strategy, Document splitting, overlap, semantic boundaries, metadata enrichment
- Retrieval Pipeline, Embedding selection, query transformation, hybrid search, reranking
- Evaluation & Iteration, Metrics tracking, retrieval debugging, continuous optimization
For each step, validate before moving on (see checkpoints below).
Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Vector Databases | references/vector-databases.md | Comparing Pinecone, Weaviate, Chroma, pgvector, Qdrant |
| Embedding Models | references/embedding-models.md | Selecting embeddings, fine-tuning, dimension trade-offs |
| Chunking Strategies | references/chunking-strategies.md | Document splitting, overlap, semantic chunking |
| Retrieval Optimization | references/retrieval-optimization.md | Hybrid search, reranking, query expansion, filtering |
| RAG Evaluation | references/rag-evaluation.md | Metrics, evaluation frameworks, debugging retrieval |
Implementation Examples
1. Chunking Documents
from langchain.text_splitter import RecursiveCharacterTextSplitter
# Evaluate chunk_size on your domain data, never use 512 blindly
splitter = RecursiveCharacterTextSplitter(
chunk_size=800,
chunk_overlap=100,
separators=["\n\n", "\n", ". ", " "],
)
chunks = splitter.create_documents(
texts=[doc.page_content for doc in raw_docs],
metadatas=[{"source": doc.metadata["source"], "timestamp": doc.metadata.get("timestamp")} for doc in raw_docs],
)
Checkpoint: assert all(c.metadata.get("source") for c in chunks), "Missing source metadata"


