{
  "schemaVersion": "1.0",
  "item": {
    "slug": "freeride",
    "name": "Freeride",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/Shaivpidadi/freeride",
    "canonicalUrl": "https://clawhub.ai/Shaivpidadi/freeride",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/freeride",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=free-ride",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "requirements.txt",
      "README.md",
      "setup.py",
      "SKILL.md",
      "watcher.py",
      "main.py"
    ],
    "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. 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."
        },
        {
          "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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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/freeride"
    },
    "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/freeride",
    "agentPageUrl": "https://openagent3.xyz/skills/freeride/agent",
    "manifestUrl": "https://openagent3.xyz/skills/freeride/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/freeride/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. 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."
      },
      {
        "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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "What This Skill Does",
        "body": "Configures OpenClaw to use free AI models from OpenRouter. Sets the best free model as primary, adds ranked fallbacks so rate limits don't interrupt the user, and preserves existing config."
      },
      {
        "title": "Prerequisites",
        "body": "Before running any FreeRide command, ensure:\n\nOPENROUTER_API_KEY is set. Check with echo $OPENROUTER_API_KEY. If empty, the user must get a free key at https://openrouter.ai/keys and set it:\nexport OPENROUTER_API_KEY=\"sk-or-v1-...\"\n# Or persist it:\nopenclaw config set env.OPENROUTER_API_KEY \"sk-or-v1-...\"\n\n\n\nThe freeride CLI is installed. Check with which freeride. If not found:\ncd ~/.openclaw/workspace/skills/free-ride\npip install -e ."
      },
      {
        "title": "Primary Workflow",
        "body": "When the user wants free AI, run these steps in order:\n\n# Step 1: Configure best free model + fallbacks\nfreeride auto\n\n# Step 2: Restart gateway so OpenClaw picks up the changes\nopenclaw gateway restart\n\nThat's it. The user now has free AI with automatic fallback switching.\n\nVerify by telling the user to send /status to check the active model."
      },
      {
        "title": "Commands Reference",
        "body": "CommandWhen to use itfreeride autoUser wants free AI set up (most common)freeride auto -fUser wants fallbacks but wants to keep their current primary modelfreeride auto -c 10User wants more fallbacks (default is 5)freeride listUser wants to see available free modelsfreeride list -n 30User wants to see all free modelsfreeride switch <model>User wants a specific model (e.g. freeride switch qwen3-coder)freeride switch <model> -fAdd specific model as fallback onlyfreeride statusCheck current FreeRide configurationfreeride fallbacksUpdate only the fallback modelsfreeride refreshForce refresh the cached model list\n\nAfter any command that changes config, always run openclaw gateway restart."
      },
      {
        "title": "What It Writes to Config",
        "body": "FreeRide updates only these keys in ~/.openclaw/openclaw.json:\n\nagents.defaults.model.primary — e.g. openrouter/qwen/qwen3-coder:free\nagents.defaults.model.fallbacks — e.g. [\"openrouter/free\", \"nvidia/nemotron:free\", ...]\nagents.defaults.models — allowlist so /model command shows the free models\n\nEverything else (gateway, channels, plugins, env, customInstructions, named agents) is preserved.\n\nThe first fallback is always openrouter/free — OpenRouter's smart router that auto-picks the best available model based on the request."
      },
      {
        "title": "Watcher (Optional)",
        "body": "For auto-rotation when rate limited, the user can run:\n\nfreeride-watcher --daemon    # Continuous monitoring\nfreeride-watcher --rotate    # Force rotate now\nfreeride-watcher --status    # Check rotation history"
      },
      {
        "title": "Troubleshooting",
        "body": "ProblemFixfreeride: command not foundcd ~/.openclaw/workspace/skills/free-ride && pip install -e .OPENROUTER_API_KEY not setUser needs a key from https://openrouter.ai/keysChanges not taking effectopenclaw gateway restart then /new for fresh sessionAgent shows 0 tokensCheck freeride status — primary should be openrouter/<provider>/<model>:free"
      }
    ],
    "body": "FreeRide - Free AI for OpenClaw\nWhat This Skill Does\n\nConfigures OpenClaw to use free AI models from OpenRouter. Sets the best free model as primary, adds ranked fallbacks so rate limits don't interrupt the user, and preserves existing config.\n\nPrerequisites\n\nBefore running any FreeRide command, ensure:\n\nOPENROUTER_API_KEY is set. Check with echo $OPENROUTER_API_KEY. If empty, the user must get a free key at https://openrouter.ai/keys and set it:\n\nexport OPENROUTER_API_KEY=\"sk-or-v1-...\"\n# Or persist it:\nopenclaw config set env.OPENROUTER_API_KEY \"sk-or-v1-...\"\n\n\nThe freeride CLI is installed. Check with which freeride. If not found:\n\ncd ~/.openclaw/workspace/skills/free-ride\npip install -e .\n\nPrimary Workflow\n\nWhen the user wants free AI, run these steps in order:\n\n# Step 1: Configure best free model + fallbacks\nfreeride auto\n\n# Step 2: Restart gateway so OpenClaw picks up the changes\nopenclaw gateway restart\n\n\nThat's it. The user now has free AI with automatic fallback switching.\n\nVerify by telling the user to send /status to check the active model.\n\nCommands Reference\nCommand\tWhen to use it\nfreeride auto\tUser wants free AI set up (most common)\nfreeride auto -f\tUser wants fallbacks but wants to keep their current primary model\nfreeride auto -c 10\tUser wants more fallbacks (default is 5)\nfreeride list\tUser wants to see available free models\nfreeride list -n 30\tUser wants to see all free models\nfreeride switch <model>\tUser wants a specific model (e.g. freeride switch qwen3-coder)\nfreeride switch <model> -f\tAdd specific model as fallback only\nfreeride status\tCheck current FreeRide configuration\nfreeride fallbacks\tUpdate only the fallback models\nfreeride refresh\tForce refresh the cached model list\n\nAfter any command that changes config, always run openclaw gateway restart.\n\nWhat It Writes to Config\n\nFreeRide updates only these keys in ~/.openclaw/openclaw.json:\n\nagents.defaults.model.primary — e.g. openrouter/qwen/qwen3-coder:free\nagents.defaults.model.fallbacks — e.g. [\"openrouter/free\", \"nvidia/nemotron:free\", ...]\nagents.defaults.models — allowlist so /model command shows the free models\n\nEverything else (gateway, channels, plugins, env, customInstructions, named agents) is preserved.\n\nThe first fallback is always openrouter/free — OpenRouter's smart router that auto-picks the best available model based on the request.\n\nWatcher (Optional)\n\nFor auto-rotation when rate limited, the user can run:\n\nfreeride-watcher --daemon    # Continuous monitoring\nfreeride-watcher --rotate    # Force rotate now\nfreeride-watcher --status    # Check rotation history\n\nTroubleshooting\nProblem\tFix\nfreeride: command not found\tcd ~/.openclaw/workspace/skills/free-ride && pip install -e .\nOPENROUTER_API_KEY not set\tUser needs a key from https://openrouter.ai/keys\nChanges not taking effect\topenclaw gateway restart then /new for fresh session\nAgent shows 0 tokens\tCheck freeride status — primary should be openrouter/<provider>/<model>:free"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Shaivpidadi/freeride",
    "publisherUrl": "https://clawhub.ai/Shaivpidadi/freeride",
    "owner": "Shaivpidadi",
    "version": "1.0.5",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/freeride",
    "downloadUrl": "https://openagent3.xyz/downloads/freeride",
    "agentUrl": "https://openagent3.xyz/skills/freeride/agent",
    "manifestUrl": "https://openagent3.xyz/skills/freeride/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/freeride/agent.md"
  }
}