{
  "schemaVersion": "1.0",
  "item": {
    "slug": "cc",
    "name": "cc",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/artwalker/cc",
    "canonicalUrl": "https://clawhub.ai/artwalker/cc",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/cc",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=cc",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/relay-mode.md",
      "scripts/cc.sh"
    ],
    "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/cc"
    },
    "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/cc",
    "agentPageUrl": "https://openagent3.xyz/skills/cc/agent",
    "manifestUrl": "https://openagent3.xyz/skills/cc/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/cc/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": "cc",
        "body": "Short operator commands for Claude Code relay sessions.\n\nRequires: claude-relay skill must be installed."
      },
      {
        "title": "Script",
        "body": "All commands execute via:\n\n{baseDir}/scripts/cc.sh <raw-args>"
      },
      {
        "title": "Command routing",
        "body": "Parse user input and route:\n\nprojects / list → list available projects from map + project root\non <project> / start <project> → start or reuse Claude session (fuzzy match)\noff [project] / stop [project] → stop session (default: last project)\ntail [project] [lines] → show recent output (default: 120 lines)\nstatus → list active relay sessions\n/cc (no args) → show inline button menu (if platform supports)\n/cc on (no project) → show project picker buttons\nAny other text → relay mode send (see below)\n\nFor the \"any other text\" case: if the first token resolves to an active project session, treat it as explicit project target and use remaining text as the message."
      },
      {
        "title": "Relay mode",
        "body": "After on <project>, enter relay mode. This is the critical behavior contract:\n\nALL user messages are forwarded to Claude Code — no exceptions. Do NOT interpret, answer, or act on the message yourself. You are a transparent pipe.\nForward via scripts/cc.sh send → wait for output → return final result only.\nThe ONLY messages NOT forwarded are cc commands themselves: off, tail, status, projects, /cc.\nRelay mode ends on off, stop, or /cc menu invocation.\n\nExample:\n\n[relay mode active, project=marvis]\nUser: \"帮我查一下这个 bug 的原因\"\n→ cc.sh send marvis \"帮我查一下这个 bug 的原因\"\n→ wait for Claude Code output\n→ return result to user\nWRONG: answering the question yourself\n\nFor button specs, output formatting, approval handling, and callback routing, see relay-mode.md."
      },
      {
        "title": "Key principles",
        "body": "Never self-answer in relay mode: forward everything, return only Claude Code's output.\nFinal result only: one message per interaction, no progress updates.\nChoices → buttons: numbered menus in Claude Code output become inline buttons.\nTool call discipline: button/menu messages = tool call + NO_REPLY, no surrounding text."
      },
      {
        "title": "Environment variables",
        "body": "VariableDefaultDescriptionCLAUDE_RELAY_DIR(auto-detected)Path to claude-relay skill directoryCLAUDE_RELAY_ROOT$HOME/projectsRoot directory for project discoveryCLAUDE_RELAY_MAP<relay-skill-dir>/projects.mapPath to project alias map file"
      }
    ],
    "body": "cc\n\nShort operator commands for Claude Code relay sessions.\n\nRequires: claude-relay skill must be installed.\n\nScript\n\nAll commands execute via:\n\n{baseDir}/scripts/cc.sh <raw-args>\n\nCommand routing\n\nParse user input and route:\n\nprojects / list → list available projects from map + project root\non <project> / start <project> → start or reuse Claude session (fuzzy match)\noff [project] / stop [project] → stop session (default: last project)\ntail [project] [lines] → show recent output (default: 120 lines)\nstatus → list active relay sessions\n/cc (no args) → show inline button menu (if platform supports)\n/cc on (no project) → show project picker buttons\nAny other text → relay mode send (see below)\n\nFor the \"any other text\" case: if the first token resolves to an active project session, treat it as explicit project target and use remaining text as the message.\n\nRelay mode\n\nAfter on <project>, enter relay mode. This is the critical behavior contract:\n\nALL user messages are forwarded to Claude Code — no exceptions. Do NOT interpret, answer, or act on the message yourself. You are a transparent pipe.\nForward via scripts/cc.sh send → wait for output → return final result only.\nThe ONLY messages NOT forwarded are cc commands themselves: off, tail, status, projects, /cc.\nRelay mode ends on off, stop, or /cc menu invocation.\n\nExample:\n\n[relay mode active, project=marvis]\nUser: \"帮我查一下这个 bug 的原因\"\n→ cc.sh send marvis \"帮我查一下这个 bug 的原因\"\n→ wait for Claude Code output\n→ return result to user\nWRONG: answering the question yourself\n\n\nFor button specs, output formatting, approval handling, and callback routing, see relay-mode.md.\n\nKey principles\nNever self-answer in relay mode: forward everything, return only Claude Code's output.\nFinal result only: one message per interaction, no progress updates.\nChoices → buttons: numbered menus in Claude Code output become inline buttons.\nTool call discipline: button/menu messages = tool call + NO_REPLY, no surrounding text.\nEnvironment variables\nVariable\tDefault\tDescription\nCLAUDE_RELAY_DIR\t(auto-detected)\tPath to claude-relay skill directory\nCLAUDE_RELAY_ROOT\t$HOME/projects\tRoot directory for project discovery\nCLAUDE_RELAY_MAP\t<relay-skill-dir>/projects.map\tPath to project alias map file"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/artwalker/cc",
    "publisherUrl": "https://clawhub.ai/artwalker/cc",
    "owner": "artwalker",
    "version": "1.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/cc",
    "downloadUrl": "https://openagent3.xyz/downloads/cc",
    "agentUrl": "https://openagent3.xyz/skills/cc/agent",
    "manifestUrl": "https://openagent3.xyz/skills/cc/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/cc/agent.md"
  }
}