{
  "schemaVersion": "1.0",
  "item": {
    "slug": "prediction-market-arbitrage",
    "name": "Prediction Market Arbitrage",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/h4gen/prediction-market-arbitrage",
    "canonicalUrl": "https://clawhub.ai/h4gen/prediction-market-arbitrage",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/prediction-market-arbitrage",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=prediction-market-arbitrage",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/inspected-skills.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",
      "slug": "prediction-market-arbitrage",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T08:44:14.196Z",
      "expiresAt": "2026-05-14T08:44:14.196Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=prediction-market-arbitrage",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=prediction-market-arbitrage",
        "contentDisposition": "attachment; filename=\"prediction-market-arbitrage-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "prediction-market-arbitrage"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/prediction-market-arbitrage"
    },
    "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/prediction-market-arbitrage",
    "agentPageUrl": "https://openagent3.xyz/skills/prediction-market-arbitrage/agent",
    "manifestUrl": "https://openagent3.xyz/skills/prediction-market-arbitrage/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/prediction-market-arbitrage/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": "Purpose",
        "body": "Use this meta-skill to coordinate three existing ClawHub skills into one causal arbitrage workflow:\n\nDetect new high-signal news about a target event.\nFetch current market-implied probability from Polymarket.\nCompare news confidence vs market probability.\nEmit actionable alert, optionally followed by explicit execution guidance.\n\nThis skill does not replace the underlying skills. It defines how to combine them correctly."
      },
      {
        "title": "Required Installed Skills",
        "body": "This meta-skill assumes these are already installed locally:\n\ntopic-monitor (inspected: latest 1.3.4)\npolymarket-odds (inspected: latest 1.0.0)\nsimmer-weather (inspected: latest 1.7.1, execution proxy pattern)\n\nInstall/refresh with ClawHub:\n\nnpx -y clawhub@latest install topic-monitor\nnpx -y clawhub@latest install polymarket-odds\nnpx -y clawhub@latest install simmer-weather\nnpx -y clawhub@latest update --all\n\nVerify:\n\nnpx -y clawhub@latest list\npython3 skills/topic-monitor/scripts/monitor.py --help\nnode skills/polymarket-odds/polymarket.mjs --help\npython3 skills/simmer-weather/weather_trader.py --help\n\nIf any command fails, stop and report missing dependency or wrong install path."
      },
      {
        "title": "Inputs the LM Must Collect First",
        "body": "ceo_name\ncompany_name\nevent_hypothesis (for example: CEO X resigns within 30 days)\nmarket_query (for polymarket search)\ntopic_id (stable ID in topic-monitor)\nmonitor_interval_minutes (default: 5)\nmin_news_confidence (default: 0.80)\nmin_delta (default: 0.25)\nexecution_mode (alert-only or execution-plan)\n\nDo not continue with implicit trading assumptions if these are missing."
      },
      {
        "title": "topic-monitor",
        "body": "Use for continuous signal discovery and scoring.\n\nOperationally relevant behavior:\n\nTopic config via scripts/manage_topics.py.\nMonitoring loop via scripts/monitor.py.\nPriority/score generated by its scoring logic.\nAlert queue retrieval via scripts/process_alerts.py --json.\n\nThis is the source of news confidence candidates."
      },
      {
        "title": "polymarket-odds",
        "body": "Use for live market probability lookups.\n\nOperationally relevant behavior:\n\nsearch <query> to find matching events/markets.\nmarket <slug> to inspect specific market pricing.\nOutputs percentage-formatted odds that must be normalized to [0,1].\n\nThis is the source of market probability."
      },
      {
        "title": "simmer-weather",
        "body": "Primary design is weather strategy, but in this chain it is treated as execution proxy reference because it uses Simmer SDK trade endpoints and live/dry-run safety pattern.\n\nOperationally relevant behavior:\n\nRequires SIMMER_API_KEY.\nSupports dry-run and live execution modes.\nDemonstrates guarded trading workflow and position checks.\n\nIn this meta-skill, it is not the signal engine. It is the execution pattern reference."
      },
      {
        "title": "Canonical Causal Chain",
        "body": "Use this exact chain:\n\ntopic-monitor heartbeat every 5 minutes.\nMatch target rumor pattern (resignation, ceo_name, company_name).\nAccept only high-confidence signal (news_confidence >= 0.80).\nQuery polymarket-odds for matching market and read current yes probability.\nCompute delta = news_confidence - market_probability.\nIf delta >= min_delta, trigger arbitrage alert.\nIf execution_mode=execution-plan, output explicit next trading step; do not auto-trade unless user explicitly asks."
      },
      {
        "title": "Data Contract Between Skills",
        "body": "Normalize all values into one record before decisioning:\n\n{\n  \"topic_id\": \"ceo-resignation-acme\",\n  \"event_hypothesis\": \"CEO X resigns\",\n  \"news_confidence\": 0.82,\n  \"news_signal_time\": \"2026-02-14T14:05:00Z\",\n  \"market_slug\": \"will-ceo-x-resign\",\n  \"market_probability\": 0.40,\n  \"market_snapshot_time\": \"2026-02-14T14:06:00Z\",\n  \"delta\": 0.42,\n  \"decision\": \"buy_yes_candidate\"\n}\n\nHard rules:\n\nReject stale signal if news_signal_time is older than 30 minutes.\nReject stale market snapshot older than 5 minutes.\nNever compare percentages and decimals mixed. Convert all to decimals first."
      },
      {
        "title": "Step A: Configure topic once",
        "body": "python3 skills/topic-monitor/scripts/manage_topics.py add \\\n  \"CEO Resignation - <company_name>\" \\\n  --id <topic_id> \\\n  --query \"<ceo_name> resignation <company_name> CEO stepping down\" \\\n  --keywords \"resignation,<ceo_name>,<company_name>,CEO,board,step down\" \\\n  --frequency hourly \\\n  --importance high \\\n  --channels telegram \\\n  --context \"Prediction market mispricing detection\""
      },
      {
        "title": "Step B: Run heartbeat loop externally (every 5 min)",
        "body": "python3 skills/topic-monitor/scripts/monitor.py --topic <topic_id> --force\npython3 skills/topic-monitor/scripts/process_alerts.py --json\n\nUse max recent score for confidence extraction."
      },
      {
        "title": "Step C: Pull market probability",
        "body": "node skills/polymarket-odds/polymarket.mjs search \"<market_query>\"\nnode skills/polymarket-odds/polymarket.mjs market <market_slug>\n\nExtract yes-price and normalize (40% -> 0.40)."
      },
      {
        "title": "Step D: Decide",
        "body": "Formula:\n\ndelta = news_confidence - market_probability\nTrigger if news_confidence >= min_news_confidence and delta >= min_delta"
      },
      {
        "title": "Step E: Emit output",
        "body": "If triggered, emit:\n\n🚨 ARBITRAGE: News bestätigen, Markt schläft. Kauf empfohlen.\n\nPlus structured fields:\n\nnews_confidence\nmarket_probability\ndelta\nsignal_age_minutes\nmarket_age_minutes\nrecommendation"
      },
      {
        "title": "alert-only",
        "body": "Return recommendation and confidence math only. No execution step."
      },
      {
        "title": "execution-plan",
        "body": "Return recommendation plus explicit manual next actions using installed simmer-weather runtime pattern:\n\ncheck API key present\nrun dry-run first\nrequire explicit user confirmation before any live action"
      },
      {
        "title": "Guardrails for the LM",
        "body": "Do not fabricate market slugs or prices.\nDo not promote execution when confidence math is below threshold.\nDo not issue live-trade instructions without clear user opt-in.\nSurface uncertainty explicitly when matching query to market is ambiguous.\nPrefer false-negative over false-positive when news credibility is weak."
      },
      {
        "title": "Failure Handling",
        "body": "Missing skill install: output exact missing path/command.\nMissing env var (SIMMER_API_KEY): degrade to alert-only.\nNo market match: return no_trade with retry query suggestions.\nConflicting signals: require two independent high-confidence hits before alerting."
      },
      {
        "title": "Why This Meta-Skill Exists",
        "body": "Without orchestration, each tool solves only a fragment:\n\ntopic-monitor detects events but has no market-price context.\npolymarket-odds shows prices but no external signal confidence.\nsimmer-weather demonstrates execution mechanics but is not a generic event detector.\n\nThis meta-skill binds those fragments into one coherent arbitrage decision process that an LM can execute consistently."
      }
    ],
    "body": "Purpose\n\nUse this meta-skill to coordinate three existing ClawHub skills into one causal arbitrage workflow:\n\nDetect new high-signal news about a target event.\nFetch current market-implied probability from Polymarket.\nCompare news confidence vs market probability.\nEmit actionable alert, optionally followed by explicit execution guidance.\n\nThis skill does not replace the underlying skills. It defines how to combine them correctly.\n\nRequired Installed Skills\n\nThis meta-skill assumes these are already installed locally:\n\ntopic-monitor (inspected: latest 1.3.4)\npolymarket-odds (inspected: latest 1.0.0)\nsimmer-weather (inspected: latest 1.7.1, execution proxy pattern)\n\nInstall/refresh with ClawHub:\n\nnpx -y clawhub@latest install topic-monitor\nnpx -y clawhub@latest install polymarket-odds\nnpx -y clawhub@latest install simmer-weather\nnpx -y clawhub@latest update --all\n\n\nVerify:\n\nnpx -y clawhub@latest list\npython3 skills/topic-monitor/scripts/monitor.py --help\nnode skills/polymarket-odds/polymarket.mjs --help\npython3 skills/simmer-weather/weather_trader.py --help\n\n\nIf any command fails, stop and report missing dependency or wrong install path.\n\nInputs the LM Must Collect First\nceo_name\ncompany_name\nevent_hypothesis (for example: CEO X resigns within 30 days)\nmarket_query (for polymarket search)\ntopic_id (stable ID in topic-monitor)\nmonitor_interval_minutes (default: 5)\nmin_news_confidence (default: 0.80)\nmin_delta (default: 0.25)\nexecution_mode (alert-only or execution-plan)\n\nDo not continue with implicit trading assumptions if these are missing.\n\nSkill Responsibilities (What Each Tool Actually Does)\ntopic-monitor\n\nUse for continuous signal discovery and scoring.\n\nOperationally relevant behavior:\n\nTopic config via scripts/manage_topics.py.\nMonitoring loop via scripts/monitor.py.\nPriority/score generated by its scoring logic.\nAlert queue retrieval via scripts/process_alerts.py --json.\n\nThis is the source of news confidence candidates.\n\npolymarket-odds\n\nUse for live market probability lookups.\n\nOperationally relevant behavior:\n\nsearch <query> to find matching events/markets.\nmarket <slug> to inspect specific market pricing.\nOutputs percentage-formatted odds that must be normalized to [0,1].\n\nThis is the source of market probability.\n\nsimmer-weather\n\nPrimary design is weather strategy, but in this chain it is treated as execution proxy reference because it uses Simmer SDK trade endpoints and live/dry-run safety pattern.\n\nOperationally relevant behavior:\n\nRequires SIMMER_API_KEY.\nSupports dry-run and live execution modes.\nDemonstrates guarded trading workflow and position checks.\n\nIn this meta-skill, it is not the signal engine. It is the execution pattern reference.\n\nCanonical Causal Chain\n\nUse this exact chain:\n\ntopic-monitor heartbeat every 5 minutes.\nMatch target rumor pattern (resignation, ceo_name, company_name).\nAccept only high-confidence signal (news_confidence >= 0.80).\nQuery polymarket-odds for matching market and read current yes probability.\nCompute delta = news_confidence - market_probability.\nIf delta >= min_delta, trigger arbitrage alert.\nIf execution_mode=execution-plan, output explicit next trading step; do not auto-trade unless user explicitly asks.\nData Contract Between Skills\n\nNormalize all values into one record before decisioning:\n\n{\n  \"topic_id\": \"ceo-resignation-acme\",\n  \"event_hypothesis\": \"CEO X resigns\",\n  \"news_confidence\": 0.82,\n  \"news_signal_time\": \"2026-02-14T14:05:00Z\",\n  \"market_slug\": \"will-ceo-x-resign\",\n  \"market_probability\": 0.40,\n  \"market_snapshot_time\": \"2026-02-14T14:06:00Z\",\n  \"delta\": 0.42,\n  \"decision\": \"buy_yes_candidate\"\n}\n\n\nHard rules:\n\nReject stale signal if news_signal_time is older than 30 minutes.\nReject stale market snapshot older than 5 minutes.\nNever compare percentages and decimals mixed. Convert all to decimals first.\nLM Execution Playbook\nStep A: Configure topic once\npython3 skills/topic-monitor/scripts/manage_topics.py add \\\n  \"CEO Resignation - <company_name>\" \\\n  --id <topic_id> \\\n  --query \"<ceo_name> resignation <company_name> CEO stepping down\" \\\n  --keywords \"resignation,<ceo_name>,<company_name>,CEO,board,step down\" \\\n  --frequency hourly \\\n  --importance high \\\n  --channels telegram \\\n  --context \"Prediction market mispricing detection\"\n\nStep B: Run heartbeat loop externally (every 5 min)\npython3 skills/topic-monitor/scripts/monitor.py --topic <topic_id> --force\npython3 skills/topic-monitor/scripts/process_alerts.py --json\n\n\nUse max recent score for confidence extraction.\n\nStep C: Pull market probability\nnode skills/polymarket-odds/polymarket.mjs search \"<market_query>\"\nnode skills/polymarket-odds/polymarket.mjs market <market_slug>\n\n\nExtract yes-price and normalize (40% -> 0.40).\n\nStep D: Decide\n\nFormula:\n\ndelta = news_confidence - market_probability\nTrigger if news_confidence >= min_news_confidence and delta >= min_delta\nStep E: Emit output\n\nIf triggered, emit:\n\n🚨 ARBITRAGE: News bestätigen, Markt schläft. Kauf empfohlen.\n\nPlus structured fields:\n\nnews_confidence\nmarket_probability\ndelta\nsignal_age_minutes\nmarket_age_minutes\nrecommendation\nOutput Modes\nalert-only\n\nReturn recommendation and confidence math only. No execution step.\n\nexecution-plan\n\nReturn recommendation plus explicit manual next actions using installed simmer-weather runtime pattern:\n\ncheck API key present\nrun dry-run first\nrequire explicit user confirmation before any live action\nGuardrails for the LM\nDo not fabricate market slugs or prices.\nDo not promote execution when confidence math is below threshold.\nDo not issue live-trade instructions without clear user opt-in.\nSurface uncertainty explicitly when matching query to market is ambiguous.\nPrefer false-negative over false-positive when news credibility is weak.\nFailure Handling\nMissing skill install: output exact missing path/command.\nMissing env var (SIMMER_API_KEY): degrade to alert-only.\nNo market match: return no_trade with retry query suggestions.\nConflicting signals: require two independent high-confidence hits before alerting.\nWhy This Meta-Skill Exists\n\nWithout orchestration, each tool solves only a fragment:\n\ntopic-monitor detects events but has no market-price context.\npolymarket-odds shows prices but no external signal confidence.\nsimmer-weather demonstrates execution mechanics but is not a generic event detector.\n\nThis meta-skill binds those fragments into one coherent arbitrage decision process that an LM can execute consistently."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/h4gen/prediction-market-arbitrage",
    "publisherUrl": "https://clawhub.ai/h4gen/prediction-market-arbitrage",
    "owner": "h4gen",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/prediction-market-arbitrage",
    "downloadUrl": "https://openagent3.xyz/downloads/prediction-market-arbitrage",
    "agentUrl": "https://openagent3.xyz/skills/prediction-market-arbitrage/agent",
    "manifestUrl": "https://openagent3.xyz/skills/prediction-market-arbitrage/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/prediction-market-arbitrage/agent.md"
  }
}