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.
Installs into .claude/skills of the current project.
Are you the author of X Openai Ai Sdk 1fab0c2?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/geruyang-x-openai-ai-sdk-1fab0c2-agent-skills-library)
---
name: x-openai-ai-sdk-1fab0c2
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.
metadata:
priority: '8'
docs: '[''https://sdk.vercel.ai/docs'', ''https://sdk.vercel.ai/docs/reference'']'
sitemap: https://sdk.vercel.ai/sitemap.xml
pathPatterns: '[''app/api/chat/**'', ''app/api/completion/**'', ''src/app/api/chat/**'', ''src/app/api/completion/**'', ''pages/api/chat.*'', ''pages/api/chat/**'', ''pages/api/completion.*'', ''pages/api/completion/**'', ''src/pages/api/chat.*'', ''src/pages/api/chat/**'', ''src/pages/api/completion.*'', ''src/pages/api/completion/**'', ''lib/ai/**'', ''src/lib/ai/**'', ''lib/ai.*'', ''src/lib/ai.*'', ''ai/**'', ''apps/*/app/api/chat/**'', ''apps/*/app/api/completion/**'', ''apps/*/src/app/api/chat/**'', ''apps/*/src/app/api/completion/**'', ''apps/*/lib/ai/**'', ''apps/*/src/lib/ai/**'', ''lib/agent.*'', ''src/lib/agent.*'', ''app/actions/chat.*'', ''src/app/actions/chat.*'']'
importPatterns: '[''ai'', ''@ai-sdk/*'']'
bashPatterns: '[''\\bnpm\\s+(install|i|add)\\s+[^\\n]*\\bai\\b'', ''\\bpnpm\\s+(install|i|add)\\s+[^\\n]*\\bai\\b'', ''\\bbun\\s+(install|i|add)\\s+[^\\n]*\\bai\\b'', ''\\byarn\\s+add\\s+[^\\n]*\\bai\\b'', ''\\bnpm\\s+(install|i|add)\\s+[^\\n]*@ai-sdk/'', ''\\bpnpm\\s+(install|i|add)\\s+[^\\n]*@ai-sdk/'', ''\\bbun\\s+(install|i|add)\\s+[^\\n]*@ai-sdk/'', ''\\byarn\\s+add\\s+[^\\n]*@ai-sdk/'', ''\\bnpx\\s+@ai-sdk/devtools\\b'', ''\\bnpx\\s+@ai-sdk/codemod\\b'', ''\\bnpx\\s+mcp-to-ai-sdk\\b'']'
promptSignals: '{''phrases'': [''ai sdk'', ''vercel ai'', ''generatetext'', ''streamtext''], ''allOf'': [[''streaming'', ''generation''], [''structured'', ''output'']], ''anyOf'': [''usechat'', ''usecompletion'', ''tool calling'', ''embeddings''], ''noneOf'': [''openai api directly''], ''minScore'': 6}'
---
### 导出副本边界与技能别名
迁移、安装、修复和经验回写只作用于当前加载的目标宿主技能副本。原 Codex 技能/MCP、下载的源码和 `original-skills` 均为来源材料,不因执行本副本而写入;只有用户另行明确要求配置 Codex 产品本身时,才按该产品流程处理指定目标。脚本需要安装目录或状态目录时,显式提供目标路径;不得从 `CODEX_HOME` 隐式推断写入位置。
跨技能名称可能沿用源库别名。先查 [技能别名表](../../skill-aliases.json),优先选择同来源、同插件的条目,再使用其 `id` 调用或读取对应入口;不得假定旧 `$skill`、`superpowers:skill` 名称在新宿主直接注册。不能确定目标时先核对,不替换真实产品命令或 Shell 环境变量。
## 跨宿主使用约定
本副本供支持 Agent Skills 的客户端使用。先检查当前宿主实际提供的工具、权限和已连接服务,再执行正文工作流。原文中的宿主工具标识是能力参考;只有实际发现该工具时才可调用,其他宿主应使用经核验的等价 MCP、CLI 或 API。没有等价能力的步骤必须报告不可用,不能虚构调用或完成状态。
技能资源以本技能目录为基准;输出写入当前项目中用户指定的位置。通过技能名称或自然语言触发,具体快捷命令由宿主决定。涉及真实产品、模型 API、协议字段和官方网址的名称保持原意。授权、审批、隐私和工具范围限制在迁移后仍然有效;不得为兼容而扩大权限。具体依赖与迁移说明见同目录 `PORTABILITY.md`。
## Prerequisites
Before searching docs, inspect the project’s resolved `ai` package location (normally `node_modules/ai/docs/`). If absent, discover the project package manager and authorized installation capability; install only `ai` when permitted. If installation is unavailable, use the official documentation search/read path below and report local runtime/typechecking as blocked.
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:**
1. Resolve the installed `ai` package, or follow the documented official-docs fallback (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, fetch `https://ai-gateway.vercel.sh/v1/models` using an available authorized HTTP/MCP client and parse its JSON. When curl and jq exist, the reference command is `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 the project typecheck with the discovered runtime/package manager. If unavailable, report verification as blocked; do not claim a passing result.
9. **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
1. Search: `https://ai-sdk.dev/api/search-docs?q=your_query`
2. Fetch `.md` URLs from results (e.g., `https://ai-sdk.dev/docs/agents/building-agents.md`)
## When Typecheck Fails
**Before searching source code**, grep [Common Errors](references/common-errors.md) for the failing property or function name. Many type errors are caused by deprecated APIs documented there.
If not found in common-errors.md:
1. Search `node_modules/ai/src/` and `node_modules/ai/docs/`
2. 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](references/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](references/type-safe-agents.md).
### Consuming Agents (Framework-Specific)
Before implementing agent consumption:
1. Check `package.json` to detect the project's framework/stack
2. Search documentation for the framework's quickstart guide
3. Follow the framework-specific patterns for streaming, API routes, and client integration
## References
- [Common Errors](references/common-errors.md) - Renamed parameters reference (parameters → inputSchema, etc.)
- [AI Gateway](references/ai-gateway.md) - Gateway setup and usage
- [Type-Safe Agents with useChat](references/type-safe-agents.md) - End-to-end type safety with InferAgentUIMessage
- [DevTools](references/devtools.md) - Set up local debugging and observability (development only)
## Related Skills
Resolve these companion capabilities by declared name in the current skill catalog; the upstream shortcut syntax is not a callable API. If absent, report the missing workflow and use verified official documentation where sufficient.
- **AI Elements component library for AI interfaces (Message, Conversation, Tool components)** → `ai-elements`
- **Manual rendering patterns for custom generative UIs** → `json-render`