Add a new language model to the Giselle codebase. Use when the user wants to add, register, or integrate a new LLM model (OpenAI, Anthropic, Google) into the system.
Content & Writing
488 Stars
104 Forks
Updated Jan 15, 2026, 08:09 AM
Why Use This
This skill provides specialized capabilities for giselles-ai's codebase.
Use Cases
Developing new features in the giselles-ai repository
Refactoring existing code to follow giselles-ai standards
Understanding and working with giselles-ai's codebase structure
---
name: add-model
description: Add a new language model to the Giselle codebase. Use when the user wants to add, register, or integrate a new LLM model (OpenAI, Anthropic, Google) into the system.
---
# Add Language Model
Add a new language model to the Giselle codebase with full system consistency.
## Quick Start
1. Gather model specifications (or search web for official docs)
2. Update files in order listed below
3. Run validation: `pnpm format && pnpm build-sdk && pnpm check-types && pnpm tidy && pnpm test`
## Required Information
Before starting, collect:
- **Provider**: openai, anthropic, or google
- **Model ID**: e.g., "gpt-5.3", "claude-opus-5"
- **Context window**: Maximum input tokens
- **Max output tokens**: Maximum output tokens
- **Knowledge cutoff**: Date of training data cutoff
- **Pricing**: Input/output cost per million tokens
- **Capabilities**: Reasoning, image input, web search, etc.
- **Configuration options**: Reasoning effort levels, verbosity, temperature, etc.
## Files to Update (In Order)
### 1. Language Model Registry (Primary Definition)
**File**: `packages/language-model-registry/src/{provider}.ts`
Add the model definition. See [REGISTRY.md](REGISTRY.md) for detailed examples.
### 2. Language Model Package
**File**: `packages/language-model/src/{provider}.ts`
Update three locations:
1. Add to the enum (e.g., `OpenAILanguageModelId`)
2. Add regex catch for dated versions in `.catch()` block
3. Create model instance and add to `models` array
See [LANGUAGE-MODEL.md](LANGUAGE-MODEL.md) for detailed examples.
### 3. Model Pricing
**File**: `packages/language-model/src/costs/model-prices.ts`
Add pricing entry to the appropriate table. See [PRICING.md](PRICING.md).
### 4. AI SDK Transformation
**File**: `packages/giselle/src/generations/v2/language-model/transform-giselle-to-ai-sdk.ts`
Add model ID to the switch case for the provider.
### 5. Node Conversion
**File**: `packages/node-registry/src/node-conversion.ts`
Add bidirectional conversion:
- Short to full: `case "model-id": return "provider/model-id";`
- Full to short: `case "provider/model-id": return "model-id";`
### 6. UI Configuration (If Needed)
**File**: `internal-packages/workflow-designer-ui/src/editor/properties-panel/text-generation-node-properties-panel/model/{provider}.tsx`
Update if model has unique configuration options. See [UI-CONFIG.md](UI-CONFIG.md).
## Validation Checklist
Run these commands in order (all must pass):
```bash
pnpm format # Format code
pnpm build-sdk # Build SDK packages
pnpm check-types # Verify types
pnpm tidy # Check for unused code
pnpm test # Run all tests
```
## Provider-Specific Patterns
See detailed patterns for each provider:
- [OPENAI.md](OPENAI.md) - OpenAI models (GPT-5.x family)
- [ANTHROPIC.md](ANTHROPIC.md) - Anthropic models (Claude family)
- [GOOGLE.md](GOOGLE.md) - Google models (Gemini family)