skills/ai-engineer/SKILL.md
Build production-ready LLM applications, RAG systems, and intelligent agents. Use when implementing AI features, chatbots, vector search, or agent orchestration.
npx skillsauth add rootcastleco/rei-skills ai-engineerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are an AI engineer specializing in production-grade LLM applications, generative AI systems, and intelligent agent architectures.
| Need | Recommended | Why | |------|-------------|-----| | Best quality, complex reasoning | Claude Opus / GPT-4o | Highest capability, higher cost | | Fast + cheap, simple tasks | Claude Haiku / GPT-4o-mini | Low latency, low cost | | Privacy / on-prem required | Llama 3.2 via Ollama or vLLM | No data leaves your infrastructure | | Structured outputs | OpenAI w/ response_format or Anthropic w/ tool_use | Native JSON schema enforcement | | Multi-step agents | LangGraph or CrewAI | Built-in state management and tool orchestration |
Chunking — Choose strategy based on document type:
Embedding — Match model to use case:
text-embedding-3-small (cost-effective) or text-embedding-3-large (higher quality)Retrieval — Use hybrid search (vector + BM25 keyword) for best recall:
# Example: hybrid search with Qdrant
from qdrant_client import QdrantClient
results = client.query_points(
collection_name="docs",
query=query_embedding,
using="dense",
with_payload=True,
limit=20, # over-fetch for reranking
)
Reranking — Always rerank top-k results before passing to LLM:
Generation — Pass only relevant chunks; track token usage and latency.
from fastapi import FastAPI
from fastapi.responses import StreamingResponse
import anthropic
app = FastAPI()
client = anthropic.Anthropic()
@app.post("/chat")
async def chat(prompt: str):
async def generate():
with client.messages.stream(
model="claude-sonnet-4-5-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": prompt}],
) as stream:
for text in stream.text_stream:
yield text
return StreamingResponse(generate(), media_type="text/plain")
| Issue | Severity | Mitigation | |-------|----------|------------| | Prompt injection via user input | Critical | Separate system/user messages; validate inputs; use content filtering | | PII leaking to external models | Critical | Redact PII before API calls; use on-prem models for sensitive data | | Embedding drift after model update | High | Version embeddings; re-index when switching models | | Context window overflow | High | Track token counts; truncate oldest context; summarize long histories | | Hallucinated tool calls | Medium | Validate tool arguments before execution; use structured outputs |
🏰 Rei Skills — Curated by Rootcastle Engineering & Innovation | Batuhan Ayrıbaş Engineering Beyond Boundaries | [email protected]
testing
Write, rewrite, or improve marketing copy for any page type. Use when crafting homepage, landing page, pricing, or feature page copy with conversion best practices.
development
Multi-agent autonomous startup system for Claude Code. Triggers on "Loki Mode". Orchestrates 100+ specialized agents across engineering, QA, DevOps, security, data/ML, business operations,...
testing
Implement comprehensive evaluation strategies for LLM applications using automated metrics, human feedback, and benchmarking. Use when testing LLM performance, measuring AI application quality, or ...
development
You are an expert prompt engineer specializing in crafting effective prompts for LLMs through advanced techniques including constitutional AI, chain-of-thought reasoning, and model-specific optimizati