Skip to content
Back to skills

Add Model

ASecurity

Add a new AI model to a provider (anthropic, openai, groq, cerebras). Use when a new model is announced and needs to be supported in aico.

  • 57 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
ai-agentsgogitapidocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill add-model --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Add Model?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Add Model
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-add-model/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-add-model)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: add-model
description: Add a new AI model to a provider (anthropic, openai, groq, cerebras). Use when a new model is announced and needs to be supported in aico.
argument-hint: "[provider:model-id]"
---

# Add Model Skill

Add a new AI model to the aico codebase.

## Arguments

`$ARGUMENTS` should be in the format `provider:model-id` (e.g. `anthropic:claude-opus-4-6`).
If only a model ID is given, infer the provider from the model name prefix:
- `claude-*` → `anthropic`
- `gpt-*`, `o1*`, `o3*` → `openai`
- `llama*`, `mixtral*` → `groq`
- Other → ask the user

## Prerequisite: Gather Model Information

Before writing any code, gather the following from the user or from provided reference URLs:

1. **Model ID** (e.g. `claude-opus-4-6`)
2. **Description** - what the model is best at
3. **Pricing** - input/output per MTok
4. **Context window** and **max output tokens**
5. **Notable capabilities** (e.g. extended thinking, vision, tool calling)
6. **Predecessor model to deprecate** (optional)

If the user provides a reference URL, fetch it to extract this information.

### Provider Reference URLs

When the user does not provide a reference URL, consult the official documentation for the relevant provider:

| Provider  | Models Documentation                                              | Pricing Documentation             |
|-----------|-------------------------------------------------------------------|-----------------------------------|
| Anthropic | https://platform.claude.com/docs/en/about-claude/models/overview  | https://claude.com/pricing#api    |
| OpenAI    | https://platform.openai.com/docs/models                           | https://openai.com/api/pricing/   |
| Groq      | https://console.groq.com/docs/models                              | https://groq.com/pricing/         |
| Cerebras  | https://inference-docs.cerebras.ai/models/overview                | https://www.cerebras.ai/pricing   |

Fetch the relevant page(s) to extract:
- The exact model ID string used in API calls
- Context window size and max output tokens
- Input/output pricing per million tokens
- Release date and predecessor model (if applicable)
- Special capabilities or limitations

## Step-by-step Procedure

### 1. Create the model Go file

Create a new file at `internal/providers/<provider>/<model_file_name>.go`.

The file name convention uses underscores for separators:
- `claude-opus-4-6` → `claude_opus_4_6.go`
- `gpt-4o` → `gpt4o.go`
- `llama-3.3-70b-versatile` → `llama3_3_70b.go`

Use the existing model files in the same provider as a template. Each provider has a different pattern:

#### Anthropic models (`internal/providers/anthropic/`)

- Uses `github.com/anthropics/anthropic-sdk-go` SDK
- Struct has `client *anthropic.Client` and `opts []anthropicopt.RequestOption`
- Constructor takes `*anthropic.Client`
- Uses `buildRequestBody()` helper and `m.client.Messages.New()` / `m.client.Messages.NewStreaming()`
- Must define a `ModelName` constant: `const ModelNameXxx = "model-id"`

Template reference: any existing `claude_*.go` file in the same directory.

#### OpenAI models (`internal/providers/openai/`)

- Uses the in-house `openai.APIClient`
- Constructor takes `apiKey string`
- Uses `BuildChatRequest()` and `m.client.DoPost()` / `m.client.DoStream()`

Template reference: `gpt4o.go`

#### Groq / Cerebras models (OpenAI-compatible)

- Uses `openai.APIClient` from the openai package
- Constructor takes `apiKey string`
- Delegates to `openai.GenerateContent()` / `openai.GenerateContentStream()` with the provider's `Endpoint`

Template reference: any model file in `internal/providers/groq/` or `internal/providers/cerebras/`

### 2. Register the model in the provider file

Edit the provider's main file (`internal/providers/<provider>/<provider>.go` or `anthropic.go`):

1. **`AvailableModels()`** - Add the new model struct to the returned slice
2. **`selectModel()`** - Add a `case` for the model ID
3. **`NewGenerativeModel()`** - Add a `case` for the model ID with the constructor

Place the new model at an appropriate position (typically at the top for the latest/best model).

### 3. Update the doc comment

Update the documentation comment block at the top of the provider file to include the new model's description and pricing.

### 4. Deprecate predecessor (if requested)

If the user requests deprecating an older model:

1. Prefix its `Description()` return with `[Deprecated] <Model Name> - superseded by <New Model>.`
2. Move its entry in the doc comment to the bottom with `(Deprecated)` suffix
3. Keep all code functional — do NOT remove the model

### 5. Build and test

Run:
```
go build ./...
go test ./...
```

### 6. Verify with CLI

Run and show the user the output of:
```
go run ./cmd/aico models
go run ./cmd/aico models describe <new-model-id>
```

If a predecessor was deprecated, also show:
```
go run ./cmd/aico models describe <deprecated-model-id>
```

### 7. Commit

Follow the Conventional Commits format defined in CLAUDE.md:
```
feat(api): add <Model Name> support
```

If a predecessor was deprecated, mention it:
```
feat(api): add <Model Name> support and deprecate <Old Model>
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.