Rag architect
Use when the user asks to design a RAG pipeline, choose a chunking strategy or embedding model, pick a vector database, or evaluate retrieval quality (precision@k, recall@k, NDCG).
How to use it
Claude Code
- Run the line below. It pulls the whole folder into
~/.claude/skills/rag-architect, including the files SKILL.md points to. - Describe your job in plain words. Claude Code follows the skill from there.
npx degit alirezarezvani/claude-skills/engineering/skills/rag-architect#main ~/.claude/skills/rag-architectFor one project only, change the path to .claude/skills/rag-architect. This skill also uses retrieval_evaluator.py, chunking_optimizer.py, chunking.json, rag_pipeline_designer.py, requirements.json, design.json — copying SKILL.md alone won't be enough. See the folder on GitHub.
Claude (web or desktop app)
- On this page open ⋯ → Download .md.
- Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
- Pick the file and Save. Claude shows the name and description and runs a security scan.
- Check the skill is switched on.
- Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
- ChatGPT: make a Project and paste it into Instructions.
- Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Source of Rag architect
Show the full text72 lines
| name | description |
|---|---|
| rag-architect | Use when the user asks to design a RAG pipeline, choose a chunking strategy or embedding model, pick a vector database, or evaluate retrieval quality (precision@k, recall@k, NDCG). Examples: 'design a RAG system for our docs', 'what chunk size should I use for this corpus', 'evaluate my retriever against ground truth'. NOT for general LLM cost tuning (use llm-cost-optimizer) or agent loops over retrieval (use agenthub). |
RAG Architect
Design, tune, and evaluate production RAG pipelines with three deterministic tools. Run the tools against the actual corpus and requirements — do not pick chunk sizes or databases by intuition.
Hard rules
- Never present model names or vendor prices as current facts. Embedding models and vector-DB pricing rot in months. Recommend a tier (see table below), name a current-generation candidate, and tell the user to verify against the provider's live pricing page.
- Every design ends with an evaluation run. A RAG design without
retrieval_evaluator.pynumbers is a hypothesis, not a deliverable. - Chunking is corpus-driven. Run
chunking_optimizer.pyon the real documents before choosing a strategy.
Embedding model tiers (pattern, not price list)
| Tier | Current-generation examples (verify before use) | When |
|---|---|---|
| Fast / self-hosted | all-MiniLM-L6-v2, bge-small |
Cost-sensitive, small scale, real-time |
| Balanced open | all-mpnet-base-v2, bge-large, e5-large |
Quality without API dependency |
| Quality API | text-embedding-3-large, voyage-3-large |
Accuracy-priority general retrieval |
| Code | voyage-code-3, CodeBERT-family |
Code search corpora |
Pricing discipline: build the cost model with a placeholder table — columns model | $/1M tokens (verify) | dims | as-of date — and have the user fill in live numbers. Same for vector DBs (Pinecone/Weaviate/Qdrant/Chroma/pgvector): the selection criteria (managed vs self-hosted, scale, filtering, existing Postgres) are durable; the dollar figures are not.
Workflow
All paths relative to this skill folder. Outputs chain: corpus analysis → design → evaluation.
1. Analyze the corpus and pick chunking
python3 chunking_optimizer.py /path/to/docs --extensions .md .txt -o chunking.json
Emits chunking.json with corpus_info, per-strategy strategy_results, a recommendation, and sample_chunks. Use recommendation.strategy and its config; show the user 2-3 sample_chunks so they can sanity-check boundaries.
2. Design the pipeline from requirements
Write a requirements JSON with these keys (all required): document_types[], document_count, avg_document_size (chars), queries_per_day, query_patterns[], latency_requirement, budget_monthly, accuracy_priority (0-1), cost_priority (0-1), maintenance_complexity.
python3 rag_pipeline_designer.py requirements.json -o design.json
Emits design.json with chunking, embedding, vector_db, retrieval, reranking, evaluation, total_cost, architecture_diagram (mermaid), and config_templates. Present the diagram; label every cost_monthly figure as an estimate to verify (rule 1).
3. Evaluate retrieval quality
Prepare queries.json (list of {id, text} or {"queries": [...]}) and ground_truth.json ({query_id: [relevant_doc_ids]}), then:
python3 retrieval_evaluator.py queries.json /path/to/docs ground_truth.json --k-values 3 5 10 -o eval.json
Reports precision@k, recall@k, MRR, NDCG@k, plus poor_precision_examples / poor_recall_examples for failure analysis.
4. Verification loop
The design is done only when:
eval.jsonmeets targets — typical floors: precision@5 ≥ 0.8, recall@10 ≥ 0.85 (set per use case with the user).- If below target: inspect the poor-example lists, then change one variable (chunking strategy → re-run step 1; embedding tier; add reranking; hybrid retrieval) and re-run step 3. Repeat.
- Every recommended model/price in the deliverable carries a "verify current pricing/model availability" note with an as-of date.
References
references/chunking_strategies_comparison.md— strategy trade-offs the optimizer implementsreferences/embedding_model_benchmark.md— benchmark methodology (dated snapshot; staleness warning at top)references/rag_evaluation_framework.md— metric definitions (faithfulness, relevance, precision/recall/NDCG)
| 1 | |
| 2 | name "rag-architect" |
| 3 | description "Use when the user asks to design a RAG pipeline, choose a chunking strategy or embedding model, pick a vector database, or evaluate retrieval quality (precision@k, recall@k, NDCG). Examples: 'design a RAG system for our docs', 'what chunk size should I use for this corpus', 'evaluate my retriever against ground truth'. NOT for general LLM cost tuning (use llm-cost-optimizer) or agent loops over retrieval (use agenthub)." |
| 4 | |
| 5 | |
| 6 | # RAG Architect |
| 7 | |
| 8 | Design, tune, and evaluate production RAG pipelines with three deterministic tools. Run the tools against the actual corpus and requirements — do not pick chunk sizes or databases by intuition. |
| 9 | |
| 10 | ## Hard rules |
| 11 | |
| 12 | **Never present model names or vendor prices as current facts.** Embedding models and vector-DB pricing rot in months. Recommend a *tier* (see table below), name a current-generation candidate, and tell the user to verify against the provider's live pricing page. |
| 13 | **Every design ends with an evaluation run.** A RAG design without `retrieval_evaluator.py` numbers is a hypothesis, not a deliverable. |
| 14 | **Chunking is corpus-driven.** Run `chunking_optimizer.py` on the real documents before choosing a strategy. |
| 15 | |
| 16 | ## Embedding model tiers (pattern, not price list) |
| 17 | |
| 18 | | Tier | Current-generation examples (verify before use) | When | |
| 19 | |---|---|---| |
| 20 | | Fast / self-hosted | `all-MiniLM-L6-v2`, `bge-small` | Cost-sensitive, small scale, real-time | |
| 21 | | Balanced open | `all-mpnet-base-v2`, `bge-large`, `e5-large` | Quality without API dependency | |
| 22 | | Quality API | `text-embedding-3-large`, `voyage-3-large` | Accuracy-priority general retrieval | |
| 23 | | Code | `voyage-code-3`, CodeBERT-family | Code search corpora | |
| 24 | |
| 25 | **Pricing discipline:** build the cost model with a placeholder table — columns `model | $/1M tokens (verify) | dims | as-of date` — and have the user fill in live numbers. Same for vector DBs (Pinecone/Weaviate/Qdrant/Chroma/pgvector): the selection criteria (managed vs self-hosted, scale, filtering, existing Postgres) are durable; the dollar figures are not. |
| 26 | |
| 27 | ## Workflow |
| 28 | |
| 29 | All paths relative to this skill folder. Outputs chain: corpus analysis → design → evaluation. |
| 30 | |
| 31 | ### 1. Analyze the corpus and pick chunking |
| 32 | |
| 33 | |
| 34 | python3 chunking_optimizer.py /path/to/docs --extensions .md .txt -o chunking.json |
| 35 | |
| 36 | |
| 37 | Emits `chunking.json` with `corpus_info`, per-strategy `strategy_results`, a `recommendation`, and `sample_chunks`. Use `recommendation.strategy` and its config; show the user 2-3 `sample_chunks` so they can sanity-check boundaries. |
| 38 | |
| 39 | ### 2. Design the pipeline from requirements |
| 40 | |
| 41 | Write a requirements JSON with these keys (all required): `document_types[]`, `document_count`, `avg_document_size` (chars), `queries_per_day`, `query_patterns[]`, `latency_requirement`, `budget_monthly`, `accuracy_priority` (0-1), `cost_priority` (0-1), `maintenance_complexity`. |
| 42 | |
| 43 | |
| 44 | python3 rag_pipeline_designer.py requirements.json -o design.json |
| 45 | |
| 46 | |
| 47 | Emits `design.json` with `chunking`, `embedding`, `vector_db`, `retrieval`, `reranking`, `evaluation`, `total_cost`, `architecture_diagram` (mermaid), and `config_templates`. Present the diagram; label every `cost_monthly` figure as an estimate to verify (rule 1). |
| 48 | |
| 49 | ### 3. Evaluate retrieval quality |
| 50 | |
| 51 | Prepare `queries.json` (list of `{id, text}` or `{"queries": [...]}`) and `ground_truth.json` (`{query_id: [relevant_doc_ids]}`), then: |
| 52 | |
| 53 | |
| 54 | python3 retrieval_evaluator.py queries.json /path/to/docs ground_truth.json --k-values 3 5 10 -o eval.json |
| 55 | |
| 56 | |
| 57 | Reports precision@k, recall@k, MRR, NDCG@k, plus `poor_precision_examples` / `poor_recall_examples` for failure analysis. |
| 58 | |
| 59 | ### 4. Verification loop |
| 60 | |
| 61 | The design is done only when: |
| 62 | |
| 63 | `eval.json` meets targets — typical floors: precision@5 ≥ 0.8, recall@10 ≥ 0.85 (set per use case with the user). |
| 64 | If below target: inspect the poor-example lists, then change **one** variable (chunking strategy → re-run step 1; embedding tier; add reranking; hybrid retrieval) and re-run step 3. Repeat. |
| 65 | Every recommended model/price in the deliverable carries a "verify current pricing/model availability" note with an as-of date. |
| 66 | |
| 67 | ## References |
| 68 | |
| 69 | `references/chunking_strategies_comparison.md` — strategy trade-offs the optimizer implements |
| 70 | `references/embedding_model_benchmark.md` — benchmark *methodology* (dated snapshot; staleness warning at top) |
| 71 | `references/rag_evaluation_framework.md` — metric definitions (faithfulness, relevance, precision/recall/NDCG) |
| 72 |
Discussion
Browse more free Claude skills or everything in Development.