AD

adding-models

Guidance on integrating new LLM models into Letta Code, including model configuration and validation.

Install

mkdir -p .claude/skills/adding-models && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4248" && unzip -o skill.zip -d .claude/skills/adding-models && rm skill.zip

Installs to .claude/skills/adding-models

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Guide for adding new LLM models to Letta Code. Use when the user wants to add support for a new model, needs to know valid model handles, or wants to update the model configuration. Covers models.json configuration, CI test matrix, and handle validation.
254 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Beginner

Key capabilities

  • Query the Letta API for available model handles
  • Add new model entries to src/models.json
  • Configure model-specific settings like context window and temperature
  • Test new models using a headless command
  • Include models in the CI test matrix for automated testing
  • Understand automatic toolset assignment based on provider prefixes

How it works

The skill guides the user to query the Letta API for valid model handles, then add these details to the models.json configuration file, and optionally update the CI test matrix.

Inputs & outputs

You give it
New LLM model details (handle, label, description, optional settings)
You get back
Updated models.json, optionally updated ci.yml, and a tested model

When to use adding-models

  • Add new LLM provider
  • Update model configuration
  • Validate model handle support
  • Add model to CI test matrix

About this skill

Adding Models

This skill guides you through adding a new LLM model to Letta Code.

Quick Reference

Key files:

  • src/agent/remote-model-catalog.ts - Runtime catalog loading and projection
  • src/agent/model-catalog.ts - Model lookup and compatibility aliases
  • .github/workflows/ci.yml - CI test matrix (optional)
  • src/tools/manager.ts - Toolset detection logic (rarely needed)

Workflow

Step 1: Find Valid Model Handles

First identify the agent source. These inputs are deliberately different:

Agent sourceRows shownLabels, presets, and capabilities
Cloud hostedGET /v1/models/catalog onlyGET /v1/models/catalog
Cloud organization BYOKBYOK rows from GET /v1/modelsMatch to catalog metadata using provider metadata and model name; retain the BYOK handle for selection
Localpi-ai inventorypi-ai metadata
Custom App ServerServer runtime inventoryServer runtime metadata

In Cloud mode, never use base/hosted rows from GET /v1/models to filter, supplement, delay, or provide a fallback for the hosted catalog. This once made GPT-4o appear in a selector even though the Cloud catalog deliberately omitted it. GET /v1/models remains necessary for organization-specific BYOK rows.

Query the Cloud hosted catalog to see hosted preset IDs, handles, and capabilities:

curl -s https://api.letta.com/v1/models/catalog | jq '.models[] | [.id, .handle]'

To inspect organization BYOK rows from a Cloud backend, query its model inventory and filter by provider_category:

curl -s https://api.letta.com/v1/models/ \
  | jq '.[] | select(.provider_category == "byok") | [.handle, .provider_type]'

Do not use this response as a second hosted catalog.

Common provider prefixes:

  • anthropic/ - Claude models
  • openai/ - GPT models
  • google_ai/ - Gemini models
  • google_vertex/ - Vertex AI
  • openrouter/ - Various providers

Step 2: Update the Owning Catalog

Letta Code does not bundle a model catalog:

  • Cloud hosted rows and presets come from the server's GET /v1/models/catalog response.
  • Cloud GET /v1/models contributes only organization BYOK rows to selectors.
  • Local model inventory comes from pi-ai and the active provider runtimes.

Add the model at the source that owns it. A hosted preset belongs in the server catalog. A local provider model belongs in pi-ai or that provider's discovery runtime.

Only change this repository when the model needs Letta Code-specific compatibility behavior, such as preserving an established CLI alias or recognizing a new provider for toolset selection. Keep that logic narrow and derive the handle and metadata from the runtime catalog rather than copying model definitions here.

Step 3: Test the Model

Test with headless mode:

bun run src/index.ts --new --model <model-id> -p "hi, what model are you?"

Example:

bun run src/index.ts --new --model gemini-3-flash -p "hi, what model are you?"

Step 4: Add to CI Test Matrix (Optional)

To include the model in automated testing, add it to .github/workflows/ci.yml:

# Find the headless job matrix around line 122
model: [gpt-5-minimal, gpt-4.1, sonnet-4.5, gemini-pro, your-new-model, glm-4.6, haiku]

Toolset Detection

Models are automatically assigned toolsets based on provider:

  • openai/*codex toolset
  • google_ai/* or google_vertex/*gemini toolset
  • Others → default toolset

This is handled by isGeminiModel() and isOpenAIModel() in src/tools/manager.ts. You typically don't need to modify this unless adding a new provider.

Common Issues

"Handle not found" error: The model handle is incorrect. Run the validation script to see valid handles.

Model works but wrong toolset: Check src/tools/manager.ts to ensure the provider prefix is recognized.

When not to use it

  • When the task involves modifying toolset detection logic for existing providers

Limitations

  • Toolset detection logic modification is rarely needed
  • The skill does not cover adding new providers for toolset detection

How it compares

This skill provides a structured workflow for integrating new LLM models into Letta Code, unlike manually editing configuration files without validation or testing guidance.

Compared to similar skills

adding-models side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
adding-models (this skill)18moReviewBeginner
skill-creator1284moReviewAdvanced
skill-development1710moReviewIntermediate
agent-identifier1510moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by letta-ai

View all by letta-ai

acquiring-skills

letta-ai

Guide for safely discovering and installing skills from external repositories. Use when a user asks for something where a specialized skill likely exists (browser testing, PDF processing, document generation, etc.) and you want to bootstrap your understanding rather than starting from scratch.

313

creating-skills

letta-ai

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Letta Code's capabilities with specialized knowledge, workflows, or tool integrations.

37

initializing-memory

letta-ai

Comprehensive guide for initializing or reorganizing agent memory. Load this skill when running /init, when the user asks you to set up your memory, or when you need guidance on creating effective memory blocks.

22

converting-mcps-to-skills

letta-ai

Connect to MCP (Model Context Protocol) servers and create skills for repeated use. Load when a user wants to use an MCP server, connect to external tools via MCP, or when they mention MCP, model context protocol, or specific MCP servers.

11

finding-agents

letta-ai

Find other agents on the same server. Use when the user asks about other agents, wants to migrate memory from another agent, or needs to find an agent by name or tags.

12

migrating-memory

letta-ai

Migrate memory blocks from an existing agent to the current agent. Use when the user wants to copy or share memory from another agent, or during /init when setting up a new agent that should inherit memory from an existing one.

12

You might also like

skill-creator

anthropics

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.

128200

skill-development

anthropics

This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.

17145

agent-identifier

anthropics

This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.

15122

llama-factory

zechenzhangAGI

Expert guidance for fine-tuning LLMs with LLaMA-Factory - WebUI no-code, 100+ models, 2/3/4/5/6/8-bit QLoRA, multimodal support

15112

dify-dsl-generator

wwwzhouhui

专业的 Dify 工作流 DSL/YML 文件生成器,根据用户业务需求自动生成完整的 Dify 工作流配置文件,支持各种节点类型和复杂工作流逻辑

18108

character-generator

Dexploarer

Generate complete elizaOS character configurations with personality, knowledge, and plugin setup. Triggers when user asks to "create character", "generate agent config", or "build elizaOS character"

583

Search skills

Search the agent skills registry