Skill: chandika/sonnet-model-router (version 2.2.0)

--- name: model-router description: Self-aware multi-provider model routing for OpenClaw. Auto-detects your available models, recommends the best routing mode, and adapts per task. Claude, Gemini, GPT, DeepSeek — benchmarks are routing tables, not leaderboards. version: 2.2.0 homepage: https://github.com/chandika/openclaw-model-router metadata: {"clawdbot":{"emoji":"🧭"}} --- # Model Router for OpenClaw Route the right model to the right job. Auto-detects what you have, tells you what to use, adapts when you say "work harder" or "save money." ## Security & Privacy - **This skill does NOT read, store, or transmit API keys or credentials.** It only reads provider *names* and model IDs from your gateway config to determine what's available. - **No automatic scanning.** All model detection and web searches are user-triggered only. The skill never runs on load or heartbeat unless you explicitly ask. - **Web searches are used** to fetch public benchmark data and pricing from model card pages when you add a new provider. This is outbound network activity you should expect. - **Local state:** The skill writes `model-registry.json` to your workspace (benchmark scores, pricing, routing rules). No secrets are stored in this file. ## Step 0: Model Registry (Self-Learning) This skill maintains a **living model registry** at `model-registry.json` in the workspace. This is how the router learns about new models automatically. ### Registry File Format ```json { "lastScan": "2026-02-18T08:00:00Z", "models": { "anthropic/claude-opus-4-6": { "provider": "anthropic", "name": "Claude Opus 4.6", "addedAt": "2026-02-18", "pricing": { "input": 15.00, "output": 75.00, "unit": "1M tokens" }, "context": 200000, "strengths": ["deep reasoning", "novel problems", "hard search", "complex coding"], "weaknesses": ["expensive", "slower"], "benchmarks": { "swe-bench": 80.8, "osworld": 72.7, "arc-agi-2": 75.2, "gpqa-diamond": 74.5, "gdpval-aa": 1559, "hle": 26.3 }, "routeTo": ["architecture", "deep-debugging", "novel-reasoning", "hard-search"], "tier": "premium" } }, "routingRules": { "computer-use": "anthropic/claude-sonnet-4-6", "deep-reasoning": "anthropic/claude-opus-4-6", "office-finance": "anthropic/claude-sonnet-4-6", "standard-coding": "anthropic/claude-sonnet-4-6", "drafts-summaries": "cheapest-available", "hard-coding": "anthropic/claude-opus-4-6" } } ``` ### New Model Detection Flow **When to scan:** Only when the user explicitly asks (e.g., "check for new models," "scan models," "what models do I have"). Never on skill load. Never on heartbeat. **How it works:** 1. **Read current config** — `gateway config.get` to get all configured providers and models 2. **Diff against registry** — compare config models vs `model-registry.json` 3. **For each NEW model found:** a. **Fetch the model card** — web search for `"[model name] benchmarks pricing model card [year]"` b. **Extract key data:** - Pricing (input/output per 1M tokens) - Context window size - Benchmark scores (prioritize: SWE-bench, OSWorld, GPQA, ARC-AGI-2, GDPval-AA, HLE, MATH-500) - Strengths and weaknesses from reviews c. **Classify the model** into a tier: - `premium` — $10+ per 1M input (Opus-class) - `mid` — $1-10 per 1M input (Sonnet, GPT-4o, Gemini Pro class) - `economy` — $0.10-1 per 1M input (Flash, DeepSeek class) - `free` — free tier or negligible cost d. **Determine routing slots** — based on benchmarks, where does this model beat existing options? - Compare each benchmark score against current best-in-slot - If new model beats current router choice on a benchmark by >3pts, flag it - If new model is cheaper AND within 2pts, flag it as cost-efficient alternative e. **Update registry** — write model entry to `model-registry.json` f. **Notify user:** ``` 🧭 New model detected: [model name] Provider: [provider] Pricing: $X input / $Y output per 1M tokens Context: [N] tokens Tier: [tier] Key benchmarks: - SWE-bench: XX% (current best: YY% from [model]) - [other relevant benchmarks] Routing recommendation: - [task type]: This model beats [current model] by X points. Switch? - [task type]: Close to [current model] but 3× cheaper. Consider for subagents? Want me to update routing? Or keep current setup? ``` 4. **Only apply changes with user permission.** Always ask first. ### Routing Rule Updates When the user approves a routing change for a new model: 1. Update `model-registry.json` routing rules 2. Apply config via `gateway config.patch` if it's a permanent change 3. Log the change to daily memory file When a model is **removed** from config: 1. Don't delete from registry (keep benchmark data for reference) 2. Re-route any tasks that pointed to the removed model → next best available 3. Notify user: "Model X was removed. Rerouted [task types] to [model Y]." ### Keeping Data Fresh - **Benchmark data ages.** When a model entry is >90 days old, flag it for refresh on next scan. - **New model versions.** If a model ID changes (e.g., `gemini-2.5-pro` → `gemini-3-pro`), treat the new one as a new model. Don't assume scores carry over. - **Web search for updates.** When refreshing, search for `"[model name] latest benchmarks [current year]"` and update scores. --- ## Step 1: Detect What's Available When the user asks to check models or set up routing, check the OpenClaw config to determine which providers and models are available: 1. Run `gateway config.get` or read `openclaw.json` 2. Check `agents.defaults.model.primary` — what's the current main model? 3. Check `agents.defaults.subagents.model` — what's the current subagent model? 4. Check which providers are configured (by provider name and model ID only — do not read or inspect API keys, tokens, or auth credentials) 5. Report to user: "You have [X, Y, Z] available. Currently running [model] main / [model] subagents. Recommended mode: [mode]. Want me to apply it?" **Don't assume.** Check first, recommend second, apply only with permission. ## Step 2: Pick a Mode Three modes. User picks one, or you recommend based on what's available. ### 🏆 Performance — "Work hard" *Best results. Claude-only. Rate limits will feel it.* | Role | Model | Cost/1M (in/out) | |------|-------|-------------------| | Main | Opus 4.6 | $15 / $75 | | Subagents | Sonnet 4.6 | $3 / $15 | **When to recommend:** User has Claude Max/API. Says "best quality," "don't cut corners," "work hard." Critical work — architecture, deep debugging, novel problems. ```json { "agents": { "defaults": { "model": { "primary": "anthropic/claude-opus-4-6" }, "subagents": { "model": "anthropic/claude-sonnet-4-6" } } } } ``` ### ⚖️ Balanced — "Normal" (recommended default) *Smart routing. Good quality. Rate limits survive the week.* | Role | Model | Cost/1M (in/out) | |------|-------|-------------------| | Main | Sonnet 4.6 | $3 / $15 | | Subagents | Gemini 2.5 Pro | $1.25 / $10 | **When to recommend:** User has Claude + Google keys. Most daily work. Coding, research, content, office tasks. Sonnet handles main session perfectly; Gemini does background work at 2.4× less. ```json { "agents": { "defaults": { "model": { "primary": "anthropic/claude-sonnet-4-6" }, "subagents": { "model": "google/gemini-2.5-pro" } } } } ``` **Variant — Claude + OpenAI:** ```json { "agents": { "defaults": { "model": { "primary": "anthropic/claude-sonnet-4-6" }, "subagents": { "model": "openai/gpt-4o" } } } } ``` ### 💰 Economy — "Save money" *Minimum spend. High volume. Quality is good enough.* | Role | Model | Cost/1M (in/out) | |------|-------|-------------------| | Main | Gemini 2.5 Pro | $1.25 / $10 | | Subagents | Gemini 2.5 Flash | $0.18 / $0.75 | **When to recommend:** User is API-only, high volume, cost constrained. Or says "save money," "be efficient," "economy mode." ```json { "agents": { "defaults": { "model": { "primary": "google/gemini-2.5-pro" }, "subagents": { "model": "google/gemini-2.5-flash" } } } } ``` **Ultra-economy variant (DeepSeek subagents):** ```json { "agents": { "defaults": { "model": { "primary": "google/gemini-2.5-pro" }, "subagents": { "model": "openrouter/deepseek/deepseek-v3.2" } } } } ``` --- ## Step 3: Adaptive Triggers Listen for these signals and **suggest** mode changes (don't auto-apply): | User Says | Action | |-----------|--------| | "work harder" / "try harder" / "best quality" | Suggest switching to Performance mode or `/model anthropic/claude-opus-4-6` for this session | | "save money" / "be cheaper" / "economy" | Suggest switching to Economy mode | | "normal" / "balanced" / "default" | Suggest switching to Balanced mode | | "use opus for this" | Apply `/model anthropic/claude-opus-4-6` for current session only | | "use gemini" / "use google" | Apply `/model google/gemini-2.5-pro` for current session only | | "use deepseek" | Apply `/model openrouter/deepseek/deepseek-v3.2` for current session only | | "reset" / "back to normal" | Apply `/model default` to revert to config default | **Per-session vs permanent:** `/model X` changes the current session only. Config changes via `gateway config.patch` are permanent across sessions. --- ## Step 4: Task-Specific Hard Routes Regardless of mode, some tasks have clear winners. **Override automatically** when the task type is obvious: | Task Type | Always Use | Why | Override How | |-----------|-----------|-----|-------------| | Computer use / browser | Claude (Sonnet or Opus) | 72.5% OSWorld vs GPT's 38.2% — 34pt gap | If in economy mode using Gemini, warn user: "Computer use tasks perform significantly better on Claude. Switch for this task?" | | Deep reasoning / novel problems | Opus 4.6 | 75.2% ARC-AGI-2 vs Sonnet's 58.3% — 17pt gap | Suggest Opus when the problem is genuinely novel or requires multi-step deduction | | Office / financial / spreadsheets | Sonnet 4.6 | 1633 Elo GDPval-AA — beats Opus (1559) and GPT (1524) | Sonnet is actually the best here, even better than Opus | | Simple drafts / summaries / formatting | Cheapest available | Don't burn premium tokens on grunt work | Route to subagent model or suggest DeepSeek | | Coding (standard) | Sonnet 4.6 or Opus 4.6 | SWE-bench 79.6% / 80.8% — Claude dominates | Either Claude model; avoid GPT/Gemini for complex code | | Coding (hard debugging, architecture) | Opus 4.6 | Terminal-Bench gap: 62.7% vs 59.1% | Suggest Opus for the hard 20% | **The key insight:** Don't route everything through one model. Even within a session, suggest model switches when the task type changes significantly. --- ## Benchmark Tables Cross-provider data, Feb 2026. This is your routing reference. ### How to Read These Each row is a routing decision, not a ranking. A 2-point gap is noise — route by cost. A 17-point gap is signal — route by capability. A 34-point gap is a hard rule — never use the losing model for that task. ### Coding | Benchmark | Sonnet 4.6 | Opus 4.6 | GPT-5.2 | Gemini 2.5 Pro | |-----------|-----------|---------|---------|---------------| | SWE-bench Verified | 79.6% | 80.8% | 77.0% | ~75% | | Terminal-Bench 2.0 | 59.1% | 62.7% | 46.7% | — | → Claude territory. Sonnet for standard coding, Opus for hard debugging. GPT/Gemini lag 3-5pts. ### Computer Use | Benchmark | Sonnet 4.6 | Opus 4.6 | GPT-5.2 | |-----------|-----------|---------|---------| | OSWorld-Verified | 72.5% | 72.7% | 38.2% | | Pace Insurance | 94% | — | — | → **Hard rule.** Claude for all computer use. 34-point gap over GPT is not a preference — it's a different league. ### Reasoning | Benchmark | Sonnet 4.6 | Opus 4.6 | GPT-5.2 | |-----------|-----------|---------|---------| | GPQA Diamond | 74.1% | 74.5% | 73.8% | | ARC-AGI-2 | 58.3% | 75.2% | — | | Humanity's Last Exam | 19.1% | 26.3% | 20.3% | | MATH-500 | 97.8% | 97.6% | 97.4% | → GPQA and MATH: tied across all three — route by cost. ARC-AGI-2 and HLE: Opus only. ### Office & Domain | Benchmark | Sonnet 4.6 | Opus 4.6 | GPT-5.2 | |-----------|-----------|---------|---------| | GDPval-AA (Office Elo) | **1633** | 1559 | 1524 | | Finance Agent | **63.3%** | 62.0% | 60.7% | | MCP-Atlas Tool Use | **61.3%** | 60.3% | — | → Sonnet's domain. Beats everything on office work, finance, and tool coordination. Even beats Opus. ### Pricing (per 1M tokens) | Model | Input | Output | OpenClaw Provider | Relative | |-------|-------|--------|-------------------|----------| | DeepSeek V3.2 | $0.14 | $0.28 | `openrouter/deepseek/deepseek-v3.2` | 107× cheaper than Opus (in) | | Gemini 2.5 Flash | $0.18 | $0.75 | `google/gemini-2.5-flash` | 100× cheaper than Opus (out) | | Grok 4.1 Fast | $0.20 | $0.50 | `xai/grok-4.1-fast` | 75× cheaper than Opus (in) | | Gemini 2.5 Pro | $1.25 | $10.00 | `google/gemini-2.5-pro` | 12× cheaper than Opus (in) | | Sonnet 4.6 | $3.00 | $15.00 | `anthropic/claude-sonnet-4-6` | 5× cheaper than Opus | | GPT-4o | $5.00 | $15.00 | `openai/gpt-4o` | 3× cheaper than Opus (in) | | GPT-5.2 | — | — | `openai/gpt-5.2` | — | | Opus 4.6 | $15.00 | $75.00 | `anthropic/claude-opus-4-6` | Baseline (most expensive) | --- ## Provider Detection When checking what's available, use `gateway config.get` and look at the configured provider names and model IDs. **Do not read or inspect API keys, tokens, or auth credentials.** You only need to know *which providers are configured*, not how they authenticate. Check `models.providers` in config for custom setups. **Fallback logic:** If only Anthropic is available → recommend Performance mode. If Anthropic + Google → Balanced. If Google only → Economy. If everything → Balanced (best default). --- ## Prerequisites - **OpenClaw v2026.2.17 or later** — required for Sonnet 4.6 in model registry - Docker: `docker pull openclaw/openclaw:latest` - Git: `openclaw update` - **At least one provider** with auth configured - For multi-provider modes: configure additional provider API keys in OpenClaw --- ## Switching Modes **Per session:** `/model google/gemini-2.5-pro` → `/model default` to revert **Permanently:** Ask agent to apply via `gateway config.patch`, or edit `openclaw.json` and restart **Quick commands the agent should understand:** - "Switch to performance mode" → apply Performance config - "Switch to economy mode" → apply Economy config - "Go balanced" → apply Balanced config - "Use opus for this" → `/model` session override only - "Back to normal" → `/model default` --- ## Initial Registry Seed On first run (no `model-registry.json` exists), the skill should: 1. Create `model-registry.json` with the benchmark data from the tables above 2. Scan current config to mark which models are actually available 3. Give the user a full status report: ``` 🧭 Model Router initialized. Available providers: Anthropic ✅, Google ✅, OpenAI ❌, xAI ❌ Available models: Opus 4.6, Sonnet 4.6, Gemini 2.5 Pro, Gemini 2.5 Flash Current config: Opus main / Sonnet subagents (Performance mode) Recommended: Balanced mode — Sonnet main / Gemini Pro subagents → Saves 2.4× on subagent costs, same quality for background tasks Apply balanced mode? [yes/no] ``` 4. Seed the registry with all models from the benchmark tables, even ones not currently configured — this gives the agent comparison data when new models appear later --- ## The Philosophy Benchmarks are routing tables, not leaderboards. A 2-point gap is noise. A 34-point gap is a hard rule. The right model for the job depends on the job. The skill's job is to know what you have, know what each model is good at, and route accordingly. Give an agent a selection of models and a framework for choosing. It picks well. That's what this enables.

path: README.md
content: # 🧭 Model Router for OpenClaw

Self-learning multi-provider model routing. Auto-detects your available models, discovers new ones when you add them, fetches their benchmarks, and updates routing automatically.

Benchmarks are routing tables, not leaderboards.

## Install

```bash
clawhub install chandika/model-router
```

Or manually copy `SKILL.md` to your OpenClaw skills directory.

## How It Works

1. **Detects** which providers and models you have configured
2. **Maintains a registry** — `model-registry.json` with benchmark scores, pricing, and routing rules
3. **Discovers new models** — when you add a model to OpenClaw, the router detects it, fetches its model card and benchmarks via web search, and tells you where it fits
4. **Recommends** the best routing mode based on what's available
5. **Adapts** — "work harder" escalates to Opus, "save money" drops to Gemini/DeepSeek
6. **Hard routes by task** — computer use always goes to Claude (72.5% vs GPT's 38.2%), deep reasoning always goes to Opus

### New Model Detection

```
🧭 New model detected: Gemini 3 Pro

Pricing: $2.50 / $12.00 per 1M tokens
Context: 1M tokens

Key benchmarks:
- SWE-bench: 78.2% (current best: 80.8% from Opus)
- GPQA: 76.1% (beats Sonnet's 74.1%)

Recommendation: Use as subagent model in Balanced mode —
stronger reasoning than Gemini 2.5 Pro at similar cost.

Apply? [yes/no]
```

## Three Modes

### 🏆 Performance — "Work hard"

Opus 4.6 main, Sonnet 4.6 subagents. Best quality. Claude-only.

```json
{
  "agents": {
    "defaults": {
      "model": { "primary": "anthropic/claude-opus-4-6" },
      "subagents": { "model": "anthropic/claude-sonnet-4-6" }
    }
  }
}
```

### ⚖️ Balanced — "Normal" (recommended)

Sonnet 4.6 main, Gemini 2.5 Pro subagents. Good quality, rate limits survive.

```json
{
  "agents": {
    "defaults": {
      "model": { "primary": "anthropic/claude-sonnet-4-6" },
      "subagents": { "model": "google/gemini-2.5-pro" }
    }
  }
}
```

### 💰 Economy — "Save money"

Gemini 2.5 Pro main, Flash/DeepSeek subagents. Max efficiency.

```json
{
  "agents": {
    "defaults": {
      "model": { "primary": "google/gemini-2.5-pro" },
      "subagents": { "model": "google/gemini-2.5-flash" }
    }
  }
}
```

## Task Overrides (always apply)

| Task | Model | Why |
|------|-------|-----|
| Computer use / browser | Claude | 72.5% vs 38.2% — hard rule |
| Deep reasoning / novel problems | Opus 4.6 | 75.2% ARC-AGI-2 — uniquely capable |
| Office / finance | Sonnet 4.6 | 1633 Elo — beats everything incl. Opus |
| Drafts / summaries | Cheapest | Don't overthink it |

## Adaptive Triggers

| You say | It does |
|---------|---------|
| "work harder" | Suggests Performance mode |
| "save money" | Suggests Economy mode |
| "normal" / "reset" | Reverts to Balanced |
| "use opus for this" | Session-only override |

## Why

v1 solved Claude-only routing. v2 expanded to multi-provider. v2.1 makes it self-learning.

Add a new model to OpenClaw → the router detects it, researches its benchmarks, figures out where it beats your current setup, and asks if you want to use it. Remove a model → it reroutes affected tasks to the next best option.

One provider or five — the router adapts to what you have and keeps adapting as your setup changes.

See [SKILL.md](./SKILL.md) for full benchmark tables, all configs, and routing logic.

## License

MIT


path: model-registry.seed.json
content: {
  "lastScan": "2026-02-18T08:00:00Z",
  "version": "2.1.0",
  "models": {
    "anthropic/claude-opus-4-6": {
      "provider": "anthropic",
      "name": "Claude Opus 4.6",
      "addedAt": "2026-02-18",
      "pricing": { "input": 15.00, "output": 75.00, "unit": "1M tokens" },
      "context": 200000,
      "strengths": ["deep reasoning", "novel problems", "hard search", "complex coding", "computer use"],
      "weaknesses": ["most expensive", "slower", "loses to Sonnet on office tasks"],
      "benchmarks": {
        "swe-bench": 80.8,
        "terminal-bench-2": 62.7,
        "osworld": 72.7,
        "arc-agi-2": 75.2,
        "gpqa-diamond": 74.5,
        "gdpval-aa": 1559,
        "finance-agent": 62.0,
        "mcp-atlas": 60.3,
        "hle": 26.3,
        "math-500": 97.6
      },
      "routeTo": ["deep-reasoning", "novel-problems", "hard-coding", "hard-search"],
      "tier": "premium"
    },
    "anthropic/claude-sonnet-4-6": {
      "provider": "anthropic",
      "name": "Claude Sonnet 4.6",
      "addedAt": "2026-02-18",
      "pricing": { "input": 3.00, "output": 15.00, "unit": "1M tokens" },
      "context": 1000000,
      "strengths": ["office tasks", "finance", "computer use", "tool coordination", "coding", "1M context"],
      "weaknesses": ["weaker on novel reasoning vs Opus", "5× more expensive than Gemini Pro"],
      "benchmarks": {
        "swe-bench": 79.6,
        "terminal-bench-2": 59.1,
        "osworld": 72.5,
        "arc-agi-2": 58.3,
        "gpqa-diamond": 74.1,
        "gdpval-aa": 1633,
        "finance-agent": 63.3,
        "mcp-atlas": 61.3,
        "hle": 19.1,
        "math-500": 97.8,
        "pace-insurance": 94.0
      },
      "routeTo": ["computer-use", "office-finance", "standard-coding", "tool-use"],
      "tier": "mid"
    },
    "anthropic/claude-haiku-4-5": {
      "provider": "anthropic",
      "name": "Claude Haiku 4.5",
      "addedAt": "2026-02-18",
      "pricing": { "input": 1.00, "output": 5.00, "unit": "1M tokens" },
      "context": 200000,
      "strengths": ["fast", "cheap for Claude", "good for simple tasks"],
      "weaknesses": ["significantly weaker on complex tasks"],
      "benchmarks": {},
      "routeTo": ["simple-tasks", "classification", "extraction"],
      "tier": "economy"
    },
    "google/gemini-2.5-pro": {
      "provider": "google",
      "name": "Gemini 2.5 Pro",
      "addedAt": "2026-02-18",
      "pricing": { "input": 1.25, "output": 10.00, "unit": "1M tokens" },
      "context": 1000000,
      "strengths": ["strong reasoning", "1M context", "cost efficient", "multimodal"],
      "weaknesses": ["weaker on coding vs Claude", "no computer use capability"],
      "benchmarks": {
        "swe-bench": 75.0
      },
      "routeTo": ["background-research", "summarization", "multimodal"],
      "tier": "mid"
    },
    "google/gemini-2.5-flash": {
      "provider": "google",
      "name": "Gemini 2.5 Flash",
      "addedAt": "2026-02-18",
      "pricing": { "input": 0.18, "output": 0.75, "unit": "1M tokens" },
      "context": 1000000,
      "strengths": ["extremely cheap", "fast", "1M context", "good for high volume"],
      "weaknesses": ["weaker reasoning", "not for complex tasks"],
      "benchmarks": {},
      "routeTo": ["drafts", "summaries", "formatting", "high-volume"],
      "tier": "economy"
    },
    "openai/gpt-4o": {
      "provider": "openai",
      "name": "GPT-4o",
      "addedAt": "2026-02-18",
      "pricing": { "input": 5.00, "output": 15.00, "unit": "1M tokens" },
      "context": 128000,
      "strengths": ["multimodal", "good general reasoning", "function calling"],
      "weaknesses": ["weak computer use (38.2%)", "more expensive than Sonnet for less capability"],
      "benchmarks": {
        "osworld": 38.2,
        "gpqa-diamond": 73.8,
        "gdpval-aa": 1524,
        "finance-agent": 60.7,
        "math-500": 97.4
      },
      "routeTo": ["general-purpose-fallback"],
      "tier": "mid"
    },
    "openai/gpt-5.2": {
      "provider": "openai",
      "name": "GPT-5.2",
      "addedAt": "2026-02-18",
      "pricing": { "input": null, "output": null, "unit": "1M tokens" },
      "context": 128000,
      "strengths": ["strong coding", "good reasoning"],
      "weaknesses": ["very weak computer use (38.2%)", "pricing unclear"],
      "benchmarks": {
        "swe-bench": 77.0,
        "terminal-bench-2": 46.7,
        "osworld": 38.2,
        "gpqa-diamond": 73.8,
        "gdpval-aa": 1524,
        "finance-agent": 60.7,
        "hle": 20.3,
        "math-500": 97.4
      },
      "routeTo": [],
      "tier": "premium"
    },
    "xai/grok-4.1-fast": {
      "provider": "xai",
      "name": "Grok 4.1 Fast",
      "addedAt": "2026-02-18",
      "pricing": { "input": 0.20, "output": 0.50, "unit": "1M tokens" },
      "context": 131072,
      "strengths": ["extremely cheap", "fast", "good for simple tasks"],
      "weaknesses": ["limited benchmark data", "content reliability questions"],
      "benchmarks": {},
      "routeTo": ["simple-tasks", "drafts"],
      "tier": "economy"
    },
    "openrouter/deepseek/deepseek-v3.2": {
      "provider": "openrouter",
      "name": "DeepSeek V3.2",
      "addedAt": "2026-02-18",
      "pricing": { "input": 0.14, "output": 0.28, "unit": "1M tokens" },
      "context": 128000,
      "strengths": ["cheapest quality option", "strong for price", "good coding"],
      "weaknesses": ["limited availability", "data privacy concerns for some users"],
      "benchmarks": {},
      "routeTo": ["drafts", "summaries", "simple-coding", "high-volume"],
      "tier": "economy"
    }
  },
  "routingRules": {
    "computer-use": { "model": "anthropic/claude-sonnet-4-6", "reason": "72.5% OSWorld — 34pt gap over GPT, hard rule" },
    "deep-reasoning": { "model": "anthropic/claude-opus-4-6", "reason": "75.2% ARC-AGI-2, 26.3% HLE — uniquely capable" },
    "office-finance": { "model": "anthropic/claude-sonnet-4-6", "reason": "1633 Elo GDPval-AA — beats everything incl Opus" },
    "standard-coding": { "model": "anthropic/claude-sonnet-4-6", "reason": "79.6% SWE-bench, near-Opus at 5× cheaper" },
    "hard-coding": { "model": "anthropic/claude-opus-4-6", "reason": "62.7% Terminal-Bench — meaningful gap over Sonnet" },
    "drafts-summaries": { "model": "cheapest-available", "reason": "quality tolerance is high, save tokens" },
    "hard-search": { "model": "anthropic/claude-opus-4-6", "reason": "84.0% BrowseComp vs Sonnet's 74.7%" }
  },
  "modes": {
    "performance": {
      "main": "anthropic/claude-opus-4-6",
      "subagents": "anthropic/claude-sonnet-4-6"
    },
    "balanced": {
      "main": "anthropic/claude-sonnet-4-6",
      "subagents": "google/gemini-2.5-pro"
    },
    "economy": {
      "main": "google/gemini-2.5-pro",
      "subagents": "google/gemini-2.5-flash"
    }
  }
}


Security scan verdicts — ClawScan: clean | static analysis:  | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)