/add-function-examples
Guide for adding new AI function examples, for testing specific features against the actual provider APIs.
Claude Code
$ npx -y skills add vercel/ai --skill add-function-examples --agent claude-code
Codex
$ npx skills add vercel/ai --skill add-function-examples -a codex -y
Cursor
$ npx skills add vercel/ai --skill add-function-examples -a cursor -y
Gemini CLI
$ npx skills add vercel/ai --skill add-function-examples -a gemini-cli -y
GitHub Copilot
$ npx skills add vercel/ai --skill add-function-examples -a github-copilot -y
OpenCode
$ npx skills add vercel/ai --skill add-function-examples -a opencode -y
Windsurf
$ npx skills add vercel/ai --skill add-function-examples -a windsurf -y
SKILL.md
add-function-examples.SKILL.mdname: add-function-examples
description: Guide for adding new AI function examples, for testing specific features against the actual provider APIs.
metadata:
internal: true
Adding Function Examples
Review the changes in the current branch, and identify new or modified behavior that would benefit from a reusable example in the `examples/ai-functions` directory. These examples are used for testing specific features against the actual provider APIs, and can also serve as documentation for users.
For bug reproductions, follow the [bug-fix workflow in AGENTS.md](../../AGENTS.md#bug-fixes): reproduce the failure end-to-end with a temporary script outside the checkout, then rerun it to verify the fix. Build and use the checkout's local packages for both runs. Publish reproduction-only code **only in the PR description's End-to-End Verification section**, in a collapsible `<details>` block with the complete runnable script, commands, and observed before/after results, following `.github/pull_request_template.md`. **Never commit reproduction-only files**, including under `examples/ai-functions` or elsewhere in the repository. Regression tests and reusable examples that demonstrate supported usage (including fixed behavior) still belong in the repository.
Place reusable examples under `examples/ai-functions/src/<function>/<provider>/`, such as `examples/ai-functions/src/stream-text/openai/tool-call.ts`. Use `basic.ts` for the provider entry example and descriptive `kebab-case.ts` names for additional examples. Do not create flat provider files such as `src/stream-text/openai.ts`.
Determine for which kind of model and top-level function the example should be added. For a language model, the example should be added in two variants, one for `generateText` and one for `streamText`. For any other models kinds, add the example for the relevant top-level function (e.g. `generateImage`, `generateSpeech`).
After creating the example, run `pnpm type-check:full`; fix any errors encountered.
Read more
name: add-function-examples description: Guide for adding new AI function examples, for testing specific features against the actual provider APIs. metadata: internal: true
Adding Function Examples
Review the changes in the current branch, and identify new or modified behavior that would benefit from a reusable example in the `examples/ai-functions` directory. These examples are used for testing specific features against the actual provider APIs, and can also serve as documentation for users.
For bug reproductions, follow the [bug-fix workflow in AGENTS.md](../../AGENTS.md#bug-fixes): reproduce the failure end-to-end with a temporary script outside the checkout, then rerun it to verify the fix. Build and use the checkout's local packages for both runs. Publish reproduction-only code **only in the PR description's End-to-End Verification section**, in a collapsible `<details>` block with the complete runnable script, commands, and observed before/after results, following `.github/pull_request_template.md`. **Never commit reproduction-only files**, including under `examples/ai-functions` or elsewhere in the repository. Regression tests and reusable examples that demonstrate supported usage (including fixed behavior) still belong in the repository.
Place reusable examples under `examples/ai-functions/src/<function>/<provider>/`, such as `examples/ai-functions/src/stream-text/openai/tool-call.ts`. Use `basic.ts` for the provider entry example and descriptive `kebab-case.ts` names for additional examples. Do not create flat provider files such as `src/stream-text/openai.ts`.
Determine for which kind of model and top-level function the example should be added. For a language model, the example should be added in two variants, one for `generateText` and one for `streamText`. For any other models kinds, add the example for the relevant top-level function (e.g. `generateImage`, `generateSpeech`).
After creating the example, run `pnpm type-check:full`; fix any errors encountered.
The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and agents
Other skills on ai.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about add-function-examples.
- Which coding agents can use add-function-examples?
- add-function-examples installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

