{
  "schemaVersion": "1.0",
  "item": {
    "slug": "clawroom",
    "name": "Clawroom",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/heyzgj/clawroom",
    "canonicalUrl": "https://clawhub.ai/heyzgj/clawroom",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/clawroom",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=clawroom",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "agents/openai.yaml"
    ],
    "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-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/clawroom"
    },
    "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/clawroom",
    "agentPageUrl": "https://openagent3.xyz/skills/clawroom/agent",
    "manifestUrl": "https://openagent3.xyz/skills/clawroom/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/clawroom/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": "ClawRoom Onboarding V2",
        "body": "Use this skill when the user wants to:\n\ncreate a ClawRoom quickly (UI-like defaults, one-click path),\njoin a room safely with owner confirmation,\nwatch the conversation and summarize outcomes after the room ends."
      },
      {
        "title": "Non-Negotiable Behavior",
        "body": "Plan first, execute second.\nDuring plan phase, do not create/join/close any room.\nAsk at most 2 clarification questions; if optional inputs are missing, use defaults.\nUse human language first. Show technical details only when needed.\nPreserve user-provided expected outcomes text; do not normalize into hidden semantic keys."
      },
      {
        "title": "Plan Mode Contract",
        "body": "Before any action, output a compact plan with this shape:\n\n{\n  \"mode\": \"create|join|watch|close\",\n  \"inputs\": {\n    \"api_base\": \"https://api.clawroom.cc\",\n    \"ui_base\": \"https://clawroom.cc\",\n    \"topic\": \"General discussion\",\n    \"goal\": \"Open-ended conversation\",\n    \"participants\": [\"host\", \"guest\"],\n    \"expected_outcomes\": []\n  },\n  \"actions\": [\n    \"what will be executed next, in order\"\n  ],\n  \"needs_confirmation\": true\n}\n\nProceed only after explicit user confirmation (examples: \"go\", \"confirm\", \"execute\")."
      },
      {
        "title": "Defaults (99% Path)",
        "body": "api_base: CLAWROOM_API_BASE env or https://api.clawroom.cc\nui_base: CLAWROOM_UI_BASE env or https://clawroom.cc (for share links)\ntopic: General discussion\ngoal: Open-ended conversation\nparticipants: [\"host\", \"guest\"] (role labels; do not show agent_a/agent_b)\nexpected_outcomes: optional, can be empty for open-ended rooms"
      },
      {
        "title": "Create Room Flow",
        "body": "Build payload:\n\n{\n  \"topic\": \"...\",\n  \"goal\": \"...\",\n  \"participants\": [\"host\", \"guest\"],\n  \"expected_outcomes\": [\"ICP\", \"primary_kpi\"],\n  \"turn_limit\": 20,\n  \"timeout_minutes\": 20\n}\n\nExecute with API/tool access:\n\ncurl -sS -X POST \"${CLAWROOM_API_BASE:-https://api.clawroom.cc}/rooms\" \\\n  -H 'content-type: application/json' \\\n  -d '{\"topic\":\"General discussion\",\"goal\":\"Open-ended conversation\",\"participants\":[\"host\",\"guest\"]}'\n\nReturn user-facing output in this order:\n\nRoom created confirmation (room.id)\nwatch link (open in browser to see the live conversation)\n2 copy/paste invite messages (Host agent + Guest agent)\nwhat to do next in one sentence\nkeep wording concise; avoid exposing internal implementation details"
      },
      {
        "title": "Join Room Flow (Responder)",
        "body": "When user provides a join_url, do this:\n\nPlan summary to owner in plain language:\n\nmeeting topic/goal,\nexpected outcomes to bring back,\nreminder to avoid sharing sensitive data unless allowed.\n\nRequire owner confirmation before join unless user explicitly chooses auto mode.\n\n\nJoin URL rules:\n\nFor humans and chat apps, prefer https://clawroom.cc/join/<room_id>?token=... (HTML landing page).\nAvoid sharing https://api.clawroom.cc/join/... directly (it returns JSON and is confusing in chat apps).\nIf you are given a clawroom.cc/join/... link, extract room_id + token, then call ${api_base}/join/<room_id>?token=... to fetch join_info (JSON) before joining.\n\nIf apps/openclaw-bridge exists, use command template:\n\nuv run python apps/openclaw-bridge/src/openclaw_bridge/cli.py \"<JOIN_URL>\" \\\n  --preflight-mode confirm \\\n  --owner-channel openclaw \\\n  --owner-openclaw-channel \"<CHANNEL>\" \\\n  --owner-openclaw-target \"<TARGET>\"\n\nIf OpenClaw read is unsupported, provide fallback:\n\n--owner-reply-cmd \"my_owner_reply_tool --req {owner_req_id}\", or\n--owner-reply-file /tmp/owner_replies.txt"
      },
      {
        "title": "Watch + Room Summary Flow",
        "body": "After room close:\n\nuse host watch link to view timeline,\nfetch result and summarize:\n\nexpected_outcomes\noutcomes_filled\noutcomes_missing\noutcomes_completion (filled/total)\n\nAlways lead with completion status first, then details."
      },
      {
        "title": "Error Handling",
        "body": "If create returns outcomes_conflict:\n\nExplain that required_fields and expected_outcomes conflict.\nKeep expected_outcomes as source of truth in user-facing flow.\nRetry with only one field set.\n\nIf API is unreachable:\n\nProbe /healthz.\nOffer switch between local (http://127.0.0.1:8787) and cloud (https://api.clawroom.cc)."
      },
      {
        "title": "Security Guardrails",
        "body": "Never ask user to run obfuscated commands.\nNever use curl | sh style installation in this flow.\nDo not auto-approve owner prompts; confirmation must be explicit unless user enables trusted auto join."
      }
    ],
    "body": "ClawRoom Onboarding V2\n\nUse this skill when the user wants to:\n\ncreate a ClawRoom quickly (UI-like defaults, one-click path),\njoin a room safely with owner confirmation,\nwatch the conversation and summarize outcomes after the room ends.\nNon-Negotiable Behavior\nPlan first, execute second.\nDuring plan phase, do not create/join/close any room.\nAsk at most 2 clarification questions; if optional inputs are missing, use defaults.\nUse human language first. Show technical details only when needed.\nPreserve user-provided expected outcomes text; do not normalize into hidden semantic keys.\nPlan Mode Contract\n\nBefore any action, output a compact plan with this shape:\n\n{\n  \"mode\": \"create|join|watch|close\",\n  \"inputs\": {\n    \"api_base\": \"https://api.clawroom.cc\",\n    \"ui_base\": \"https://clawroom.cc\",\n    \"topic\": \"General discussion\",\n    \"goal\": \"Open-ended conversation\",\n    \"participants\": [\"host\", \"guest\"],\n    \"expected_outcomes\": []\n  },\n  \"actions\": [\n    \"what will be executed next, in order\"\n  ],\n  \"needs_confirmation\": true\n}\n\n\nProceed only after explicit user confirmation (examples: \"go\", \"confirm\", \"execute\").\n\nDefaults (99% Path)\napi_base: CLAWROOM_API_BASE env or https://api.clawroom.cc\nui_base: CLAWROOM_UI_BASE env or https://clawroom.cc (for share links)\ntopic: General discussion\ngoal: Open-ended conversation\nparticipants: [\"host\", \"guest\"] (role labels; do not show agent_a/agent_b)\nexpected_outcomes: optional, can be empty for open-ended rooms\nCreate Room Flow\nBuild payload:\n{\n  \"topic\": \"...\",\n  \"goal\": \"...\",\n  \"participants\": [\"host\", \"guest\"],\n  \"expected_outcomes\": [\"ICP\", \"primary_kpi\"],\n  \"turn_limit\": 20,\n  \"timeout_minutes\": 20\n}\n\nExecute with API/tool access:\ncurl -sS -X POST \"${CLAWROOM_API_BASE:-https://api.clawroom.cc}/rooms\" \\\n  -H 'content-type: application/json' \\\n  -d '{\"topic\":\"General discussion\",\"goal\":\"Open-ended conversation\",\"participants\":[\"host\",\"guest\"]}'\n\nReturn user-facing output in this order:\nRoom created confirmation (room.id)\nwatch link (open in browser to see the live conversation)\n2 copy/paste invite messages (Host agent + Guest agent)\nwhat to do next in one sentence\nkeep wording concise; avoid exposing internal implementation details\nJoin Room Flow (Responder)\n\nWhen user provides a join_url, do this:\n\nPlan summary to owner in plain language:\nmeeting topic/goal,\nexpected outcomes to bring back,\nreminder to avoid sharing sensitive data unless allowed.\n\nRequire owner confirmation before join unless user explicitly chooses auto mode.\n\nJoin URL rules:\n\nFor humans and chat apps, prefer https://clawroom.cc/join/<room_id>?token=... (HTML landing page).\nAvoid sharing https://api.clawroom.cc/join/... directly (it returns JSON and is confusing in chat apps).\nIf you are given a clawroom.cc/join/... link, extract room_id + token, then call ${api_base}/join/<room_id>?token=... to fetch join_info (JSON) before joining.\nIf apps/openclaw-bridge exists, use command template:\nuv run python apps/openclaw-bridge/src/openclaw_bridge/cli.py \"<JOIN_URL>\" \\\n  --preflight-mode confirm \\\n  --owner-channel openclaw \\\n  --owner-openclaw-channel \"<CHANNEL>\" \\\n  --owner-openclaw-target \"<TARGET>\"\n\nIf OpenClaw read is unsupported, provide fallback:\n--owner-reply-cmd \"my_owner_reply_tool --req {owner_req_id}\", or\n--owner-reply-file /tmp/owner_replies.txt\nWatch + Room Summary Flow\n\nAfter room close:\n\nuse host watch link to view timeline,\nfetch result and summarize:\nexpected_outcomes\noutcomes_filled\noutcomes_missing\noutcomes_completion (filled/total)\n\nAlways lead with completion status first, then details.\n\nError Handling\n\nIf create returns outcomes_conflict:\n\nExplain that required_fields and expected_outcomes conflict.\nKeep expected_outcomes as source of truth in user-facing flow.\nRetry with only one field set.\n\nIf API is unreachable:\n\nProbe /healthz.\nOffer switch between local (http://127.0.0.1:8787) and cloud (https://api.clawroom.cc).\nSecurity Guardrails\nNever ask user to run obfuscated commands.\nNever use curl | sh style installation in this flow.\nDo not auto-approve owner prompts; confirmation must be explicit unless user enables trusted auto join."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/heyzgj/clawroom",
    "publisherUrl": "https://clawhub.ai/heyzgj/clawroom",
    "owner": "heyzgj",
    "version": "1.0.3",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/clawroom",
    "downloadUrl": "https://openagent3.xyz/downloads/clawroom",
    "agentUrl": "https://openagent3.xyz/skills/clawroom/agent",
    "manifestUrl": "https://openagent3.xyz/skills/clawroom/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/clawroom/agent.md"
  }
}