$npx -y skills add vercel/ai --skill use-ai-sdkAnswer questions about the AI SDK and help build AI-powered features. Use when developers: (1) Ask about AI SDK functions like generateText, streamText, ToolLoopAgent, embed, or tools, (2) Want to build AI agents, chatbots, RAG systems, or text generation features, (3) Have quest
| 1 | ## What the AI SDK Is |
| 2 | |
| 3 | The AI SDK by Vercel (the `ai` package on npm) is a TypeScript toolkit for building AI applications. It provides a unified API across model providers for text generation, structured output, tool calling, agents, embeddings, and framework UI integrations. |
| 4 | |
| 5 | - Repository: https://github.com/vercel/ai |
| 6 | - Documentation: https://ai-sdk.dev/docs |
| 7 | |
| 8 | ## Critical: Do Not Trust Your Own Memory |
| 9 | |
| 10 | Whatever you remember about the AI SDK is likely outdated. The SDK changes frequently across versions - APIs are renamed, removed, and added. Your training data almost certainly contains obsolete APIs, deprecated patterns, and model IDs that no longer exist. UI hooks like `useChat` are among the most frequently changed APIs, so be especially careful with client code. |
| 11 | |
| 12 | **Never write AI SDK code from memory.** Always verify every API, option, and pattern against the documentation and source code for the version that is actually installed in the project. |
| 13 | |
| 14 | ## Use the Bundled, Version-Matched Docs |
| 15 | |
| 16 | The `ai` package ships its full documentation and source code inside `node_modules`. These always match the installed version, so trust them over anything you remember. |
| 17 | |
| 18 | 1. Ensure `ai` is installed. If `node_modules/ai/` does not exist, install **only** the `ai` package using the project's package manager (e.g. `pnpm add ai`). Install provider packages (e.g. `@ai-sdk/openai`) and framework packages (e.g. `@ai-sdk/react`) later, when the task requires them. |
| 19 | 2. Read and grep the bundled docs at `node_modules/ai/docs/` and the source at `node_modules/ai/src/`. |
| 20 | 3. Provider and framework packages bundle their own docs at `node_modules/@ai-sdk/<name>/docs/`. |
| 21 | 4. If something isn't in the bundled docs, search https://ai-sdk.dev/docs. You can append `.md` to any docs page URL to get its markdown, and search via `https://ai-sdk.dev/api/search-docs?q=your_query`. |
| 22 | 5. If you cannot find support for an answer in the docs or source, say so explicitly — do not guess. |
| 23 | |
| 24 | ## AI Gateway: The Fastest Way to Start |
| 25 | |
| 26 | The Vercel AI Gateway is the fastest way to get started with the AI SDK. It provides access to models from OpenAI, Anthropic, Google, and other providers through a single API, without installing provider packages or managing multiple API keys. |
| 27 | |
| 28 | To set it up: |
| 29 | |
| 30 | 1. Authenticate with OIDC (for Vercel deployments) or get an AI Gateway API key. |
| 31 | 2. Provide it to your app via the `AI_GATEWAY_API_KEY` environment variable. |
| 32 | 3. Reference models with `provider/model` strings. |
| 33 | |
| 34 | For exact setup, authentication, and usage, read the bundled guide and the AI Gateway docs. |
| 35 | |
| 36 | ### Choosing a Model |
| 37 | |
| 38 | Never use model IDs from memory — models are released and retired frequently. Fetch the current list before writing code that references a model. Do not truncate the list (e.g. with `head`) so you can find the newest models: |
| 39 | |
| 40 | ```bash |
| 41 | # All available models |
| 42 | curl -s https://ai-gateway.vercel.sh/v1/models | jq -r '.data[].id' |
| 43 | |
| 44 | # Filter by provider (e.g. anthropic, openai, google) |
| 45 | curl -s https://ai-gateway.vercel.sh/v1/models | jq -r '[.data[] | select(.id | startswith("anthropic/")) | .id] | reverse | .[]' |
| 46 | ``` |
| 47 | |
| 48 | When multiple versions of a model exist, prefer the one with the highest version number. |
| 49 | |
| 50 | ## Building and Consuming Agents |
| 51 | |
| 52 | Use the SDK's built-in agent abstraction (such as `ToolLoopAgent`) rather than hand-rolling tool-calling loops. For end-to-end type safety, infer the UI message type from your agent definition when consuming it on the client (e.g. with `useChat`). Consuming an agent is framework-specific: check `package.json` to detect the stack, then follow the matching quickstart. |
| 53 | |
| 54 | Look up the current agent, tool, and type-safety APIs in the bundled docs (`node_modules/ai/docs/`, especially the agents section) or at https://ai-sdk.dev/docs. |
| 55 | |
| 56 | ## DevTools |
| 57 | |
| 58 | AI SDK DevTools captures your AI SDK calls - requests, responses, tool calls, token usage, and multi-step runs - so you can inspect exactly what your agents do. Use it while developing to debug generations. It is a separate package and is intended for local development only. |
| 59 | |
| 60 | For setup instructions, read the bundled DevTools documentation. |
| 61 | |
| 62 | ## Keep the SDK Current |
| 63 | |
| 64 | Outdated installs are the most common source of errors. Compare the installed version against the latest: |
| 65 | |
| 66 | - **Installed:** the `version` field in `node_modules/ai/package.json`. |
| 67 | - **Latest:** run `npm vi |