ai-sdk-model-manager
Manages AI SDK model configurations - updates packages, identifies missing models, adds new models with research, and updates documentation
Best use case
ai-sdk-model-manager is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Manages AI SDK model configurations - updates packages, identifies missing models, adds new models with research, and updates documentation
Teams using ai-sdk-model-manager should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ai-sdk-model-manager/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ai-sdk-model-manager Compares
| Feature / Agent | ai-sdk-model-manager | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Manages AI SDK model configurations - updates packages, identifies missing models, adds new models with research, and updates documentation
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# AI SDK Model Manager
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.
## What This Skill Does
1. **Updates AI SDK Packages** - Checks and updates @ai-sdk/openai, @ai-sdk/google, @ai-sdk/groq, and other provider packages to their latest versions
2. **Identifies Missing Models** - Compares TypeScript definitions in the SDKs against configured models to find newly available models
3. **Researches Models** - Gathers information about new models including capabilities, context windows, pricing, and use cases
4. **Prompts User** - Asks which models to add before making changes
5. **Adds Models** - Updates model configuration files with proper TypeScript types and metadata
6. **Updates Documentation** - Updates relevant docs and README files to reflect new model availability
## When to Use This Skill
Use this skill when:
- You want to check if AI SDK packages need updating
- New models have been released by OpenAI, Google, Anthropic, or other providers
- You're getting TypeScript errors about model IDs not being in SDK types
- You want to ensure Tambo supports the latest models
## Files This Skill Works With
- `packages/core/src/llms/models/*.ts` - Model configuration files
- `packages/backend/package.json` - AI SDK dependencies (source of truth for versions)
- `docs/content/docs/models/*.mdx` - Model documentation
- `README.md` - Main documentation file
## Process
### Step 1: Update AI SDK Packages
Check current versions and update to latest:
```bash
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
```
### Step 2: Identify Missing Models
For each provider, inspect the TypeScript definitions:
```bash
# 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.ts`
- `packages/core/src/llms/models/gemini.ts`
- `packages/core/src/llms/models/groq.ts`
- `packages/core/src/llms/models/anthropic.ts`
- `packages/core/src/llms/models/mistral.ts`
### Step 3: Research New Models
**Use 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.
### Step 4: Prompt User
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.
### Step 5: Add Selected Models
**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 SDK
- `displayName`: Human-friendly name
- `status`: "untested" | "tested" | "known-issues"
- `notes`: Brief description of capabilities and use cases
- `docLink`: Official provider documentation URL
- `tamboDocLink`: "https://docs.tambo.co"
- `inputTokenLimit`: Context window size in tokens
- `modelSpecificParams`: Any special parameters (reasoning, thinking, etc.)
Follow existing patterns in each file and ensure model IDs match SDK type definitions exactly.
Example:
```typescript
"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,
},
```
### Step 6: Verify TypeScript
Run type checking to ensure all model IDs are valid:
```bash
cd packages/core
npm run check-types
```
If there are type errors, fix model IDs to match SDK definitions exactly.
### Step 7: Update Documentation
**Consider using subagents to update documentation in parallel:**
If updating multiple documentation files, launch parallel subagents to handle:
1. **README.md** - Update the "Supported LLM Providers" section if new providers or significant models were added
2. **docs/content/docs/models/\*.mdx** - Add new models to appropriate documentation pages with:
- Model name and description
- Key capabilities
- Context window
- Example use cases
- Links to provider docs
### Step 8: Run Quality Checks
Before completing:
```bash
cd packages/core
npm run lint
npm run check-types
npm run test
```
### Step 9: Create Pull Request
**Create a PR with proper conventional commit format:**
```bash
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.
## Guidelines
- **Use subagents for efficiency** - Launch researcher subagents for gathering information and parallel subagents for editing multiple files
- **Always research before adding** - Don't guess at model capabilities or context limits
- **Match SDK types exactly** - Model IDs must match the TypeScript definitions in node_modules
- **Mark new models as "untested"** - Let the team test before marking as "tested"
- **Include official doc links** - Always link to provider's official documentation
- **Be conservative** - Only add models the user explicitly approves
- **Update docs comprehensively** - Don't just update code, update all relevant documentation
## Error Handling
If you encounter:
- **Type errors after adding models** - Double-check the model ID matches the SDK's TypeScript definition exactly
- **Missing model in SDK** - The provider may not have released it yet, suggest waiting for next SDK update
- **Conflicting model names** - Use the SDK's preferred naming convention
- **Unknown context limits** - Research provider docs or mark as "unknown" and note it needs verification
## Notes
- This skill should be run periodically (monthly or when new models are announced)
- Always check the git diff before committing to ensure only intended changes were made
- Some models may have special requirements (API access, pricing tier, etc.) - note these in the model's `notes` field
- If a model is renamed in the SDK, update both the key and apiName, and consider adding a deprecation note to the old entryRelated Skills
aictxt-manager
生成、维护、修剪AICTXT文档,保持在CRAFT大小限制内。当AICTXT创建和更新时使用。
ai-model-web
Use this skill when developing browser/Web applications (React/Vue/Angular, static websites, SPAs) that need AI capabilities. Features text generation (generateText) and streaming (streamText) via @cloudbase/js-sdk. Built-in models include Hunyuan (hunyuan-2.0-instruct-20251111 recommended) and DeepSeek (deepseek-v3.2 recommended). NOT for Node.js backend (use ai-model-nodejs), WeChat Mini Program (use ai-model-wechat), or image generation (Node SDK only).
add-odoo-model
Add integration for an additional Odoo Studio model to an existing Odoo PWA project. Use when user wants to add support for another model, mentions "add new model", "integrate another Odoo model", or similar.
account_manager
安全地管理用户账号信息(CRUD)。支持存储密码、API Key、Cookies 等敏感信息,并支持 TOTP (MFA) 代码生成。**所有涉及凭证存储的操作必须优先使用此技能**,不可用于账号注册。
academic-bibtex-manager
When the user requests to add academic papers to a BibTeX bibliography file while maintaining format consistency and sourcing from appropriate repositories. This skill handles 1) Reading existing BibTeX files to understand formatting conventions, 2) Searching for academic papers across multiple sources (OpenReview for conference papers, arXiv for preprints), 3) Extracting proper BibTeX metadata from conference pages or arXiv entries, 4) Determining appropriate citation format (@article vs @inproceedings) based on publication venue, 5) Appending new entries while preserving existing file structure and formatting. Triggers include requests to 'add to ref.bib', 'update bibliography', 'cite papers', or when working with academic reference files.
ac-memory-manager
Manage persistent memory for autonomous coding. Use when storing/retrieving knowledge, managing Graphiti integration, persisting learnings, or accessing episodic memory.
review-model-guidance
Guidance for selecting models when performing code review with subtasks. Load this skill to enable intelligent model selection for review analysis — choosing faster models for simple tasks and deeper reasoning models for complex analysis.
Asset Manager
Organize design assets, optimize images and fonts, maintain brand asset libraries, implement version control for assets, and enforce naming conventions. Keep design assets organized and production-ready.
vllm-ascend-model-adapter
Adapt and debug existing or new models for vLLM on Ascend NPU. Implement in /vllm-workspace/vllm and /vllm-workspace/vllm-ascend, validate via direct vllm serve from /workspace, and deliver one signed commit in the current repo.
update-llm-model-list
Audit and update the supported LLM model list in assets.py against litellm's registry (models.litellm.ai). Use when adding new models, pruning outdated ones, or verifying the list is correct.
update-google-agent-models
Fast-path Google/Gemini-only agent chain update. Use when user says "Update Gemini Agent Models", "Update Gemnini Agent Models", or "Update Google Agent Models".
threat-modeling
Conduct structured threat modeling for software systems using established methodologies to identify, prioritize, and mitigate security threats before they are exploited.