← Back to Skills Marketplace
lanbasara

Codespace Manager

by Lanbasara · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
525
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install codespace-manager
Description
Create, manage, and access isolated cloud development environments (codespaces) powered by code-server, Docker, and Cloudflare Tunnel. Pre-installed with Bun...
README (SKILL.md)

Codespace Manager

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.

Pre-installed Tools

The custom Docker image includes:

  • code-server (VS Code in browser)
  • Bun — JS/TS runtime + package manager
  • uv — Python package manager + virtual environments
  • OpenCode — AI coding assistant (CLI)
  • git, curl, wget, build-essential

First-Time Setup

Before creating any codespace, build the Docker image once:

bash scripts/codespace.sh setup

This builds codespace-manager:latest from assets/Dockerfile.txt. Only needed once per host.

Commands

Script location: scripts/codespace.sh (relative to this skill's directory)

# One-time image build
codespace setup

# Create codespace (optionally clone a repo and/or init OpenCode config)
codespace create \x3Cname>
codespace create \x3Cname> --git \x3Crepo-url>
codespace create \x3Cname> --opencode
codespace create \x3Cname> --git \x3Crepo-url> --opencode

# Lifecycle
codespace start \x3Cname>       # Start and get Cloudflare Tunnel URL
codespace stop \x3Cname>        # Stop container and tunnel
codespace restart \x3Cname>     # Stop then start (new URL)
codespace delete \x3Cname>      # Remove container + data (irreversible!)

# Info
codespace list               # List all codespaces with status
codespace status \x3Cname>      # Detailed status of one codespace
codespace logs \x3Cname>        # View container logs
codespace url \x3Cname>         # Regenerate tunnel URL

# Config
codespace password \x3Cpass>    # Set default password for new codespaces

Password Management

  • Default password: codespace
  • Set a custom default: codespace password \x3Cyour-password>
  • Override per-session via environment: CODESPACE_PASSWORD=mypass codespace create foo
  • Each codespace saves its password at creation time

Natural Language → Command Mapping

User says Command
"create a codespace called myapp" codespace create myapp
"create a codespace with opencode" codespace create \x3Cname> --opencode
"set up a dev environment for this repo" codespace create \x3Cname> --git \x3Curl> --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 \x3Cname> --opencode (uv is pre-installed)
"create a node/bun project" codespace create \x3Cname> --opencode (bun is pre-installed)

Architecture

  • Each codespace = isolated Docker container (codespace-manager:latest)
  • Project files persist at ~/codespaces/\x3Cname>/project on the host
  • Exposed via Cloudflare Quick Tunnel (free, auto HTTPS, temporary URL)
  • Each codespace gets a deterministic port (9000-9999, based on name hash)

Important Notes

  1. Run codespace setup before first use — it builds the Docker image
  2. Quick Tunnel URLs are temporary — they change on restart
  3. codespace delete is irreversible — confirm with user before executing
  4. Container data (outside /home/coder/project) does not persist across delete/recreate
  5. Requires: Docker, cloudflared, jq installed on the host

OpenCode Config

When --opencode is used, a opencode.json is created in the project root with:

{
  "$schema": "https://opencode.ai/config.json",
  "model": "anthropic/claude-sonnet-4-5",
  "autoupdate": true
}

Users can edit this file in code-server to change the model or add provider keys.

Usage Guidance
Before installing or running this skill: (1) expect it to build a Docker image and create directories under ~/codespaces, start containers, and expose code-server to the internet via Cloudflare Quick Tunnel; only run on a machine you control or an isolated VM. (2) Review the Dockerfile and the install scripts it calls (bun.sh, astral.sh, opencode.ai); they are fetched and executed at build time (curl | bash) — consider pinning to known release artifacts or adding checksum verification. (3) Change the default password and avoid leaving the default 'codespace' in .default_password (it is stored in plaintext); consider using a secure secret mechanism. (4) Confirm you trust any repositories you allow the skill to clone, since it will mount project dirs into containers. (5) The package metadata omitted required host dependencies (Docker, cloudflared, jq); verify those are present. If the publisher identity, signed release artifacts for installers, or safer install steps (no remote curl|bash) are provided, my confidence would increase and many concerns would be mitigated.
Capability Analysis
Type: OpenClaw Skill Name: codespace-manager Version: 1.0.0 The skill is classified as suspicious due to a critical path traversal vulnerability in `scripts/codespace.sh`. The `name` parameter, which is user-controlled, is used directly in path constructions (e.g., `mkdir -p "$CODESPACE_BASE/$name"`, `rm -rf "$workspace"`), allowing an attacker to use `../` to create or delete arbitrary directories on the host system. Additionally, `assets/Dockerfile.txt` uses `curl | bash` for installing several tools (Bun, uv, OpenCode) from external domains (bun.sh, astral.sh, opencode.ai), posing a significant supply chain risk if any of these sources were compromised. While the skill's stated purpose is legitimate, these vulnerabilities introduce substantial security risks to the host system.
Capability Assessment
Purpose & Capability
The skill claims to manage code-server codespaces (expected to need Docker, cloudflared, jq), but the registry metadata declares no required binaries/env — a mismatch. The script operates on the host (~/codespaces), builds Docker images, clones arbitrary git repos, and exposes services via Cloudflare tunnels; those capabilities align with the stated purpose but require host-level privileges that should have been declared.
Instruction Scope
SKILL.md and scripts instruct the agent to build a Docker image, clone arbitrary git repositories into ~/codespaces/<name>/project, persist per-codespace passwords (default 'codespace') on disk, and start cloudflared tunnels that expose code-server to the public trycloudflare domain. These actions are within the advertised functionality but include broad file system changes, network exposure, and storage of plaintext passwords — all of which should be explicitly highlighted to users.
Install Mechanism
There is no platform install spec (instruction-only), but the included Dockerfile downloads and executes remote install scripts via curl | bash from bun.sh, astral.sh, and opencode.ai. Fetching and piping installers from external URLs without signatures is a supply‑chain risk and should be reviewed/locked down before use.
Credentials
The skill does not request cloud provider keys or unrelated credentials (good), but it uses and persists CODESPACE_PASSWORD (default weak value 'codespace') and stores it in $CODESPACE_BASE/.default_password and per-codespace metadata in plaintext. The registry metadata omitted declaring required host tools (Docker, cloudflared, jq) that the script depends on.
Persistence & Privilege
always:false (not force-included). The skill creates persistent host state (~/codespaces), builds a Docker image, and launches containers with --restart=unless-stopped — meaning long-lived processes and tunnels. This is expected for a codespace manager but increases blast radius if misused.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install codespace-manager
  3. After installation, invoke the skill by name or use /codespace-manager
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: code-server based codespace manager with Bun, uv, OpenCode pre-installed. Cloudflare Tunnel for access.
Metadata
Slug codespace-manager
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Codespace Manager?

Create, manage, and access isolated cloud development environments (codespaces) powered by code-server, Docker, and Cloudflare Tunnel. Pre-installed with Bun... It is an AI Agent Skill for Claude Code / OpenClaw, with 525 downloads so far.

How do I install Codespace Manager?

Run "/install codespace-manager" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Codespace Manager free?

Yes, Codespace Manager is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Codespace Manager support?

Codespace Manager is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Codespace Manager?

It is built and maintained by Lanbasara (@lanbasara); the current version is v1.0.0.

💬 Comments