Use this skill when building AI features, integrating LLMs, implementing RAG, working with embeddings, deploying ML models, or doing data science. Activates on mentions of OpenAI, Anthropic, Claude, GPT, LLM, RAG, embeddings, vector database, Pinecone, Qdrant, LangChain, LlamaIndex, DSPy, MLflow, fine-tuning, LoRA, QLoRA, model deployment, ML pipeline, feature engineering, or machine learning.
View on GitHubskills/ai/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/hyperb1iss/hyperskills/blob/main/skills/ai/SKILL.md -a claude-code --skill aiInstallation paths:
.claude/skills/ai/# AI/ML Engineering
Build production AI systems with modern patterns and tools.
## Quick Reference
### The 2026 AI Stack
| Layer | Tool | Purpose |
| ------------------- | ----------------- | -------------------------------- |
| Prompting | DSPy | Programmatic prompt optimization |
| Orchestration | LangGraph | Stateful multi-agent workflows |
| RAG | LlamaIndex | Document ingestion and retrieval |
| Vectors | Qdrant / Pinecone | Embedding storage and search |
| Evaluation | RAGAS | RAG quality metrics |
| Experiment Tracking | MLflow / W&B | Logging, versioning, comparison |
| Serving | BentoML / vLLM | Model deployment |
| Protocol | MCP | Tool and context integration |
### DSPy: Programmatic Prompting
**Manual prompts are dead.** DSPy treats prompts as optimizable code:
```python
import dspy
class QA(dspy.Signature):
"""Answer questions with short factoid answers."""
question = dspy.InputField()
answer = dspy.OutputField(desc="1-5 words")
# Create module
qa = dspy.Predict(QA)
# Use it
result = qa(question="What is the capital of France?")
print(result.answer) # "Paris"
```
**Optimize with real data:**
```python
from dspy.teleprompt import BootstrapFewShot
optimizer = BootstrapFewShot(metric=exact_match)
optimized_qa = optimizer.compile(qa, trainset=train_data)
```
### RAG Architecture (Production)
```
Query → Rewrite → Hybrid Retrieval → Rerank → Generate → Cite
│ │ │
v v v
Query expansion Dense + BM25 Cross-encoder
```
**LlamaIndex + LangGraph Pattern:**
```python
from llama_index.core import VectorStoreIndex
from langgraph.graph import StateGraph
# Data layer (LlamaIndex)
index = VectorStoreIndex.from_documents(docs)
query_en