diff --git a/skills/ai-sdk/SKILL.md b/skills/ai-sdk/SKILL.md index f233ec4..b157403 100644 --- a/skills/ai-sdk/SKILL.md +++ b/skills/ai-sdk/SKILL.md @@ -1,6 +1,6 @@ --- name: ai-sdk -description: Vercel AI SDK expert guidance. Use when building AI-powered features — chat interfaces, text generation, structured output, tool calling, agents, MCP integration, streaming, embeddings, reranking, image generation, or working with any LLM provider. +description: "Vercel AI SDK expert guidance. Use when building AI-powered features with the AI SDK — chat interfaces, text generation, structured output, tool calling, agents, MCP integration, streaming, embeddings, reranking, image generation, or working with LLM providers through AI SDK provider packages." metadata: priority: 8 docs: @@ -314,25 +314,18 @@ chainTo: ## Prerequisites -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`). +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`). Provider and client packages (e.g., `@ai-sdk/openai`, `@ai-sdk/react`) should be installed later when needed. -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. +## Always Verify Against Source -## Critical: Do Not Trust Internal Knowledge +AI SDK APIs change between major versions — never rely on training data for API signatures or patterns. -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:** - -1. Ensure `ai` package is installed (see Prerequisites) -2. Search `node_modules/ai/docs/` and `node_modules/ai/src/` for current APIs -3. If not found locally, search ai-sdk.dev documentation (instructions below) -4. Never rely on memory - always verify against source code or docs -5. **`useChat` has changed significantly** - check [Common Errors](references/common-errors.md) before writing client code -6. 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](references/ai-gateway.md) for usage details. -7. **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 | .[]'` (replacing `provider` with the relevant provider like `anthropic`, `openai`, or `google`) to get the full list with newest models first. Use the model with the highest version number (e.g., `claude-sonnet-4-5` over `claude-sonnet-4` over `claude-3-5-sonnet`). -8. Run typecheck after changes to ensure code is correct -9. **Be minimal** - Only specify options that differ from defaults. When unsure of defaults, check docs or source rather than guessing or over-specifying. +1. Search `node_modules/ai/docs/` and `node_modules/ai/src/` for current APIs +2. If not found locally, search ai-sdk.dev documentation (instructions below) +3. Check [Common Errors](references/common-errors.md) before writing client code — `useChat` changed significantly in v6 +4. Use the Vercel AI Gateway as the default provider — see [AI Gateway Reference](references/ai-gateway.md) for setup, model IDs, and authentication +5. Run typecheck after changes to catch stale API usage +6. Only specify options that differ from defaults — check docs or source when unsure If you cannot find documentation to support your answer, state that explicitly.