ai-sdk
Scannednpx machina-cli add skill vijaykpatel/favorite_skills_and_plugins/ai-sdk --openclawPrerequisites
Before searching docs, check if node_modules/ai/docs/ exists. If not, install only the ai package using the project's package manager (e.g., pnpm add ai).
Do not install other packages at this stage. Provider packages (e.g., @ai-sdk/openai) and client packages (e.g., @ai-sdk/react) should be installed later when needed based on user requirements.
Critical: Do Not Trust Internal Knowledge
Everything you know about the AI SDK is outdated or wrong. Your training data contains obsolete APIs, deprecated patterns, and incorrect usage.
When working with the AI SDK:
- Ensure
aipackage is installed (see Prerequisites) - Search
node_modules/ai/docs/andnode_modules/ai/src/for current APIs - If not found locally, search ai-sdk.dev documentation (instructions below)
- Never rely on memory - always verify against source code or docs
useChathas changed significantly - check Common Errors before writing client code- When deciding which model and provider to use (e.g. OpenAI, Anthropic, Gemini), use the Vercel AI Gateway provider unless the user specifies otherwise. See AI Gateway Reference for usage details.
- Always fetch current model IDs - Never use model IDs from memory. Before writing code that uses a model, run
curl -s https://ai-gateway.vercel.sh/v1/models | jq -r '[.data[] | select(.id | startswith("provider/")) | .id] | reverse | .[]'(replacingproviderwith the relevant provider likeanthropic,openai, orgoogle) to get the full list with newest models first. Use the model with the highest version number (e.g.,claude-sonnet-4-5overclaude-sonnet-4overclaude-3-5-sonnet). - Run typecheck after changes to ensure code is correct
- Be minimal - Only specify options that differ from defaults. When unsure of defaults, check docs or source rather than guessing or over-specifying.
If you cannot find documentation to support your answer, state that explicitly.
Finding Documentation
ai@6.0.34+
Search bundled docs and source in node_modules/ai/:
- Docs:
grep "query" node_modules/ai/docs/ - Source:
grep "query" node_modules/ai/src/
Provider packages include docs at node_modules/@ai-sdk/<provider>/docs/.
Earlier versions
- Search:
https://ai-sdk.dev/api/search-docs?q=your_query - Fetch
.mdURLs from results (e.g.,https://ai-sdk.dev/docs/agents/building-agents.md)
When Typecheck Fails
Before searching source code, grep Common Errors for the failing property or function name. Many type errors are caused by deprecated APIs documented there.
If not found in common-errors.md:
- Search
node_modules/ai/src/andnode_modules/ai/docs/ - Search ai-sdk.dev (for earlier versions or if not found locally)
Building and Consuming Agents
Creating Agents
Always use the ToolLoopAgent pattern. Search node_modules/ai/docs/ for current agent creation APIs.
File conventions: See type-safe-agents.md for where to save agents and tools.
Type Safety: When consuming agents with useChat, always use InferAgentUIMessage<typeof agent> for type-safe tool results. See reference.
Consuming Agents (Framework-Specific)
Before implementing agent consumption:
- Check
package.jsonto detect the project's framework/stack - Search documentation for the framework's quickstart guide
- Follow the framework-specific patterns for streaming, API routes, and client integration
References
- Common Errors - Renamed parameters reference (parameters → inputSchema, etc.)
- AI Gateway - Gateway setup and usage
- Type-Safe Agents with useChat - End-to-end type safety with InferAgentUIMessage
Source
git clone https://github.com/vijaykpatel/favorite_skills_and_plugins/blob/main/.agents/skills/ai-sdk/SKILL.mdView on GitHub Overview
Answers questions about the AI SDK and guides you to build AI-powered features. It covers core APIs (generateText, streamText, ToolLoopAgent, embed, tools), agents and chatbots, RAG systems, providers, streaming, tool calling, structured output, embeddings, and React hooks like useChat and useCompletion.
How This Skill Works
Technically, it steers you to verify APIs locally by inspecting node_modules/ai/docs and node_modules/ai/src, or consult ai-sdk.dev when needed. It enforces minimal installs (only the ai package first) and uses the ToolLoopAgent pattern with the Vercel AI Gateway by default, then fetches current model IDs via the gateway command and runs type checks after changes.
When to Use It
- When you need to query generateText, streamText, ToolLoopAgent, embed, or tools APIs
- When designing AI agents, chatbots, or RAG systems
- When evaluating AI providers (OpenAI, Anthropic, Google, etc.) and streaming, tool calling, or embeddings
- When building features using React hooks like useChat or useCompletion
- When you must fetch and use current model IDs from the AI Gateway and apply the highest version
Quick Start
- Step 1: Ensure the ai package is installed and node_modules/ai/docs exists
- Step 2: Inspect node_modules/ai/docs and node_modules/ai/src for current APIs (or consult ai-sdk.dev if missing)
- Step 3: Build a simple ToolLoopAgent-based flow, test in a React app with useChat/useCompletion, and fetch latest models from the gateway; run typecheck afterward
Best Practices
- Check node_modules/ai/docs and node_modules/ai/src for current APIs before coding
- Install only the ai package initially; avoid other packages until needed
- Always fetch current model IDs from the AI Gateway and choose the highest version
- Use the ToolLoopAgent pattern and type-safe tool results with useChat (InferAgentUIMessage guidance)
- Keep changes minimal and run typechecks; rely on docs/source rather than memory
Example Use Cases
- Build a streaming text chat bot by wiring generateText/streamText into a ToolLoopAgent
- Create a RAG-enabled search assistant using embeddings and tool calling
- Develop an AI agent workflow with ToolLoopAgent for multi-step tasks
- Integrate with React app using useChat/useCompletion and up-to-date provider models
- Experiment with provider switching via AI Gateway to compare responses