{
  "schemaVersion": "1.0",
  "item": {
    "slug": "codespace-manager",
    "name": "Codespace Manager",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Lanbasara/codespace-manager",
    "canonicalUrl": "https://clawhub.ai/Lanbasara/codespace-manager",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/codespace-manager",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=codespace-manager",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/codespace.sh",
      "assets/Dockerfile.txt"
    ],
    "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/codespace-manager"
    },
    "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/codespace-manager",
    "agentPageUrl": "https://openagent3.xyz/skills/codespace-manager/agent",
    "manifestUrl": "https://openagent3.xyz/skills/codespace-manager/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/codespace-manager/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": "Codespace Manager",
        "body": "Manage isolated code-server development environments, similar to GitHub Codespaces. Each codespace runs in its own Docker container with a full VS Code editor accessible via browser through Cloudflare Tunnel."
      },
      {
        "title": "Pre-installed Tools",
        "body": "The custom Docker image includes:\n\ncode-server (VS Code in browser)\nBun — JS/TS runtime + package manager\nuv — Python package manager + virtual environments\nOpenCode — AI coding assistant (CLI)\ngit, curl, wget, build-essential"
      },
      {
        "title": "First-Time Setup",
        "body": "Before creating any codespace, build the Docker image once:\n\nbash scripts/codespace.sh setup\n\nThis builds codespace-manager:latest from assets/Dockerfile.txt. Only needed once per host."
      },
      {
        "title": "Commands",
        "body": "Script location: scripts/codespace.sh (relative to this skill's directory)\n\n# One-time image build\ncodespace setup\n\n# Create codespace (optionally clone a repo and/or init OpenCode config)\ncodespace create <name>\ncodespace create <name> --git <repo-url>\ncodespace create <name> --opencode\ncodespace create <name> --git <repo-url> --opencode\n\n# Lifecycle\ncodespace start <name>       # Start and get Cloudflare Tunnel URL\ncodespace stop <name>        # Stop container and tunnel\ncodespace restart <name>     # Stop then start (new URL)\ncodespace delete <name>      # Remove container + data (irreversible!)\n\n# Info\ncodespace list               # List all codespaces with status\ncodespace status <name>      # Detailed status of one codespace\ncodespace logs <name>        # View container logs\ncodespace url <name>         # Regenerate tunnel URL\n\n# Config\ncodespace password <pass>    # Set default password for new codespaces"
      },
      {
        "title": "Password Management",
        "body": "Default password: codespace\nSet a custom default: codespace password <your-password>\nOverride per-session via environment: CODESPACE_PASSWORD=mypass codespace create foo\nEach codespace saves its password at creation time"
      },
      {
        "title": "Natural Language → Command Mapping",
        "body": "User saysCommand\"create a codespace called myapp\"codespace create myapp\"create a codespace with opencode\"codespace create <name> --opencode\"set up a dev environment for this repo\"codespace create <name> --git <url> --opencode\"start / launch / open myapp\"codespace start myapp\"stop / shut down myapp\"codespace stop myapp\"delete / remove myapp\"codespace delete myapp (confirm with user first!)\"list my codespaces\" / \"show environments\"codespace list\"get the URL for myapp\"codespace url myapp\"set password to xyz\"codespace password xyz\"create a python project\"codespace create <name> --opencode (uv is pre-installed)\"create a node/bun project\"codespace create <name> --opencode (bun is pre-installed)"
      },
      {
        "title": "Architecture",
        "body": "Each codespace = isolated Docker container (codespace-manager:latest)\nProject files persist at ~/codespaces/<name>/project on the host\nExposed via Cloudflare Quick Tunnel (free, auto HTTPS, temporary URL)\nEach codespace gets a deterministic port (9000-9999, based on name hash)"
      },
      {
        "title": "Important Notes",
        "body": "Run codespace setup before first use — it builds the Docker image\nQuick Tunnel URLs are temporary — they change on restart\ncodespace delete is irreversible — confirm with user before executing\nContainer data (outside /home/coder/project) does not persist across delete/recreate\nRequires: Docker, cloudflared, jq installed on the host"
      },
      {
        "title": "OpenCode Config",
        "body": "When --opencode is used, a opencode.json is created in the project root with:\n\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"model\": \"anthropic/claude-sonnet-4-5\",\n  \"autoupdate\": true\n}\n\nUsers can edit this file in code-server to change the model or add provider keys."
      }
    ],
    "body": "Codespace Manager\n\nManage isolated code-server development environments, similar to GitHub Codespaces. Each codespace runs in its own Docker container with a full VS Code editor accessible via browser through Cloudflare Tunnel.\n\nPre-installed Tools\n\nThe custom Docker image includes:\n\ncode-server (VS Code in browser)\nBun — JS/TS runtime + package manager\nuv — Python package manager + virtual environments\nOpenCode — AI coding assistant (CLI)\ngit, curl, wget, build-essential\nFirst-Time Setup\n\nBefore creating any codespace, build the Docker image once:\n\nbash scripts/codespace.sh setup\n\n\nThis builds codespace-manager:latest from assets/Dockerfile.txt. Only needed once per host.\n\nCommands\n\nScript location: scripts/codespace.sh (relative to this skill's directory)\n\n# One-time image build\ncodespace setup\n\n# Create codespace (optionally clone a repo and/or init OpenCode config)\ncodespace create <name>\ncodespace create <name> --git <repo-url>\ncodespace create <name> --opencode\ncodespace create <name> --git <repo-url> --opencode\n\n# Lifecycle\ncodespace start <name>       # Start and get Cloudflare Tunnel URL\ncodespace stop <name>        # Stop container and tunnel\ncodespace restart <name>     # Stop then start (new URL)\ncodespace delete <name>      # Remove container + data (irreversible!)\n\n# Info\ncodespace list               # List all codespaces with status\ncodespace status <name>      # Detailed status of one codespace\ncodespace logs <name>        # View container logs\ncodespace url <name>         # Regenerate tunnel URL\n\n# Config\ncodespace password <pass>    # Set default password for new codespaces\n\nPassword Management\nDefault password: codespace\nSet a custom default: codespace password <your-password>\nOverride per-session via environment: CODESPACE_PASSWORD=mypass codespace create foo\nEach codespace saves its password at creation time\nNatural Language → Command Mapping\nUser says\tCommand\n\"create a codespace called myapp\"\tcodespace create myapp\n\"create a codespace with opencode\"\tcodespace create <name> --opencode\n\"set up a dev environment for this repo\"\tcodespace create <name> --git <url> --opencode\n\"start / launch / open myapp\"\tcodespace start myapp\n\"stop / shut down myapp\"\tcodespace stop myapp\n\"delete / remove myapp\"\tcodespace delete myapp (confirm with user first!)\n\"list my codespaces\" / \"show environments\"\tcodespace list\n\"get the URL for myapp\"\tcodespace url myapp\n\"set password to xyz\"\tcodespace password xyz\n\"create a python project\"\tcodespace create <name> --opencode (uv is pre-installed)\n\"create a node/bun project\"\tcodespace create <name> --opencode (bun is pre-installed)\nArchitecture\nEach codespace = isolated Docker container (codespace-manager:latest)\nProject files persist at ~/codespaces/<name>/project on the host\nExposed via Cloudflare Quick Tunnel (free, auto HTTPS, temporary URL)\nEach codespace gets a deterministic port (9000-9999, based on name hash)\nImportant Notes\nRun codespace setup before first use — it builds the Docker image\nQuick Tunnel URLs are temporary — they change on restart\ncodespace delete is irreversible — confirm with user before executing\nContainer data (outside /home/coder/project) does not persist across delete/recreate\nRequires: Docker, cloudflared, jq installed on the host\nOpenCode Config\n\nWhen --opencode is used, a opencode.json is created in the project root with:\n\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"model\": \"anthropic/claude-sonnet-4-5\",\n  \"autoupdate\": true\n}\n\n\nUsers can edit this file in code-server to change the model or add provider keys."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Lanbasara/codespace-manager",
    "publisherUrl": "https://clawhub.ai/Lanbasara/codespace-manager",
    "owner": "Lanbasara",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/codespace-manager",
    "downloadUrl": "https://openagent3.xyz/downloads/codespace-manager",
    "agentUrl": "https://openagent3.xyz/skills/codespace-manager/agent",
    "manifestUrl": "https://openagent3.xyz/skills/codespace-manager/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/codespace-manager/agent.md"
  }
}