Manages AI SDK model configurations - updates packages, identifies missing models, adds new models with research, and updates documentation
This skill helps maintain AI SDK model configurations in the Tambo Cloud codebase. It automates the process of keeping model definitions up-to-date with the latest AI SDK releases.
Use this skill when:
packages/core/src/llms/models/*.ts - Model configuration filespackages/backend/package.json - AI SDK dependencies (source of truth for versions)docs/content/docs/models/*.mdx - Model documentationREADME.md - Main documentation fileCheck current versions and update to latest:
cd packages/backend
npm outdated | grep '@ai-sdk'
npm install @ai-sdk/openai@latest @ai-sdk/google@latest @ai-sdk/groq@latest @ai-sdk/anthropic@latest @ai-sdk/mistral@latest
For each provider, inspect the TypeScript definitions:
# Check what models are in the SDK types
cat node_modules/@ai-sdk/openai/dist/index.d.ts | grep 'type.*ModelId'
cat node_modules/@ai-sdk/google/dist/index.d.ts | grep 'type.*ModelId'
cat node_modules/@ai-sdk/groq/dist/index.d.ts | grep 'type.*ModelId'
Compare against current model configurations in:
packages/core/src/llms/models/openai.tspackages/core/src/llms/models/gemini.tspackages/core/src/llms/models/groq.tspackages/core/src/llms/models/anthropic.tspackages/core/src/llms/models/mistral.tsUse the researcher subagent to gather information about each missing model:
Launch a researcher subagent to find:
- Official documentation link
- Model capabilities (reasoning, vision, function calling, etc.)
- Context window size (inputTokenLimit)
- Pricing tier
- Best use cases
- Release date and status (experimental, stable, deprecated)
The researcher subagent has access to web search and can efficiently gather this information for multiple models in parallel.
Present findings:
Found the following new models in updated AI SDK packages:
OpenAI:
- gpt-6-preview (200k context, experimental reasoning model)
- gpt-4.2-turbo (1M context, improved function calling)
Google:
- gemini-3.5-pro (2M context, advanced reasoning)
Which models would you like to add? (all/none/specific)
Wait for user response before proceeding.
Consider launching parallel subagents to add models to each provider file:
For models spread across multiple providers (OpenAI, Google, Groq), launch separate subagents to edit each file concurrently. This is faster than doing them sequentially.
For each model being added, ensure these required fields:
apiName: Exact model ID string from SDKdisplayName: Human-friendly namestatus: "untested" | "tested" | "known-issues"notes: Brief description of capabilities and use casesdocLink: Official provider documentation URLtamboDocLink: "https://docs.tambo.co"inputTokenLimit: Context window size in tokensmodelSpecificParams: Any special parameters (reasoning, thinking, etc.)Follow existing patterns in each file and ensure model IDs match SDK type definitions exactly.
Example:
"gpt-6-preview": {
apiName: "gpt-6-preview",
displayName: "gpt-6-preview",
status: "untested",
notes: "Experimental next-generation reasoning model with extended context",
docLink: "https://platform.openai.com/docs/models/gpt-6-preview",
tamboDocLink: "https://docs.tambo.co",
inputTokenLimit: 200000,
modelSpecificParams: reasoningParameters,
},
Run type checking to ensure all model IDs are valid:
cd packages/core
npm run check-types
If there are type errors, fix model IDs to match SDK definitions exactly.
Consider using subagents to update documentation in parallel:
If updating multiple documentation files, launch parallel subagents to handle:
Before completing:
cd packages/core
npm run lint
npm run check-types
npm run test
Create a PR with proper conventional commit format:
gh pr create --title "feat(models): add [model names] support" --body "$(cat <<'EOF'
Updated AI SDK packages and added support for newly released models:
Models added:
- [list models here]
Package updates:
- @ai-sdk/openai: X.X.X → X.X.X
- @ai-sdk/groq: X.X.X → X.X.X
All type checks passing, documentation updated.
EOF
)"
PR title format: feat(models): add [model names] support
Use feat(models): for new models or deps(core): for package updates only.
If you encounter:
notes field