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, "switch to opus", "use minimax", "use claude", "use the smart model", "use the cheap model", "change model", "swap model", or any variation of wanting a different LLM. Also trigger when the user asks "what model am I on", "which model", or "current model". This skill ONLY works with the hudl provider backed by gru.huddle01.io.
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...