Install
openclaw skills install hudl-model-switchSwitch between LLM models on the Huddle01 GRU gateway. Use this skill whenever the user mentions switching models, changing models, upgrading, downgrading, "...
openclaw skills install hudl-model-switchSwitch the active LLM model for this OpenClaw agent via the Huddle01 GRU gateway.
hudl provider backed by gru.huddle01.io.hudl/<model-id>.scripts/switch-model.sh.models.providers.hudl.baseUrl, apiKey, and other unrelated keys stay unchanged).hudl/ result as a hard failure. Do not restart in that state.agents.defaults.model.primary is only a default and may be stale.This skill only works when the OpenClaw config has a hudl provider pointing at gru.huddle01.io. If the provider is missing or the baseUrl is different, stop and tell the user this skill requires the Huddle01 GRU gateway.
Step 1: Validate provider + config path (required)
Run:
bash <skill_dir>/scripts/validate.sh
0: continue.1: stop. Show the exact validation error and tell the user no config changes were made.OPENCLAW_CONFIG, ~/.openclaw/config.json, ~/.openclaw/openclaw.json.hudl provider must exist, apiKey must be present, and baseUrl must point at host gru.huddle01.io.Step 2: Resolve the exact target model ID (required)
Use <skill_dir>/references/models.md to map user intent to a canonical model.
Normalization rules:
hudl/, prepend hudl/.hudl/..., keep it unchanged.hudl/ model into config.hudl/ by itself, or values with spaces.hudl/<user-value> and warn clearly that the model must exist on GRU or requests will fail.Ambiguity rules:
hudl/claude-opus-4.6) and state what was chosen.Step 3: Capture current state before mutation (required)
Read and note current values so the response can show before/after:
agents.list[*].model.primary, preferring agent id: "main")agents.defaults.model.primary).agents.list has no entries, stop. This skill is for switching an active agent model, so a config with no agent entries is not a valid target.Step 4: Switch model via script (required)
Run:
bash <skill_dir>/scripts/switch-model.sh <hudl-model-id>
switch-model.sh is the source of truth and must be used instead of manual edits.
Expected behavior from script:
agents.defaults.model.primaryagents.list[*].model.primary, preferring id: "main", otherwise first agent)models.providers.hudl.models[*].id so every catalog ID is hudl/...models.providers.hudl.modelshudl/-prefixed, or do not exactly match the requested targethudl/ IDs or is missing the target modelFailure handling:
Step 5: Verify post-switch values before restart (required)
Confirm both fields now point to the normalized target model and both are hudl/....
Step 6: Restart + report final state (required)
Before restart, tell the user:
Run:
openclaw restart
After restart, report:
scripts/validate.sh).config.json or openclaw.json).agents.list[*].model.primary, prefer id: "main")agents.defaults.model.primary)hudl/-prefixedReporting rules:
agents.defaults.model.primary.agents.list[*].model.primary and agents.defaults.model.primary differ, say the active agent model is currently in use and the default is stale/misaligned.agents.list[main-or-first].model.primaryagents.defaults.model.primaryNo restart is needed for read-only status checks.
Switch to Opus:
User: switch to opus
Agent: Checking GRU gateway config... verified.
Agent: Resolved target model: hudl/claude-opus-4.6.
Agent: Current models -> active: hudl/minimax-m2.5, default: hudl/minimax-m2.5.
Agent: Running switch script... success.
Agent: Provider model catalog normalized and includes hudl/claude-opus-4.6.
Agent: Restarting gateway now; it may take a couple minutes.
Agent: Restart complete. Active: hudl/claude-opus-4.6, default: hudl/claude-opus-4.6 (aligned).
Mismatched config on status check:
User: what model am I on?
Agent: Config path: /home/ubuntu/.openclaw/openclaw.json
Agent: Active model in use: hudl/minimax-m2.5 (from agents.list[id=main].model.primary)
Agent: Default model: gpt-4.1 (from agents.defaults.model.primary)
Agent: Status: mismatch. The gateway is currently using hudl/minimax-m2.5; the default value is stale and should not be reported as the live model.
No hudl provider:
User: switch to opus
Agent: (validate.sh failed)
Agent: This skill requires the Huddle01 GRU gateway (hudl provider with baseUrl gru.huddle01.io) in your OpenClaw config. No changes were made.
Unknown model:
User: switch to deepseek-r2
Agent: Heads up: deepseek-r2 is not in the known catalog. I will set hudl/deepseek-r2; requests will fail unless that model exists on your GRU gateway.
Agent: Switching to hudl/deepseek-r2...