ai-infrastructure-hugg…
Hugging Face Inference SDK patterns for TypeScript/Node.js — InferenceClient setup, chat completion, text generation, streaming, embeddings, image generation,…
AI integration review patterns. Use when reviewing model API calls, prompt construction, LLM output handling, RAG pipelines, and tool-calling code. Covers prompt-injection call-chain tracing, output validation, token budgets, retry/timeout handling, streaming, and key/PII
$ npx -y skills add agents-inc/skills --skill meta-reviewing-ai-reviewing --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/meta-reviewing-ai-reviewingContext preview
The summary Claude sees to decide when to auto-load this skill.
AI integration review patterns. Use when reviewing model API calls, prompt construction, LLM output handling, RAG pipelines, and tool-calling code. Covers prompt-injection call-chain tracing, output validation, token budgets, retry/timeout handling, streaming, and key/PII
name: meta-reviewing-ai-reviewing description: AI integration review patterns. Use when reviewing model API calls, prompt construction, LLM output handling, RAG pipelines, and tool-calling code. Covers prompt-injection call-chain tracing, output validation, token budgets, retry/timeout handling, streaming, and key/PII exposure.
> **Quick Guide:** When a diff touches model calls, trace every user-controlled string from its entry point into the prompt it lands in - that chain is the injection surface. Verify model output is validated before it drives control flow or storage, context growth is bounded, model calls carry timeouts and typed failure handling, and no keys or PII ride along in prompts or logs.
---
<critical_requirements>
> **All code must follow project conventions in CLAUDE.md** (kebab-case, named exports, import ordering, `import type`, named constants)
**(You MUST trace every path where user-controlled input enters a prompt - through variables, retrieved documents, and tool results alike)**
**(You MUST verify every model response used in control flow, stored, or shown to other users is validated before use)**
**(You MUST check that conversation history and retrieved context are bounded - no accumulation without truncation)**
**(You MUST verify model calls carry a timeout and handle failure distinctly from success - transient errors retried or surfaced, never swallowed)**
**(You MUST verify no API keys, credentials, or PII appear in prompts, logs, or error messages the diff adds)**
</critical_requirements>
---
**Auto-detection:** review AI code, LLM PR review, prompt review, model call review, RAG review, tool calling review, agent loop review, completion handling review
**When to use:**
**When NOT to use:**
**Key patterns covered:**
**Detailed Resources:**
---
<philosophy>
**A model call is an untrusted boundary in both directions.** What goes in can carry an attacker's instructions; what comes out is a guess shaped like an answer. The review's job is to find the places the diff treats either direction as trusted.
**When reviewing AI code:**
**When NOT to flag:**
**Core principles:**
</philosophy>
---
<patterns>
Follow every user-controlled string to the prompt it lands in.
## Injection Trace For EACH prompt the diff constructs or changes: - [ ] List every interpolated value and classify it: static, developer-controlled, or user-controlled - [ ] User-controlled values are delimited/structured (tagged blocks, separate messages), not spliced into instructions - [ ] Retrieved documents and tool results are treated as user-controlled - [ ] System-prompt content (rules, secrets, tool definitions) is never echoed into user-visible output paths - [ ] Instructions and data are separated - the prompt never asks the model to obey text it also lets the user write
// Must Fix: user text spliced into the instruction channel
const prompt = `You are a support agent. ${userMessage}. Use the refund tool if appropriate.`;
// Good: instructions and untrusted data are separate, and the data is fenced
const messages = [
{ role: "system", content: SUPPORT_AGENT_RULES },
{
role: "user",
content: `<customer_message>${userMessage}</customer_message>`,
},
];**Why this matters:** Injection is a chain property, not a line property. The one splice you don't trace is the one that lets a pasted email operate your tools.
---
A model response is a guess - validate it before it acts.
## Output Validation Review For EACH place the diff consumes a model response: - [ ] Structured output is schema
The official skills marketplace for Agents Inc. 150+ skills covering everything from React and Prisma to Redis, ElevenLabs, and infrastructure tooling. Pick the skills that match your stack and install them via Claude Code. Need more control?
Repo: agents-inc/skills
Hugging Face Inference SDK patterns for TypeScript/Node.js — InferenceClient setup, chat completion, text generation, streaming, embeddings, image generation,…
LiteLLM proxy server setup, TypeScript client patterns via OpenAI SDK, model routing, fallbacks, load balancing, spend tracking, virtual keys, and production…
Serverless GPU compute platform for AI model deployment — web endpoints, GPU functions, model serving, and TypeScript client patterns
Local LLM inference with the Ollama JavaScript client -- chat, streaming, tool calling, vision, embeddings, structured output, model management, and…
Replicate SDK patterns for TypeScript/Node.js -- client setup, predictions, streaming, webhooks, file handling, model versioning, deployments, and training
Together AI SDK patterns for TypeScript — client setup, chat completions, streaming, structured output, function calling, embeddings, image generation,…