{
  "schemaVersion": "1.0",
  "item": {
    "slug": "polymarket-weather-trader",
    "name": "Polymarket Weather Trader",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/adlai88/polymarket-weather-trader",
    "canonicalUrl": "https://clawhub.ai/adlai88/polymarket-weather-trader",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/polymarket-weather-trader",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=polymarket-weather-trader",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "clawhub.json",
      "config.json",
      "scripts/status.py",
      "weather_trader.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. 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/polymarket-weather-trader"
    },
    "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/polymarket-weather-trader",
    "agentPageUrl": "https://openagent3.xyz/skills/polymarket-weather-trader/agent",
    "manifestUrl": "https://openagent3.xyz/skills/polymarket-weather-trader/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/polymarket-weather-trader/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": "Polymarket Weather Trader",
        "body": "Trade temperature markets on Polymarket using NOAA forecast data.\n\nThis is a template. The default signal is NOAA temperature forecasts — remix it with other weather APIs, different forecast models, or additional market types (precipitation, wind, etc.). The skill handles all the plumbing (market discovery, NOAA parsing, trade execution, safeguards). Your agent provides the alpha."
      },
      {
        "title": "When to Use This Skill",
        "body": "Use this skill when the user wants to:\n\nTrade weather markets automatically\nSet up gopfan2-style temperature trading\nBuy low on weather predictions\nCheck their weather trading positions\nConfigure trading thresholds or locations"
      },
      {
        "title": "What's New in v1.14.0",
        "body": "Fixed env var names to match autotune registry (old names still work as aliases):\n\nSIMMER_WEATHER_ENTRY → SIMMER_WEATHER_ENTRY_THRESHOLD\nSIMMER_WEATHER_EXIT → SIMMER_WEATHER_EXIT_THRESHOLD\nSIMMER_WEATHER_MAX_POSITION → SIMMER_WEATHER_MAX_POSITION_USD\nSIMMER_WEATHER_MAX_TRADES → SIMMER_WEATHER_MAX_TRADES_PER_RUN\n\n\nNew tunable: SIMMER_WEATHER_SLIPPAGE_MAX — adjustable slippage safeguard (default 15%). Set higher for research mode on illiquid markets.\nNew tunable: SIMMER_WEATHER_MIN_LIQUIDITY — skip markets with liquidity below this USD threshold (default 0 = disabled). Pre-filters thin markets before execution.\nSIMMER_WEATHER_LOCATIONS and SIMMER_WEATHER_BINARY_ONLY now exposed as autotune tunables."
      },
      {
        "title": "v1.13.0",
        "body": "Binary Only Mode: New SIMMER_WEATHER_BINARY_ONLY config to skip range-bucket events (e.g., \"NYC 34-35°F\") and only trade binary yes/no weather markets"
      },
      {
        "title": "v1.2.0",
        "body": "Max Trades Per Run: New SIMMER_WEATHER_MAX_TRADES config to limit trades per scan cycle (default: 5)"
      },
      {
        "title": "v1.1.1",
        "body": "Status Script: New scripts/status.py for quick balance and position checks\nAPI Reference: Added Quick Commands section with API endpoints"
      },
      {
        "title": "v1.1.0",
        "body": "Source Tagging: All trades tagged with sdk:weather for portfolio tracking\nSmart Sizing: Position sizing based on available balance (--smart-sizing)\nContext Safeguards: Checks for flip-flop warnings, slippage, time decay\nPrice Trend Detection: Detects recent price drops for stronger signals"
      },
      {
        "title": "Setup Flow",
        "body": "When user asks to install or configure this skill:\n\nAsk for Simmer API key\n\nThey can get it from simmer.markets/dashboard → SDK tab\nStore in environment as SIMMER_API_KEY\n\n\n\nAsk for wallet private key (required for live trading)\n\nThis is the private key for their Polymarket wallet (the wallet that holds USDC)\nStore in environment as WALLET_PRIVATE_KEY\nThe SDK uses this to sign orders client-side automatically — no manual signing needed\n\n\n\nAsk about settings (or confirm defaults)\n\nEntry threshold: When to buy (default 15¢)\nExit threshold: When to sell (default 45¢)\nMax position: Amount per trade (default $2.00)\nLocations: Which cities to trade (default NYC)\n\n\n\nSave settings to environment variables\n\n\nSet up cron (disabled by default — user must enable scheduling)"
      },
      {
        "title": "Configuration",
        "body": "SettingEnvironment VariableDefaultDescriptionEntry thresholdSIMMER_WEATHER_ENTRY_THRESHOLD0.15Buy when price below thisExit thresholdSIMMER_WEATHER_EXIT_THRESHOLD0.45Sell when price above thisMax positionSIMMER_WEATHER_MAX_POSITION_USD2.00Maximum USD per tradeMax trades/runSIMMER_WEATHER_MAX_TRADES_PER_RUN5Maximum trades per scan cycleLocationsSIMMER_WEATHER_LOCATIONSNYCComma-separated cities (NYC, Chicago, Seattle, Atlanta, Dallas, Miami)Binary onlySIMMER_WEATHER_BINARY_ONLYfalseSkip range-bucket events (e.g., \"34-35°F\"), only trade binary yes/no marketsSmart sizing %SIMMER_WEATHER_SIZING_PCT0.05% of balance per tradeSlippage maxSIMMER_WEATHER_SLIPPAGE_MAX0.15Skip trades with slippage above this (0.15 = 15%)Min liquiditySIMMER_WEATHER_MIN_LIQUIDITY0Skip markets with liquidity below this USD amount (0 = disabled)\n\nLegacy env var aliases (still accepted for backwards compatibility): SIMMER_WEATHER_ENTRY, SIMMER_WEATHER_EXIT, SIMMER_WEATHER_MAX_POSITION, SIMMER_WEATHER_MAX_TRADES\n\nSupported locations: NYC, Chicago, Seattle, Atlanta, Dallas, Miami"
      },
      {
        "title": "Quick Commands",
        "body": "# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions\n\nAPI Reference:\n\nBase URL: https://api.simmer.markets\nAuth: Authorization: Bearer $SIMMER_API_KEY\nPortfolio: GET /api/sdk/portfolio\nPositions: GET /api/sdk/positions"
      },
      {
        "title": "Running the Skill",
        "body": "# Dry run (default — shows opportunities, no trades)\npython weather_trader.py\n\n# Execute real trades\npython weather_trader.py --live\n\n# With smart position sizing (uses portfolio balance)\npython weather_trader.py --live --smart-sizing\n\n# Check positions only\npython weather_trader.py --positions\n\n# View config\npython weather_trader.py --config\n\n# Disable safeguards (not recommended)\npython weather_trader.py --no-safeguards\n\n# Disable trend detection\npython weather_trader.py --no-trends\n\n# Quiet mode — only output on trades/errors (ideal for high-frequency runs)\npython weather_trader.py --live --quiet\n\n# Combine: frequent scanning, minimal noise\npython weather_trader.py --live --smart-sizing --quiet"
      },
      {
        "title": "How It Works",
        "body": "Each cycle the script:\n\nFetches active weather markets from Simmer API\nGroups markets by event (each temperature day is one event)\nParses event names to get location and date\nFetches NOAA forecast for that location/date\nFinds the temperature bucket that matches the forecast\nSafeguards: Checks context for flip-flop warnings, slippage, time decay\nTrend Detection: Looks for recent price drops (stronger buy signal)\nEntry: If bucket price < threshold and safeguards pass → BUY\nExit: Checks open positions, sells if price > exit threshold\nTagging: All trades tagged with sdk:weather for tracking"
      },
      {
        "title": "Smart Sizing",
        "body": "With --smart-sizing, position size is calculated as:\n\n5% of available USDC balance (configurable via SIMMER_WEATHER_SIZING_PCT)\nCapped at max position setting ($2.00 default)\nFalls back to fixed size if portfolio unavailable\n\nThis prevents over-deployment and scales with your account size."
      },
      {
        "title": "Safeguards",
        "body": "Before trading, the skill checks:\n\nFlip-flop warning: Skips if you've been reversing too much\nSlippage: Skips if estimated slippage > 15%\nTime decay: Skips if market resolves in < 2 hours\nMarket status: Skips if market already resolved\n\nDisable with --no-safeguards (not recommended)."
      },
      {
        "title": "Source Tagging",
        "body": "All trades are tagged with source: \"sdk:weather\". This means:\n\nPortfolio shows breakdown by strategy\nCopytrading skill won't sell your weather positions\nYou can track weather P&L separately"
      },
      {
        "title": "Example Output",
        "body": "🌤️ Simmer Weather Trading Skill\n==================================================\n\n⚙️ Configuration:\n  Entry threshold: 15% (buy below this)\n  Exit threshold:  45% (sell above this)\n  Max position:    $2.00\n  Locations:       NYC\n  Smart sizing:    ✓ Enabled\n  Safeguards:      ✓ Enabled\n  Trend detection: ✓ Enabled\n\n💰 Portfolio:\n  Balance: $150.00\n  Exposure: $45.00\n  Positions: 8\n\n📍 NYC 2026-01-28 (high temp)\n  NOAA forecast: 34°F\n  Matching bucket: 34-35°F @ $0.12\n  💡 Smart sizing: $2.00 (capped at max position)\n  ✅ Below threshold ($0.15) - BUY opportunity! 📉 (dropped 15% in 24h)\n  Executing trade...\n  ✅ Bought 62.5 shares @ $0.12\n\n📊 Summary:\n  Events scanned: 12\n  Entry opportunities: 1\n  Trades executed: 1"
      },
      {
        "title": "Troubleshooting",
        "body": "\"Safeguard blocked: Severe flip-flop warning\"\n\nYou've been changing direction too much on this market\nWait before trading again\n\n\"Slippage too high\"\n\nMarket is illiquid, reduce position size or skip\n\n\"Resolves in Xh - too soon\"\n\nMarket resolving soon, risk is elevated\n\n\"No weather markets found\"\n\nWeather markets may not be active (seasonal)\n\n\"External wallet requires a pre-signed order\"\n\nWALLET_PRIVATE_KEY is not set in the environment\nThe SDK signs orders automatically when this env var is present — no manual signing code needed\nFix: export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>\nDo NOT attempt to sign orders manually or modify the skill code — the SDK handles it\n\n\"Balance shows $0 but I have USDC on Polygon\"\n\nPolymarket uses USDC.e (bridged USDC, contract 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174) — not native USDC\nIf you bridged USDC to Polygon recently, you likely received native USDC\nSwap native USDC to USDC.e, then retry\n\n\"API key invalid\"\n\nGet new key from simmer.markets/dashboard → SDK tab"
      }
    ],
    "body": "Polymarket Weather Trader\n\nTrade temperature markets on Polymarket using NOAA forecast data.\n\nThis is a template. The default signal is NOAA temperature forecasts — remix it with other weather APIs, different forecast models, or additional market types (precipitation, wind, etc.). The skill handles all the plumbing (market discovery, NOAA parsing, trade execution, safeguards). Your agent provides the alpha.\n\nWhen to Use This Skill\n\nUse this skill when the user wants to:\n\nTrade weather markets automatically\nSet up gopfan2-style temperature trading\nBuy low on weather predictions\nCheck their weather trading positions\nConfigure trading thresholds or locations\nWhat's New in v1.14.0\nFixed env var names to match autotune registry (old names still work as aliases):\nSIMMER_WEATHER_ENTRY → SIMMER_WEATHER_ENTRY_THRESHOLD\nSIMMER_WEATHER_EXIT → SIMMER_WEATHER_EXIT_THRESHOLD\nSIMMER_WEATHER_MAX_POSITION → SIMMER_WEATHER_MAX_POSITION_USD\nSIMMER_WEATHER_MAX_TRADES → SIMMER_WEATHER_MAX_TRADES_PER_RUN\nNew tunable: SIMMER_WEATHER_SLIPPAGE_MAX — adjustable slippage safeguard (default 15%). Set higher for research mode on illiquid markets.\nNew tunable: SIMMER_WEATHER_MIN_LIQUIDITY — skip markets with liquidity below this USD threshold (default 0 = disabled). Pre-filters thin markets before execution.\nSIMMER_WEATHER_LOCATIONS and SIMMER_WEATHER_BINARY_ONLY now exposed as autotune tunables.\nv1.13.0\nBinary Only Mode: New SIMMER_WEATHER_BINARY_ONLY config to skip range-bucket events (e.g., \"NYC 34-35°F\") and only trade binary yes/no weather markets\nv1.2.0\nMax Trades Per Run: New SIMMER_WEATHER_MAX_TRADES config to limit trades per scan cycle (default: 5)\nv1.1.1\nStatus Script: New scripts/status.py for quick balance and position checks\nAPI Reference: Added Quick Commands section with API endpoints\nv1.1.0\nSource Tagging: All trades tagged with sdk:weather for portfolio tracking\nSmart Sizing: Position sizing based on available balance (--smart-sizing)\nContext Safeguards: Checks for flip-flop warnings, slippage, time decay\nPrice Trend Detection: Detects recent price drops for stronger signals\nSetup Flow\n\nWhen user asks to install or configure this skill:\n\nAsk for Simmer API key\n\nThey can get it from simmer.markets/dashboard → SDK tab\nStore in environment as SIMMER_API_KEY\n\nAsk for wallet private key (required for live trading)\n\nThis is the private key for their Polymarket wallet (the wallet that holds USDC)\nStore in environment as WALLET_PRIVATE_KEY\nThe SDK uses this to sign orders client-side automatically — no manual signing needed\n\nAsk about settings (or confirm defaults)\n\nEntry threshold: When to buy (default 15¢)\nExit threshold: When to sell (default 45¢)\nMax position: Amount per trade (default $2.00)\nLocations: Which cities to trade (default NYC)\n\nSave settings to environment variables\n\nSet up cron (disabled by default — user must enable scheduling)\n\nConfiguration\nSetting\tEnvironment Variable\tDefault\tDescription\nEntry threshold\tSIMMER_WEATHER_ENTRY_THRESHOLD\t0.15\tBuy when price below this\nExit threshold\tSIMMER_WEATHER_EXIT_THRESHOLD\t0.45\tSell when price above this\nMax position\tSIMMER_WEATHER_MAX_POSITION_USD\t2.00\tMaximum USD per trade\nMax trades/run\tSIMMER_WEATHER_MAX_TRADES_PER_RUN\t5\tMaximum trades per scan cycle\nLocations\tSIMMER_WEATHER_LOCATIONS\tNYC\tComma-separated cities (NYC, Chicago, Seattle, Atlanta, Dallas, Miami)\nBinary only\tSIMMER_WEATHER_BINARY_ONLY\tfalse\tSkip range-bucket events (e.g., \"34-35°F\"), only trade binary yes/no markets\nSmart sizing %\tSIMMER_WEATHER_SIZING_PCT\t0.05\t% of balance per trade\nSlippage max\tSIMMER_WEATHER_SLIPPAGE_MAX\t0.15\tSkip trades with slippage above this (0.15 = 15%)\nMin liquidity\tSIMMER_WEATHER_MIN_LIQUIDITY\t0\tSkip markets with liquidity below this USD amount (0 = disabled)\n\nLegacy env var aliases (still accepted for backwards compatibility): SIMMER_WEATHER_ENTRY, SIMMER_WEATHER_EXIT, SIMMER_WEATHER_MAX_POSITION, SIMMER_WEATHER_MAX_TRADES\n\nSupported locations: NYC, Chicago, Seattle, Atlanta, Dallas, Miami\n\nQuick Commands\n# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions\n\n\nAPI Reference:\n\nBase URL: https://api.simmer.markets\nAuth: Authorization: Bearer $SIMMER_API_KEY\nPortfolio: GET /api/sdk/portfolio\nPositions: GET /api/sdk/positions\nRunning the Skill\n# Dry run (default — shows opportunities, no trades)\npython weather_trader.py\n\n# Execute real trades\npython weather_trader.py --live\n\n# With smart position sizing (uses portfolio balance)\npython weather_trader.py --live --smart-sizing\n\n# Check positions only\npython weather_trader.py --positions\n\n# View config\npython weather_trader.py --config\n\n# Disable safeguards (not recommended)\npython weather_trader.py --no-safeguards\n\n# Disable trend detection\npython weather_trader.py --no-trends\n\n# Quiet mode — only output on trades/errors (ideal for high-frequency runs)\npython weather_trader.py --live --quiet\n\n# Combine: frequent scanning, minimal noise\npython weather_trader.py --live --smart-sizing --quiet\n\nHow It Works\n\nEach cycle the script:\n\nFetches active weather markets from Simmer API\nGroups markets by event (each temperature day is one event)\nParses event names to get location and date\nFetches NOAA forecast for that location/date\nFinds the temperature bucket that matches the forecast\nSafeguards: Checks context for flip-flop warnings, slippage, time decay\nTrend Detection: Looks for recent price drops (stronger buy signal)\nEntry: If bucket price < threshold and safeguards pass → BUY\nExit: Checks open positions, sells if price > exit threshold\nTagging: All trades tagged with sdk:weather for tracking\nSmart Sizing\n\nWith --smart-sizing, position size is calculated as:\n\n5% of available USDC balance (configurable via SIMMER_WEATHER_SIZING_PCT)\nCapped at max position setting ($2.00 default)\nFalls back to fixed size if portfolio unavailable\n\nThis prevents over-deployment and scales with your account size.\n\nSafeguards\n\nBefore trading, the skill checks:\n\nFlip-flop warning: Skips if you've been reversing too much\nSlippage: Skips if estimated slippage > 15%\nTime decay: Skips if market resolves in < 2 hours\nMarket status: Skips if market already resolved\n\nDisable with --no-safeguards (not recommended).\n\nSource Tagging\n\nAll trades are tagged with source: \"sdk:weather\". This means:\n\nPortfolio shows breakdown by strategy\nCopytrading skill won't sell your weather positions\nYou can track weather P&L separately\nExample Output\n🌤️ Simmer Weather Trading Skill\n==================================================\n\n⚙️ Configuration:\n  Entry threshold: 15% (buy below this)\n  Exit threshold:  45% (sell above this)\n  Max position:    $2.00\n  Locations:       NYC\n  Smart sizing:    ✓ Enabled\n  Safeguards:      ✓ Enabled\n  Trend detection: ✓ Enabled\n\n💰 Portfolio:\n  Balance: $150.00\n  Exposure: $45.00\n  Positions: 8\n\n📍 NYC 2026-01-28 (high temp)\n  NOAA forecast: 34°F\n  Matching bucket: 34-35°F @ $0.12\n  💡 Smart sizing: $2.00 (capped at max position)\n  ✅ Below threshold ($0.15) - BUY opportunity! 📉 (dropped 15% in 24h)\n  Executing trade...\n  ✅ Bought 62.5 shares @ $0.12\n\n📊 Summary:\n  Events scanned: 12\n  Entry opportunities: 1\n  Trades executed: 1\n\nTroubleshooting\n\n\"Safeguard blocked: Severe flip-flop warning\"\n\nYou've been changing direction too much on this market\nWait before trading again\n\n\"Slippage too high\"\n\nMarket is illiquid, reduce position size or skip\n\n\"Resolves in Xh - too soon\"\n\nMarket resolving soon, risk is elevated\n\n\"No weather markets found\"\n\nWeather markets may not be active (seasonal)\n\n\"External wallet requires a pre-signed order\"\n\nWALLET_PRIVATE_KEY is not set in the environment\nThe SDK signs orders automatically when this env var is present — no manual signing code needed\nFix: export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>\nDo NOT attempt to sign orders manually or modify the skill code — the SDK handles it\n\n\"Balance shows $0 but I have USDC on Polygon\"\n\nPolymarket uses USDC.e (bridged USDC, contract 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174) — not native USDC\nIf you bridged USDC to Polygon recently, you likely received native USDC\nSwap native USDC to USDC.e, then retry\n\n\"API key invalid\"\n\nGet new key from simmer.markets/dashboard → SDK tab"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/adlai88/polymarket-weather-trader",
    "publisherUrl": "https://clawhub.ai/adlai88/polymarket-weather-trader",
    "owner": "adlai88",
    "version": "1.15.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/polymarket-weather-trader",
    "downloadUrl": "https://openagent3.xyz/downloads/polymarket-weather-trader",
    "agentUrl": "https://openagent3.xyz/skills/polymarket-weather-trader/agent",
    "manifestUrl": "https://openagent3.xyz/skills/polymarket-weather-trader/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/polymarket-weather-trader/agent.md"
  }
}