{
  "schemaVersion": "1.0",
  "item": {
    "slug": "simmer-skill-builder",
    "name": "Simmer Skill Builder",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/adlai88/simmer-skill-builder",
    "canonicalUrl": "https://clawhub.ai/adlai88/simmer-skill-builder",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/simmer-skill-builder",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=simmer-skill-builder",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "clawhub.json",
      "references/example-mert-sniper.md",
      "references/example-weather-trader.md",
      "references/simmer-api.md",
      "references/skill-template.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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/simmer-skill-builder"
    },
    "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/simmer-skill-builder",
    "agentPageUrl": "https://openagent3.xyz/skills/simmer-skill-builder/agent",
    "manifestUrl": "https://openagent3.xyz/skills/simmer-skill-builder/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/simmer-skill-builder/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": "Simmer Skill Builder",
        "body": "Generate complete, runnable Simmer trading skills from a strategy description.\n\nYou are building an OpenClaw skill that trades prediction markets through the Simmer SDK. The skill you generate will be installed into your skill library and run by you — it must be a complete, self-contained folder that works out of the box."
      },
      {
        "title": "Step 1: Understand the Strategy",
        "body": "Ask your human what their strategy does. They might:\n\nDescribe a trading thesis in plain language\nPaste a tweet or thread about a strategy\nReference an external data source (Synth, NOAA, Binance, RSS, etc.)\nSay something like \"build me a bot that buys weather markets\" or \"create a skill for crypto momentum\"\n\nClarify until you understand:\n\nSignal — What data drives the decision? (external API, market price, on-chain data, timing, etc.)\nEntry logic — When to buy? (price threshold, signal divergence, timing window, etc.)\nExit logic — When to sell? (take profit threshold, time-based, signal reversal, or rely on auto-risk monitors)\nMarket selection — Which markets? (by tag, keyword, category, or discovery logic)\nPosition sizing — Fixed amount or smart sizing? What default max per trade?"
      },
      {
        "title": "Step 2: Load References",
        "body": "Read these files to understand the patterns:\n\nreferences/skill-template.md — The canonical skill skeleton. Copy the boilerplate blocks verbatim (config system, get_client, safeguards, execute_trade, CLI args).\nreferences/simmer-api.md — Simmer SDK API surface. All available methods, field names, return types.\n\nIf the Simmer MCP server is available (simmer://docs/skill-reference resource), prefer reading that for the most up-to-date API docs. Otherwise use references/simmer-api.md.\n\nFor real examples of working skills, read:\n\nreferences/example-weather-trader.md — Pattern: external API signal + Simmer SDK trading\nreferences/example-mert-sniper.md — Pattern: Simmer API only, filter-and-trade"
      },
      {
        "title": "Step 3: Get External API Docs (If Needed)",
        "body": "If the strategy uses an external data source:\n\nPolymarket CLOB data: If the Polymarket MCP server is available, search it for relevant endpoints (orderbook, prices, spreads). If not available, the key public endpoints are:\n\nGET https://clob.polymarket.com/book?token_id=<token_id> — orderbook\nGET https://clob.polymarket.com/midpoint?token_id=<token_id> — midpoint price\nGET https://clob.polymarket.com/prices-history?market=<token_id>&interval=1w&fidelity=60 — price history\nGet polymarket_token_id from the Simmer market response.\n\n\nOther APIs (Synth, NOAA, Binance, RSS, etc.): Ask your human to provide the relevant API docs, or web-fetch them if you have access."
      },
      {
        "title": "Step 4: Generate the Skill",
        "body": "Create a complete folder on disk:\n\n<skill-slug>/\n├── SKILL.md          # AgentSkills-compliant metadata + documentation\n├── clawhub.json      # ClawHub + automaton config\n├── <script>.py       # Main trading script\n└── scripts/\n    └── status.py     # Portfolio viewer (copy from references)\n\nSKILL.md Frontmatter (AgentSkills format)\n\nSimmer skills follow the AgentSkills open standard, making them compatible with Claude Code, Cursor, Gemini CLI, VS Code, and other skills-compatible agents.\n\n---\nname: <skill-slug>\ndescription: <What it does + when to trigger. Max 1024 chars.>\nmetadata:\n  author: \"<author>\"\n  version: \"1.0.0\"\n  displayName: \"<Human Readable Name>\"\n  difficulty: \"intermediate\"\n---\n\nRules:\n\nname must be lowercase, hyphens only, match folder name\ndescription is required, max 1024 chars\nmetadata values must be flat strings (AgentSkills spec)\nNO clawdbot, requires, tunables, or automaton in SKILL.md — those go in clawhub.json\nBody must include: \"This is a template\" callout, setup flow, configuration table, quick commands, example output, troubleshooting section\n\nclawhub.json (ClawHub + Automaton config)\n\n{\n  \"emoji\": \"<emoji>\",\n  \"requires\": {\n    \"env\": [\"SIMMER_API_KEY\"],\n    \"pip\": [\"simmer-sdk\"]\n  },\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"<script>.py\"\n  }\n}\n\nsimmer-sdk in requires.pip is required — this is what causes the skill to appear in the Simmer registry automatically\nrequires.env must include SIMMER_API_KEY\nautomaton.entrypoint must point to the main Python script\ntunables — declare every configurable env var here so autotune and the dashboard can surface them. This is the source of truth for tunable ranges and defaults — clawhub_sync propagates them to the skills registry automatically.\n\nExample tunables:\n\n{\n  \"tunables\": [\n    {\"env\": \"MY_SKILL_THRESHOLD\", \"type\": \"number\", \"default\": 0.15, \"range\": [0.01, 1.0], \"step\": 0.01, \"label\": \"Entry threshold\"},\n    {\"env\": \"MY_SKILL_LOCATIONS\", \"type\": \"string\", \"default\": \"NYC\", \"label\": \"Target cities (comma-separated)\"},\n    {\"env\": \"MY_SKILL_ENABLED\", \"type\": \"boolean\", \"default\": true, \"label\": \"Feature toggle\"}\n  ]\n}\n\nSupported types: number (with range and step), string, boolean. Keep defaults in sync with CONFIG_SCHEMA in your Python script.\n\nPython Script Requirements\n\nCopy these verbatim from references/skill-template.md:\n\nConfig system (from simmer_sdk.skill import load_config, update_config, get_config_path)\nget_client() singleton\ncheck_context_safeguards()\nexecute_trade()\ncalculate_position_size()\nCLI entry point with standard args (--live, --positions, --config, --set, --smart-sizing, --no-safeguards, --quiet)\n\nCustomize:\n\nCONFIG_SCHEMA — skill-specific params with SIMMER_<SKILLNAME>_<PARAM> env vars\nTRADE_SOURCE — unique tag like \"sdk:<skillname>\"\nSKILL_SLUG — must match the ClawHub slug exactly (e.g., \"polymarket-weather-trader\")\nSignal logic — your human's strategy\nMarket fetching/filtering — how to find relevant markets\nMain strategy function — the core loop"
      },
      {
        "title": "Step 5: Validate",
        "body": "Run the validator against the generated skill:\n\npython /path/to/simmer-skill-builder/scripts/validate_skill.py /path/to/generated-skill/\n\nFix any FAIL results before delivering to your human."
      },
      {
        "title": "Step 6: Publish to ClawHub",
        "body": "Once validated, publish the skill so it appears in the Simmer registry automatically:\n\nnpx clawhub@latest publish /path/to/generated-skill/ --slug <skill-slug> --version 1.0.0\n\nAfter publishing, the Simmer sync job picks it up within 6 hours and lists it at simmer.markets/skills. No submission or approval needed — publishing to ClawHub with simmer-sdk as a dependency is all it takes.\n\nTell your human:\n\n✅ Skill published to ClawHub. It will appear in the Simmer Skills Registry within 6 hours at simmer.markets/skills.\n\nFor full publishing details: simmer.markets/skillregistry.md"
      },
      {
        "title": "Hard Rules",
        "body": "Always use SimmerClient for trades. Never import py_clob_client, polymarket, or call the CLOB API directly for order placement. Simmer handles wallet signing, safety rails, and trade tracking.\nAlways default to dry-run. The --live flag must be explicitly passed for real trades.\nAlways tag trades with source=TRADE_SOURCE and skill_slug=SKILL_SLUG. SKILL_SLUG must match the ClawHub slug exactly — Simmer uses it to track per-skill volume.\nAlways include safeguards — the check_context_safeguards() function, skippable with --no-safeguards.\nAlways include reasoning in execute_trade() — it's displayed publicly and builds your reputation.\nUse stdlib only for HTTP (urllib). Don't add requests, httpx, or aiohttp as dependencies unless your human specifically needs them. The only pip dependency should be simmer-sdk.\nPolymarket minimums: 5 shares per order, $0.01 min tick. Always check before trading.\nInclude sys.stdout.reconfigure(line_buffering=True) — required for cron/Docker/OpenClaw visibility.\nget_positions() returns dataclasses — always convert with from dataclasses import asdict.\nNever expose API keys in generated code. Always read from SIMMER_API_KEY env var via get_client()."
      },
      {
        "title": "Naming Convention",
        "body": "Skill slug: polymarket-<strategy> for Polymarket-specific, simmer-<strategy> for platform-agnostic\nTrade source: sdk:<shortname> (e.g. sdk:synthvol, sdk:rssniper, sdk:momentum) — used for rebuy/conflict detection\nSkill slug: must match the ClawHub slug exactly (e.g. SKILL_SLUG = \"polymarket-synth-volatility\") — used for volume attribution\nEnv vars: SIMMER_<SHORTNAME>_<PARAM> (e.g. SIMMER_SYNTHVOL_ENTRY)\nScript name: <descriptive_name>.py (e.g. synth_volatility.py, rss_sniper.py)"
      },
      {
        "title": "Example: Tweet to Skill",
        "body": "Your human pastes:\n\n\"Build a bot that uses Synth volatility forecasts to trade Polymarket crypto hourly contracts. Buy YES when Synth probability > market price by 7%+ and Kelly size based on edge.\"\n\nYou would:\n\nUnderstand: Signal = Synth API probability vs Polymarket price. Entry = 7% divergence. Sizing = Kelly. Markets = crypto hourly contracts.\nRead references/skill-template.md for the skeleton.\nRead references/simmer-api.md for SDK methods.\nRead references/example-weather-trader.md — closest pattern (external API signal).\nAsk your human for Synth API docs or web-fetch them.\nGenerate polymarket-synth-volatility/ with:\n\nSKILL.md (setup, config table, commands)\nsynth_volatility.py (fetch Synth forecast, compare to market price, Kelly size, trade)\nscripts/status.py (copied)\n\n\nValidate with scripts/validate_skill.py.\nPublish: npx clawhub@latest publish polymarket-synth-volatility/ --slug polymarket-synth-volatility --version 1.0.0"
      }
    ],
    "body": "Simmer Skill Builder\n\nGenerate complete, runnable Simmer trading skills from a strategy description.\n\nYou are building an OpenClaw skill that trades prediction markets through the Simmer SDK. The skill you generate will be installed into your skill library and run by you — it must be a complete, self-contained folder that works out of the box.\n\nWorkflow\nStep 1: Understand the Strategy\n\nAsk your human what their strategy does. They might:\n\nDescribe a trading thesis in plain language\nPaste a tweet or thread about a strategy\nReference an external data source (Synth, NOAA, Binance, RSS, etc.)\nSay something like \"build me a bot that buys weather markets\" or \"create a skill for crypto momentum\"\n\nClarify until you understand:\n\nSignal — What data drives the decision? (external API, market price, on-chain data, timing, etc.)\nEntry logic — When to buy? (price threshold, signal divergence, timing window, etc.)\nExit logic — When to sell? (take profit threshold, time-based, signal reversal, or rely on auto-risk monitors)\nMarket selection — Which markets? (by tag, keyword, category, or discovery logic)\nPosition sizing — Fixed amount or smart sizing? What default max per trade?\nStep 2: Load References\n\nRead these files to understand the patterns:\n\nreferences/skill-template.md — The canonical skill skeleton. Copy the boilerplate blocks verbatim (config system, get_client, safeguards, execute_trade, CLI args).\nreferences/simmer-api.md — Simmer SDK API surface. All available methods, field names, return types.\n\nIf the Simmer MCP server is available (simmer://docs/skill-reference resource), prefer reading that for the most up-to-date API docs. Otherwise use references/simmer-api.md.\n\nFor real examples of working skills, read:\n\nreferences/example-weather-trader.md — Pattern: external API signal + Simmer SDK trading\nreferences/example-mert-sniper.md — Pattern: Simmer API only, filter-and-trade\nStep 3: Get External API Docs (If Needed)\n\nIf the strategy uses an external data source:\n\nPolymarket CLOB data: If the Polymarket MCP server is available, search it for relevant endpoints (orderbook, prices, spreads). If not available, the key public endpoints are:\nGET https://clob.polymarket.com/book?token_id=<token_id> — orderbook\nGET https://clob.polymarket.com/midpoint?token_id=<token_id> — midpoint price\nGET https://clob.polymarket.com/prices-history?market=<token_id>&interval=1w&fidelity=60 — price history\nGet polymarket_token_id from the Simmer market response.\nOther APIs (Synth, NOAA, Binance, RSS, etc.): Ask your human to provide the relevant API docs, or web-fetch them if you have access.\nStep 4: Generate the Skill\n\nCreate a complete folder on disk:\n\n<skill-slug>/\n├── SKILL.md          # AgentSkills-compliant metadata + documentation\n├── clawhub.json      # ClawHub + automaton config\n├── <script>.py       # Main trading script\n└── scripts/\n    └── status.py     # Portfolio viewer (copy from references)\n\nSKILL.md Frontmatter (AgentSkills format)\n\nSimmer skills follow the AgentSkills open standard, making them compatible with Claude Code, Cursor, Gemini CLI, VS Code, and other skills-compatible agents.\n\n---\nname: <skill-slug>\ndescription: <What it does + when to trigger. Max 1024 chars.>\nmetadata:\n  author: \"<author>\"\n  version: \"1.0.0\"\n  displayName: \"<Human Readable Name>\"\n  difficulty: \"intermediate\"\n---\n\n\nRules:\n\nname must be lowercase, hyphens only, match folder name\ndescription is required, max 1024 chars\nmetadata values must be flat strings (AgentSkills spec)\nNO clawdbot, requires, tunables, or automaton in SKILL.md — those go in clawhub.json\nBody must include: \"This is a template\" callout, setup flow, configuration table, quick commands, example output, troubleshooting section\nclawhub.json (ClawHub + Automaton config)\n{\n  \"emoji\": \"<emoji>\",\n  \"requires\": {\n    \"env\": [\"SIMMER_API_KEY\"],\n    \"pip\": [\"simmer-sdk\"]\n  },\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"<script>.py\"\n  }\n}\n\nsimmer-sdk in requires.pip is required — this is what causes the skill to appear in the Simmer registry automatically\nrequires.env must include SIMMER_API_KEY\nautomaton.entrypoint must point to the main Python script\ntunables — declare every configurable env var here so autotune and the dashboard can surface them. This is the source of truth for tunable ranges and defaults — clawhub_sync propagates them to the skills registry automatically.\n\nExample tunables:\n\n{\n  \"tunables\": [\n    {\"env\": \"MY_SKILL_THRESHOLD\", \"type\": \"number\", \"default\": 0.15, \"range\": [0.01, 1.0], \"step\": 0.01, \"label\": \"Entry threshold\"},\n    {\"env\": \"MY_SKILL_LOCATIONS\", \"type\": \"string\", \"default\": \"NYC\", \"label\": \"Target cities (comma-separated)\"},\n    {\"env\": \"MY_SKILL_ENABLED\", \"type\": \"boolean\", \"default\": true, \"label\": \"Feature toggle\"}\n  ]\n}\n\n\nSupported types: number (with range and step), string, boolean. Keep defaults in sync with CONFIG_SCHEMA in your Python script.\n\nPython Script Requirements\n\nCopy these verbatim from references/skill-template.md:\n\nConfig system (from simmer_sdk.skill import load_config, update_config, get_config_path)\nget_client() singleton\ncheck_context_safeguards()\nexecute_trade()\ncalculate_position_size()\nCLI entry point with standard args (--live, --positions, --config, --set, --smart-sizing, --no-safeguards, --quiet)\n\nCustomize:\n\nCONFIG_SCHEMA — skill-specific params with SIMMER_<SKILLNAME>_<PARAM> env vars\nTRADE_SOURCE — unique tag like \"sdk:<skillname>\"\nSKILL_SLUG — must match the ClawHub slug exactly (e.g., \"polymarket-weather-trader\")\nSignal logic — your human's strategy\nMarket fetching/filtering — how to find relevant markets\nMain strategy function — the core loop\nStep 5: Validate\n\nRun the validator against the generated skill:\n\npython /path/to/simmer-skill-builder/scripts/validate_skill.py /path/to/generated-skill/\n\n\nFix any FAIL results before delivering to your human.\n\nStep 6: Publish to ClawHub\n\nOnce validated, publish the skill so it appears in the Simmer registry automatically:\n\nnpx clawhub@latest publish /path/to/generated-skill/ --slug <skill-slug> --version 1.0.0\n\n\nAfter publishing, the Simmer sync job picks it up within 6 hours and lists it at simmer.markets/skills. No submission or approval needed — publishing to ClawHub with simmer-sdk as a dependency is all it takes.\n\nTell your human:\n\n✅ Skill published to ClawHub. It will appear in the Simmer Skills Registry within 6 hours at simmer.markets/skills.\n\nFor full publishing details: simmer.markets/skillregistry.md\n\nHard Rules\nAlways use SimmerClient for trades. Never import py_clob_client, polymarket, or call the CLOB API directly for order placement. Simmer handles wallet signing, safety rails, and trade tracking.\nAlways default to dry-run. The --live flag must be explicitly passed for real trades.\nAlways tag trades with source=TRADE_SOURCE and skill_slug=SKILL_SLUG. SKILL_SLUG must match the ClawHub slug exactly — Simmer uses it to track per-skill volume.\nAlways include safeguards — the check_context_safeguards() function, skippable with --no-safeguards.\nAlways include reasoning in execute_trade() — it's displayed publicly and builds your reputation.\nUse stdlib only for HTTP (urllib). Don't add requests, httpx, or aiohttp as dependencies unless your human specifically needs them. The only pip dependency should be simmer-sdk.\nPolymarket minimums: 5 shares per order, $0.01 min tick. Always check before trading.\nInclude sys.stdout.reconfigure(line_buffering=True) — required for cron/Docker/OpenClaw visibility.\nget_positions() returns dataclasses — always convert with from dataclasses import asdict.\nNever expose API keys in generated code. Always read from SIMMER_API_KEY env var via get_client().\nNaming Convention\nSkill slug: polymarket-<strategy> for Polymarket-specific, simmer-<strategy> for platform-agnostic\nTrade source: sdk:<shortname> (e.g. sdk:synthvol, sdk:rssniper, sdk:momentum) — used for rebuy/conflict detection\nSkill slug: must match the ClawHub slug exactly (e.g. SKILL_SLUG = \"polymarket-synth-volatility\") — used for volume attribution\nEnv vars: SIMMER_<SHORTNAME>_<PARAM> (e.g. SIMMER_SYNTHVOL_ENTRY)\nScript name: <descriptive_name>.py (e.g. synth_volatility.py, rss_sniper.py)\nExample: Tweet to Skill\n\nYour human pastes:\n\n\"Build a bot that uses Synth volatility forecasts to trade Polymarket crypto hourly contracts. Buy YES when Synth probability > market price by 7%+ and Kelly size based on edge.\"\n\nYou would:\n\nUnderstand: Signal = Synth API probability vs Polymarket price. Entry = 7% divergence. Sizing = Kelly. Markets = crypto hourly contracts.\nRead references/skill-template.md for the skeleton.\nRead references/simmer-api.md for SDK methods.\nRead references/example-weather-trader.md — closest pattern (external API signal).\nAsk your human for Synth API docs or web-fetch them.\nGenerate polymarket-synth-volatility/ with:\nSKILL.md (setup, config table, commands)\nsynth_volatility.py (fetch Synth forecast, compare to market price, Kelly size, trade)\nscripts/status.py (copied)\nValidate with scripts/validate_skill.py.\nPublish: npx clawhub@latest publish polymarket-synth-volatility/ --slug polymarket-synth-volatility --version 1.0.0"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/adlai88/simmer-skill-builder",
    "publisherUrl": "https://clawhub.ai/adlai88/simmer-skill-builder",
    "owner": "adlai88",
    "version": "1.2.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/simmer-skill-builder",
    "downloadUrl": "https://openagent3.xyz/downloads/simmer-skill-builder",
    "agentUrl": "https://openagent3.xyz/skills/simmer-skill-builder/agent",
    "manifestUrl": "https://openagent3.xyz/skills/simmer-skill-builder/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/simmer-skill-builder/agent.md"
  }
}