{
  "schemaVersion": "1.0",
  "item": {
    "slug": "manifold",
    "name": "Manifold Markets",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Crotalus/manifold",
    "canonicalUrl": "https://clawhub.ai/Crotalus/manifold",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/manifold",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=manifold",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "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/manifold"
    },
    "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/manifold",
    "agentPageUrl": "https://openagent3.xyz/skills/manifold/agent",
    "manifestUrl": "https://openagent3.xyz/skills/manifold/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/manifold/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": "Manifold Markets",
        "body": "Use this skill to read from Manifold Markets (search markets, fetch probabilities, inspect public user info) and to place trades/comments with explicit confirmation.\n\nWrite actions require MANIFOLD_API_KEY (in the environment or configured via OpenClaw skill entries).\n\nBase URL: https://api.manifold.markets/v0\n\nDocs: https://docs.manifold.markets/api"
      },
      {
        "title": "Search markets",
        "body": "curl -s \"https://api.manifold.markets/v0/search-markets?term=AI+safety&limit=5\"\n\nTip: replace spaces with + (or URL-encode). If you have jq, format results:\n\ncurl -s \"https://api.manifold.markets/v0/search-markets?term=AI+safety&limit=5\" | jq '.[] | {id, slug, question, outcomeType, probability, createdTime, creatorUsername}'"
      },
      {
        "title": "List newest markets",
        "body": "curl -s \"https://api.manifold.markets/v0/markets?limit=10\"\n\nWith jq:\n\ncurl -s \"https://api.manifold.markets/v0/markets?limit=10\" | jq '.[] | {id, slug, question, outcomeType, probability, closeTime}'"
      },
      {
        "title": "Get market details (by ID)",
        "body": "curl -s \"https://api.manifold.markets/v0/market/MARKET_ID\"\n\nBinary markets usually expose probability (0..1). Other market types may not have a single probability field."
      },
      {
        "title": "Get market details (by slug)",
        "body": "The slug is the portion of the Manifold URL after the username (e.g. .../Alice/my-market-slug → my-market-slug).\n\ncurl -s \"https://api.manifold.markets/v0/slug/MARKET_SLUG\""
      },
      {
        "title": "Inspect a user (by username)",
        "body": "curl -s \"https://api.manifold.markets/v0/user/USERNAME\""
      },
      {
        "title": "List bets for a user",
        "body": "If you have jq:\n\nUSER_ID=\"$(curl -s \"https://api.manifold.markets/v0/user/USERNAME\" | jq -r '.id')\"\ncurl -s \"https://api.manifold.markets/v0/bets?userId=$USER_ID&limit=50\"\n\nWithout jq, fetch the user JSON and read the id field, then use it:\n\ncurl -s \"https://api.manifold.markets/v0/user/USERNAME\"\ncurl -s \"https://api.manifold.markets/v0/bets?userId=USER_ID&limit=50\""
      },
      {
        "title": "Write safety rules",
        "body": "Never place a bet, sell shares, or post a comment unless the user explicitly confirms (e.g. “yes, place it”, “confirm”, “do it”).\nAlways fetch the market first and restate: market question, market id/slug, action (bet/sell/comment), side/answer, amount/shares, and any limits.\nIf the user is not explicit about amount/side, stop and ask."
      },
      {
        "title": "Write tasks",
        "body": "Authentication\n\nUses MANIFOLD_API_KEY in header: Authorization: Key $MANIFOLD_API_KEY\nSet MANIFOLD_API_KEY (or skills.manifold.apiKey in ~/.openclaw/openclaw.json)."
      },
      {
        "title": "Place a bet (binary market)",
        "body": "Fetch the market and confirm it’s the right one:\n\ncurl -s \"https://api.manifold.markets/v0/market/MARKET_ID\"\n\nPreview the exact payload you intend to send (do not run the POST until user confirms):\n\ncat <<'JSON'\n{\"amount\":10,\"contractId\":\"MARKET_ID\",\"outcome\":\"YES\"}\nJSON\n\nAfter explicit confirmation, place the bet:\n\ncurl -s -X POST \"https://api.manifold.markets/v0/bet\" \\\n  -H \"Authorization: Key $MANIFOLD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"amount\":10,\"contractId\":\"MARKET_ID\",\"outcome\":\"YES\"}'\n\nNotes:\n\namount is in Mana (integer).\noutcome is YES or NO for binary markets.\nFor non-binary markets, consult the Manifold API docs for the correct payload."
      },
      {
        "title": "Sell shares",
        "body": "Preview first (do not run until user confirms).\n\nSell all shares for an outcome (omit shares to sell all):\n\ncurl -s -X POST \"https://api.manifold.markets/v0/market/MARKET_ID/sell\" \\\n  -H \"Authorization: Key $MANIFOLD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"outcome\":\"YES\"}'\n\nSell a specific number of shares:\n\ncurl -s -X POST \"https://api.manifold.markets/v0/market/MARKET_ID/sell\" \\\n  -H \"Authorization: Key $MANIFOLD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"outcome\":\"YES\",\"shares\":10}'"
      },
      {
        "title": "Post a comment",
        "body": "Comments made through the API can incur a fee (see Manifold API docs). Always confirm text + target market.\n\ncurl -s -X POST \"https://api.manifold.markets/v0/comment\" \\\n  -H \"Authorization: Key $MANIFOLD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"contractId\":\"MARKET_ID\",\"content\":\"Your comment here.\"}'"
      },
      {
        "title": "Notes",
        "body": "Rate limits apply (see Manifold API docs).\nPrivate/unlisted markets may not be accessible via the public API depending on current platform behavior."
      }
    ],
    "body": "Manifold Markets\n\nUse this skill to read from Manifold Markets (search markets, fetch probabilities, inspect public user info) and to place trades/comments with explicit confirmation.\n\nWrite actions require MANIFOLD_API_KEY (in the environment or configured via OpenClaw skill entries).\n\nBase URL: https://api.manifold.markets/v0\n\nDocs: https://docs.manifold.markets/api\n\nRead tasks\nSearch markets\ncurl -s \"https://api.manifold.markets/v0/search-markets?term=AI+safety&limit=5\"\n\n\nTip: replace spaces with + (or URL-encode). If you have jq, format results:\n\ncurl -s \"https://api.manifold.markets/v0/search-markets?term=AI+safety&limit=5\" | jq '.[] | {id, slug, question, outcomeType, probability, createdTime, creatorUsername}'\n\nList newest markets\ncurl -s \"https://api.manifold.markets/v0/markets?limit=10\"\n\n\nWith jq:\n\ncurl -s \"https://api.manifold.markets/v0/markets?limit=10\" | jq '.[] | {id, slug, question, outcomeType, probability, closeTime}'\n\nGet market details (by ID)\ncurl -s \"https://api.manifold.markets/v0/market/MARKET_ID\"\n\n\nBinary markets usually expose probability (0..1). Other market types may not have a single probability field.\n\nGet market details (by slug)\n\nThe slug is the portion of the Manifold URL after the username (e.g. .../Alice/my-market-slug → my-market-slug).\n\ncurl -s \"https://api.manifold.markets/v0/slug/MARKET_SLUG\"\n\nInspect a user (by username)\ncurl -s \"https://api.manifold.markets/v0/user/USERNAME\"\n\nList bets for a user\n\nIf you have jq:\n\nUSER_ID=\"$(curl -s \"https://api.manifold.markets/v0/user/USERNAME\" | jq -r '.id')\"\ncurl -s \"https://api.manifold.markets/v0/bets?userId=$USER_ID&limit=50\"\n\n\nWithout jq, fetch the user JSON and read the id field, then use it:\n\ncurl -s \"https://api.manifold.markets/v0/user/USERNAME\"\ncurl -s \"https://api.manifold.markets/v0/bets?userId=USER_ID&limit=50\"\n\nWrite safety rules\nNever place a bet, sell shares, or post a comment unless the user explicitly confirms (e.g. “yes, place it”, “confirm”, “do it”).\nAlways fetch the market first and restate: market question, market id/slug, action (bet/sell/comment), side/answer, amount/shares, and any limits.\nIf the user is not explicit about amount/side, stop and ask.\nWrite tasks\n\nAuthentication\n\nUses MANIFOLD_API_KEY in header: Authorization: Key $MANIFOLD_API_KEY\nSet MANIFOLD_API_KEY (or skills.manifold.apiKey in ~/.openclaw/openclaw.json).\nPlace a bet (binary market)\nFetch the market and confirm it’s the right one:\ncurl -s \"https://api.manifold.markets/v0/market/MARKET_ID\"\n\nPreview the exact payload you intend to send (do not run the POST until user confirms):\ncat <<'JSON'\n{\"amount\":10,\"contractId\":\"MARKET_ID\",\"outcome\":\"YES\"}\nJSON\n\nAfter explicit confirmation, place the bet:\ncurl -s -X POST \"https://api.manifold.markets/v0/bet\" \\\n  -H \"Authorization: Key $MANIFOLD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"amount\":10,\"contractId\":\"MARKET_ID\",\"outcome\":\"YES\"}'\n\n\nNotes:\n\namount is in Mana (integer).\noutcome is YES or NO for binary markets.\nFor non-binary markets, consult the Manifold API docs for the correct payload.\nSell shares\n\nPreview first (do not run until user confirms).\n\nSell all shares for an outcome (omit shares to sell all):\n\ncurl -s -X POST \"https://api.manifold.markets/v0/market/MARKET_ID/sell\" \\\n  -H \"Authorization: Key $MANIFOLD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"outcome\":\"YES\"}'\n\n\nSell a specific number of shares:\n\ncurl -s -X POST \"https://api.manifold.markets/v0/market/MARKET_ID/sell\" \\\n  -H \"Authorization: Key $MANIFOLD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"outcome\":\"YES\",\"shares\":10}'\n\nPost a comment\n\nComments made through the API can incur a fee (see Manifold API docs). Always confirm text + target market.\n\ncurl -s -X POST \"https://api.manifold.markets/v0/comment\" \\\n  -H \"Authorization: Key $MANIFOLD_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"contractId\":\"MARKET_ID\",\"content\":\"Your comment here.\"}'\n\nNotes\nRate limits apply (see Manifold API docs).\nPrivate/unlisted markets may not be accessible via the public API depending on current platform behavior."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Crotalus/manifold",
    "publisherUrl": "https://clawhub.ai/Crotalus/manifold",
    "owner": "Crotalus",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/manifold",
    "downloadUrl": "https://openagent3.xyz/downloads/manifold",
    "agentUrl": "https://openagent3.xyz/skills/manifold/agent",
    "manifestUrl": "https://openagent3.xyz/skills/manifold/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/manifold/agent.md"
  }
}