# Send Model Switchboard to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "model-switchboard",
    "name": "Model Switchboard",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/frank-bot07/model-switchboard",
    "canonicalUrl": "https://clawhub.ai/frank-bot07/model-switchboard",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/model-switchboard",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=model-switchboard",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "ARCHITECTURE.md",
      "AUDIT-OPUS.md",
      "CHANGELOG.md",
      "README.md",
      "SKILL.md",
      "model-registry.json"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "model-switchboard",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-05T17:31:27.893Z",
      "expiresAt": "2026-05-12T17:31:27.893Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=model-switchboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=model-switchboard",
        "contentDisposition": "attachment; filename=\"model-switchboard-3.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "model-switchboard"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/model-switchboard"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/model-switchboard",
    "downloadUrl": "https://openagent3.xyz/downloads/model-switchboard",
    "agentUrl": "https://openagent3.xyz/skills/model-switchboard/agent",
    "manifestUrl": "https://openagent3.xyz/skills/model-switchboard/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/model-switchboard/agent.md"
  }
}
```
## Documentation

### Model Switchboard v3.0 — Safe AI Model Configuration for OpenClaw

⛔ HARD RULE: NEVER edit openclaw.json model fields directly.
Always use this skill's commands. No exceptions. Ever.

### Why This Exists

Editing openclaw.json directly for model changes is the #1 cause of OpenClaw gateway crashes. Wrong model type in wrong slot = instant death. No backup = hours rebuilding. This skill eliminates that entirely.

### How It Works

Validates model format and role compatibility before any change
Auto-backs up config before every modification (30 rolling backups)
Uses OpenClaw CLI (openclaw models set) — never raw JSON
Blocks unsafe assignments (image-gen model as primary LLM = blocked)
Instant rollback if anything goes wrong
Canvas UI for visual model management

### Quick Reference

SWITCHBOARD="$SKILL_DIR/scripts/switchboard.sh"

# View current setup
$SWITCHBOARD status

# Change models
$SWITCHBOARD set-primary "anthropic/claude-opus-4-6"
$SWITCHBOARD set-image "google/gemini-3-pro-preview"
$SWITCHBOARD add-fallback "openai/gpt-5.2"
$SWITCHBOARD remove-fallback "openai/gpt-5.2"
$SWITCHBOARD add-image-fallback "openai/gpt-5.1"

# Preview before applying
$SWITCHBOARD dry-run set-primary "openai/gpt-5.2"

# Discovery & recommendations
$SWITCHBOARD discover          # List all available models
$SWITCHBOARD recommend         # Get optimal suggestions

# Redundancy (3-deep failover)
$SWITCHBOARD redundancy        # Assess current redundancy
$SWITCHBOARD redundancy-deploy # Preview optimal config
$SWITCHBOARD redundancy-apply  # Apply optimal config
$SWITCHBOARD redundancy-apply 4  # Custom depth

# Backup & restore
$SWITCHBOARD backup            # Manual backup
$SWITCHBOARD list-backups      # Show all backups
$SWITCHBOARD restore latest    # Undo last change

# Import/Export (portable model configs)
$SWITCHBOARD export config.json
$SWITCHBOARD import config.json

# Cron model validation
$SWITCHBOARD validate-cron-models  # Check cron jobs use valid models

# Diagnostics
$SWITCHBOARD health            # Gateway + provider status
$SWITCHBOARD validate <model> <role>  # Test compatibility

### Model Roles

RolePurposeConfig KeyPrimaryMain LLM for all conversationsagents.defaults.model.primaryFallbackOrdered backup LLMsagents.defaults.model.fallbacksImageVision/image processingagents.defaults.imageModel.primaryImage FallbackBackup vision modelsagents.defaults.imageModel.fallbacksHeartbeatLow-cost polling modelagents.defaults.heartbeat.modelCodingSub-agent code generationSpawn-time model param

### Validation Rules

The validation engine (scripts/validate.py) enforces:

Format: Must be provider/model-name (e.g., anthropic/claude-opus-4-6)
Capability match: LLM roles require llm + tools capabilities
Image roles: Require vision capability
Hard blocks: Image-generation-only models (DALL-E, Stability) blocked from ALL LLM roles
Registry warnings: Unknown models get a caution warning but are allowed (for OpenRouter/new models)

### Known Providers

anthropic — Claude family (Opus, Sonnet, Haiku)
openai — GPT family
openai-codex — Codex OAuth models
google — Gemini family
opencode — Zen proxy (routes to various models)
zai — GLM family
xai — Grok family
openrouter — Multi-provider gateway
groq, cerebras — Fast inference

### Canvas UI

To show the visual dashboard:

# Get UI data
DATA=$($SWITCHBOARD ui)

# Present via canvas
# The UI reads window.__switchboardData JSON

The Canvas UI at ui/index.html shows:

Primary LLM and Image model with color coding
Fallback chains (ordered)
Provider auth status (green/red indicators)
Model allowlist
Config issues with severity levels
Backup count

### For Agents: Operating Protocol

When a user asks to change model assignments:

Read this SKILL.md first
Show current status: $SWITCHBOARD status
Preview the change: $SWITCHBOARD dry-run <action> <model>
Confirm with user before applying
Apply: $SWITCHBOARD <action> <model>
Verify: Check gateway health after change

NEVER:

Edit openclaw.json directly for model fields
Skip the dry-run for primary model changes
Apply without user confirmation
Ignore validation failures

### Troubleshooting

Gateway won't start:

$SWITCHBOARD restore latest
openclaw gateway restart
# Or: openclaw doctor --fix

"Model is not allowed" error:
Model isn't in the allowlist. Add it or clear the list:

openclaw config set 'agents.defaults.models."provider/model"' '{"alias":"Name"}'
# Or clear: openclaw config unset agents.defaults.models

Unknown model warning:
The model isn't in model-registry.json. Add it for future validation:

# Edit model-registry.json to add the model entry

### File Structure

model-switchboard/
├── SKILL.md              # This file — agent instructions
├── README.md             # ClawHub publishing readme
├── model-registry.json   # Known model capabilities database
├── scripts/
│   ├── switchboard.sh    # Main CLI tool (bash)
│   └── validate.py       # Validation engine (python3, no deps)
└── ui/
    └── index.html        # Canvas dashboard (single-file, no deps)
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: frank-bot07
- Version: 3.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-05T17:31:27.893Z
- Expires at: 2026-05-12T17:31:27.893Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/model-switchboard)
- [Send to Agent page](https://openagent3.xyz/skills/model-switchboard/agent)
- [JSON manifest](https://openagent3.xyz/skills/model-switchboard/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/model-switchboard/agent.md)
- [Download page](https://openagent3.xyz/downloads/model-switchboard)