Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Safely configure OpenClaw AI models by validating roles, autoloading backups, blocking unsafe changes, and managing via CLI or Canvas UI.
Safely configure OpenClaw AI models by validating roles, autoloading backups, blocking unsafe changes, and managing via CLI or Canvas UI.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
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.
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.
โ HARD RULE: NEVER edit openclaw.json model fields directly. Always use this skill's commands. No exceptions. Ever.
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.
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
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
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
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)
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
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
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
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
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)
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.