{
  "schemaVersion": "1.0",
  "item": {
    "slug": "switch-modes",
    "name": "Switch Modes",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/serudda/switch-modes",
    "canonicalUrl": "https://clawhub.ai/serudda/switch-modes",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/switch-modes",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=switch-modes",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "REFERENCE.md",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "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."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "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. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/switch-modes"
    },
    "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."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/switch-modes",
    "agentPageUrl": "https://openagent3.xyz/skills/switch-modes/agent",
    "manifestUrl": "https://openagent3.xyz/skills/switch-modes/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/switch-modes/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "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."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Switch Modes",
        "body": "Dynamically switch between AI models to optimize costs and performance."
      },
      {
        "title": "When to Use This Skill",
        "body": "Activate this skill when the user mentions:\n\nMode switching commands: eco mode, balanced mode, smart mode, max mode\nStatus check: /modes status\nConfiguration: /modes setup"
      },
      {
        "title": "How It Works",
        "body": "The skill manages 4 predefined modes, each mapped to a specific model:\n\neco → Cheapest model (for summaries, quick questions)\nbalanced → Daily driver model (for general work)\nsmart → Powerful model (for complex reasoning)\nmax → Most powerful model (for critical tasks)\n\nConfiguration is stored in ~/.openclaw/workspace/switch-modes.json."
      },
      {
        "title": "1. Detect Mode Commands",
        "body": "When the user message contains any of these patterns:\n\neco mode or eco (standalone)\nbalanced mode or balanced\nsmart mode or smart\nmax mode or max\n/modes status\n/modes setup"
      },
      {
        "title": "2. Handle Setup Command (/modes setup)",
        "body": "If the configuration file doesn't exist or user requests setup:\n\nUse AskUserQuestion to gather model preferences for each mode:\n\nECO mode: Recommend anthropic/claude-3.5-haiku\nBALANCED mode: Recommend anthropic/claude-sonnet-4-5\nSMART mode: Recommend anthropic/claude-opus-4-5\nMAX mode: Recommend anthropic/claude-opus-4-6 or openai/o1-pro\n\n\n\nCreate/update ~/.openclaw/workspace/switch-modes.json with the structure:\n\n{\n\t\"eco\": \"model-id\",\n\t\"balanced\": \"model-id\",\n\t\"smart\": \"model-id\",\n\t\"max\": \"model-id\"\n}\n\nConfirm setup completion to the user."
      },
      {
        "title": "3. Handle Status Command (/modes status)",
        "body": "Read the OpenClaw config at ~/.openclaw/openclaw.json to get current model\nRead ~/.openclaw/workspace/switch-modes.json to get mode mappings\nDetermine which mode is currently active by matching the current model\nDisplay: ✅ Currently in [MODE] mode using [MODEL_ID]"
      },
      {
        "title": "4. Handle Mode Switch Commands",
        "body": "When user requests a mode switch:\n\nRead configuration:\ncat ~/.openclaw/workspace/switch-modes.json\n\nIf file doesn't exist, prompt user to run /modes setup first.\n\n\nGet the target model from the config based on requested mode (eco/balanced/smart/max)\n\n\nUpdate OpenClaw config:\n\nRead current config: ~/.openclaw/openclaw.json\nUpdate the model field with the new model ID\nWrite back to ~/.openclaw/openclaw.json\n\n\n\nConfirm to user:\n✅ [MODE] mode activated\nNow using: [MODEL_ID]"
      },
      {
        "title": "Example 1: Mode Switch",
        "body": "User: eco mode\nAgent: [reads switch-modes.json, gets model for \"eco\"]\nAgent: [updates openclaw.json with new model]\nAgent: ✅ ECO mode activated\n      Now using: anthropic/claude-3.5-haiku"
      },
      {
        "title": "Example 2: Status Check",
        "body": "User: /modes status\nAgent: [reads openclaw.json for current model]\nAgent: [reads switch-modes.json for mode mappings]\nAgent: ✅ Currently in BALANCED mode using anthropic/claude-sonnet-4-5"
      },
      {
        "title": "Example 3: First Time Setup",
        "body": "User: /modes setup\nAgent: [uses AskUserQuestion for each mode]\nAgent: [creates ~/.openclaw/workspace/switch-modes.json]\nAgent: ✅ Setup complete! You can now use:\n      - eco mode\n      - balanced mode\n      - smart mode\n      - max mode"
      },
      {
        "title": "File Locations",
        "body": "Configuration: ~/.openclaw/workspace/switch-modes.json\nOpenClaw Config: ~/.openclaw/openclaw.json\nExample Config: See example-config.json in skill directory"
      },
      {
        "title": "Common Edge Cases",
        "body": "Config file missing: Prompt user to run /modes setup\nInvalid model ID: Show error and ask user to reconfigure that mode\nModel not available: Suggest checking API keys and model access in OpenClaw\nAmbiguous input: If just \"eco\" or \"smart\" without \"mode\", still treat as mode switch command\nCase insensitive: Accept \"ECO MODE\", \"Eco Mode\", \"eco mode\" all the same"
      },
      {
        "title": "Important Notes",
        "body": "Mode switching is instant - no restart required\nChanges only affect the current session's default model\nPreserve all other settings in openclaw.json when updating model\nAlways validate JSON before writing config files\nUse absolute paths: ~/.openclaw/... not relative paths"
      },
      {
        "title": "Reference",
        "body": "For detailed troubleshooting, supported models list, and FAQ, see ./REFERENCE.md."
      }
    ],
    "body": "Switch Modes\n\nDynamically switch between AI models to optimize costs and performance.\n\nWhen to Use This Skill\n\nActivate this skill when the user mentions:\n\nMode switching commands: eco mode, balanced mode, smart mode, max mode\nStatus check: /modes status\nConfiguration: /modes setup\nHow It Works\n\nThe skill manages 4 predefined modes, each mapped to a specific model:\n\neco → Cheapest model (for summaries, quick questions)\nbalanced → Daily driver model (for general work)\nsmart → Powerful model (for complex reasoning)\nmax → Most powerful model (for critical tasks)\n\nConfiguration is stored in ~/.openclaw/workspace/switch-modes.json.\n\nStep-by-Step Instructions\n1. Detect Mode Commands\n\nWhen the user message contains any of these patterns:\n\neco mode or eco (standalone)\nbalanced mode or balanced\nsmart mode or smart\nmax mode or max\n/modes status\n/modes setup\n2. Handle Setup Command (/modes setup)\n\nIf the configuration file doesn't exist or user requests setup:\n\nUse AskUserQuestion to gather model preferences for each mode:\n\nECO mode: Recommend anthropic/claude-3.5-haiku\nBALANCED mode: Recommend anthropic/claude-sonnet-4-5\nSMART mode: Recommend anthropic/claude-opus-4-5\nMAX mode: Recommend anthropic/claude-opus-4-6 or openai/o1-pro\n\nCreate/update ~/.openclaw/workspace/switch-modes.json with the structure:\n\n{\n\t\"eco\": \"model-id\",\n\t\"balanced\": \"model-id\",\n\t\"smart\": \"model-id\",\n\t\"max\": \"model-id\"\n}\n\nConfirm setup completion to the user.\n3. Handle Status Command (/modes status)\nRead the OpenClaw config at ~/.openclaw/openclaw.json to get current model\nRead ~/.openclaw/workspace/switch-modes.json to get mode mappings\nDetermine which mode is currently active by matching the current model\nDisplay: ✅ Currently in [MODE] mode using [MODEL_ID]\n4. Handle Mode Switch Commands\n\nWhen user requests a mode switch:\n\nRead configuration:\n\ncat ~/.openclaw/workspace/switch-modes.json\n\n\nIf file doesn't exist, prompt user to run /modes setup first.\n\nGet the target model from the config based on requested mode (eco/balanced/smart/max)\n\nUpdate OpenClaw config:\n\nRead current config: ~/.openclaw/openclaw.json\nUpdate the model field with the new model ID\nWrite back to ~/.openclaw/openclaw.json\n\nConfirm to user:\n\n✅ [MODE] mode activated\nNow using: [MODEL_ID]\n\nExamples\nExample 1: Mode Switch\nUser: eco mode\nAgent: [reads switch-modes.json, gets model for \"eco\"]\nAgent: [updates openclaw.json with new model]\nAgent: ✅ ECO mode activated\n      Now using: anthropic/claude-3.5-haiku\n\nExample 2: Status Check\nUser: /modes status\nAgent: [reads openclaw.json for current model]\nAgent: [reads switch-modes.json for mode mappings]\nAgent: ✅ Currently in BALANCED mode using anthropic/claude-sonnet-4-5\n\nExample 3: First Time Setup\nUser: /modes setup\nAgent: [uses AskUserQuestion for each mode]\nAgent: [creates ~/.openclaw/workspace/switch-modes.json]\nAgent: ✅ Setup complete! You can now use:\n      - eco mode\n      - balanced mode\n      - smart mode\n      - max mode\n\nFile Locations\nConfiguration: ~/.openclaw/workspace/switch-modes.json\nOpenClaw Config: ~/.openclaw/openclaw.json\nExample Config: See example-config.json in skill directory\nCommon Edge Cases\nConfig file missing: Prompt user to run /modes setup\nInvalid model ID: Show error and ask user to reconfigure that mode\nModel not available: Suggest checking API keys and model access in OpenClaw\nAmbiguous input: If just \"eco\" or \"smart\" without \"mode\", still treat as mode switch command\nCase insensitive: Accept \"ECO MODE\", \"Eco Mode\", \"eco mode\" all the same\nImportant Notes\nMode switching is instant - no restart required\nChanges only affect the current session's default model\nPreserve all other settings in openclaw.json when updating model\nAlways validate JSON before writing config files\nUse absolute paths: ~/.openclaw/... not relative paths\nReference\n\nFor detailed troubleshooting, supported models list, and FAQ, see ./REFERENCE.md."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/serudda/switch-modes",
    "publisherUrl": "https://clawhub.ai/serudda/switch-modes",
    "owner": "serudda",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/switch-modes",
    "downloadUrl": "https://openagent3.xyz/downloads/switch-modes",
    "agentUrl": "https://openagent3.xyz/skills/switch-modes/agent",
    "manifestUrl": "https://openagent3.xyz/skills/switch-modes/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/switch-modes/agent.md"
  }
}