karlorz/cloudrouter/cloudrouter

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Manage cloud development sandboxes with cloudrouter. Create, sync, and access remote VMs with GPU support, Docker, and browser automation. Use when asked to create a sandbox, spin up a dev environment, run code in the cloud, use GPUs, automate a browser, or interact with remote VMs.

Install

npx vskill@latest install karlorz/cloudrouter/cloudrouter

SKILL.md

cloudrouter - Cloud Sandboxes for Development

cloudrouter manages cloud sandboxes for development. Use these commands to create, manage, and access remote development environments with GPU support and browser automation.

When this skill is invoked

When the user invokes /cloudrouter or /cr without a specific task, present the available modes:

cloudrouter - Cloud Development Sandboxes
Modes:
cloudrouter start . Sync current directory to a cloud sandbox
cloudrouter start --size small . Smaller sandbox (2 vCPU, 8 GB)
cloudrouter start --gpu T4 . Sandbox with T4 GPU (16GB VRAM)
cloudrouter start --gpu A100 . Sandbox with A100 GPU (40GB VRAM)
cloudrouter start --gpu H100 . Sandbox with H100 GPU (80GB VRAM)
Manage:
cloudrouter ls List all sandboxes
cloudrouter code <id> Open VS Code in browser
cloudrouter jupyter <id> Open Jupyter Lab in browser
cloudrouter pty <id> Open terminal session
cloudrouter vnc <id> Open VNC desktop
cloudrouter stop <id> Pause sandbox
cloudrouter resume <id> Resume paused sandbox
Browser automation:
cloudrouter browser snapshot -i <id> Get interactive elements
cloudrouter browser open <id> <url> Navigate to URL
cloudrouter browser screenshot <id> Take screenshot
Run "cloudrouter start --help" for all options.

Setup

Before doing anything else, always run this command at the start of any cloudrouter task. Do not ask the user — just run it automatically:

bash
npm install -g @karlorz/cloudrouter # Install/update CLI

This is idempotent — safe to run even if already up to date. This ensures the agent always has the latest CLI.

This installs both cloudrouter and cr (shorthand) as CLI commands.

Then authenticate:

bash
cloudrouter login

If the user hasn't logged in yet, prompt them to run cloudrouter login first before using any other commands.

Quick Start

bash
cloudrouter login # Authenticate (opens browser)
cloudrouter start . # Create sandbox from current directory
cloudrouter start --gpu T4 . # Create sandbox with GPU
cloudrouter start --size small . # Create smaller sandbox
cloudrouter code <id> # Open VS Code
cloudrouter jupyter <id> # Open Jupyter Lab
cloudrouter pty <id> # Open terminal session
cloudrouter ls # List all sandboxes
Preferred: Always use cloudrouter start . or cloudrouter start <local-path> to sync your local directory to a cloud sandbox. This is the recommended workflow over cloning from a git repo.

Commands

Authentication
bash
cloudrouter login # Login (opens browser)
cloudrouter logout # Logout and clear credentials
cloudrouter whoami # Show current user and team
Creating Sandboxes
bash
# Standard sandbox (syncs local directory) — DO NOT pass --size, default is large (8 vCPU, 32 GB)
cloudrouter start . # Create from current directory (recommended)
cloudrouter start ./my-project # Create from a specific local directory
cloudrouter start -o . # Create and open VS Code immediately
cloudrouter start -n my-sandbox . # Create with a custom name
# Size presets — only use if the user specifically requests a different size
cloudrouter start --size small . # 2 vCPU, 8 GB RAM, 20 GB disk — only if user asks
cloudrouter start --size medium . # 4 vCPU, 16 GB RAM, 40 GB disk — only if user asks
cloudrouter start --size large . # 8 vCPU, 32 GB RAM, 80 GB disk (DEFAULT — no flag needed)
cloudrouter start --size xlarge . # 16 vCPU, 64 GB RAM, 160 GB disk — only if user asks
# With GPU (auto-selects Modal provider)
cloudrouter start --gpu T4 . # T4 GPU (16GB VRAM)
cloudrouter start --gpu L4 . # L4 GPU (24GB VRAM)
cloudrouter start --gpu A10G . # A10G GPU (24GB VRAM)
cloudrouter start --gpu A100 . # A100 GPU (40GB VRAM) - requires approval
cloudrouter start --gpu H100 . # H100 GPU (80GB VRAM) - requires approval
cloudrouter start --gpu H100:2 . # Multi-GPU: 2x H100
# With custom resources (override --size values)
cloudrouter start --cpu 12 --memory 49152 . # Custom CPU and memory
cloudrouter start --disk 100 . # Custom disk size (GB)
cloudrouter start --image ubuntu:22.04 . # Custom container image
# From git repo (URL as positional arg or --git flag)
cloudrouter start https://github.com/user/repo # Clone git repo directly
cloudrouter start --git user/repo # Clone via shorthand
cloudrouter start --git user/repo -b main # Clone specific branch
# Provider selection
cloudrouter start -p e2b . # Use E2B provider (default)
cloudrouter start -p modal . # Use Modal provider
# Custom timeout
cloudrouter start --timeout 1800 . # 30-minute timeout (default: 600s = 10 min)
Size Presets
SizevCPURAMDiskNotes
small28 GB20 GBLight tasks
medium416 GB40 GBStandard development
large832 GB80 GBDefault
xlarge1664 GB160 GBHeavy workloads

Do NOT pass `--size` unless the user explicitly asks for a specific size. The default is large (8 vCPU, 32 GB) which is appropriate for most tasks. Using --size small unnecessarily will make builds slower and may cause out-of-memory issues.

Individual resource flags (--cpu, --memory, --disk) override --size values.

GPU Options
GPUVRAMBest ForAvailability
T416GBInference, fine-tuning small modelsSelf-serve
L424GBInference, image generationSelf-serve
A10G24GBTraining medium modelsSelf-serve
L40S48GBInference, video generationRequires approval
A10040GBTraining large models (7B-70B)Requires approval
A100-80GB80GBVery large modelsRequires approval
H10080GBFast training, researchRequires approval
H200141GBMaximum memory capacityRequires approval
B200192GBLatest gen, frontier modelsRequires approval

GPUs requiring approval: contact founders@manaflow.ai.

Multi-GPU: append :N to the GPU type, e.g. --gpu H100:2 for 2x H100.

All start Flags
-n, --name <name> Name for the sandbox
-o, --open Open VS Code after creation
--size <preset> Machine size: small, medium, large (default), xlarge
--gpu <type> GPU type (T4, L4, A10G, L40S, A100, H100, H200, B200)
--cpu <cores> CPU cores (overrides --size)
--memory <MiB> Memory in MiB (overrides --size)
--disk <GB> Disk size in GB (overrides --size)
--image <image> Container image (e.g., ubuntu:22.04)
--git <repo> Git repository URL or user/repo shorthand
-b, --branch <branch> Git branch to clone
-p, --provider <name> Sandbox provider: e2b (default), modal
-T, --template <id> Template ID — DO NOT use template names from `cloudrouter templates`; use --gpu flags instead
--timeout <secs> Sandbox timeout in seconds (default: 600 = 10 minutes)
Warning: Do NOT pass template names (e.g. cmux-devbox-base) to the -T flag. These are display names, not valid template IDs.
Aliases: cloudrouter start, cloudrouter create, cloudrouter new all do the same thing.
Managing Sandboxes
bash
cloudrouter ls # List all sandboxes
cloudrouter ls -p modal # List only GPU sandboxes
cloudrouter ls -p e2b # List only Docker sandboxes
cloudrouter status <id> # Show sandbox details and URLs
cloudrouter stop <id> # Pause sandbox (preserves state, can resume)
cloudrouter pause <id> # Same as stop — alias
cloudrouter resume <id> # Resume a paused sandbox
cloudrouter extend <id> # Extend sandbox timeout (default: +1 hour)
cloudrouter extend <id> --seconds 7200 # Extend by 2 hours
cloudrouter delete <id> # Delete sandbox permanently
cloudrouter templates # List available templates
Important: stop and pause are the same command — they preserve sandbox state. Use resume to bring a paused sandbox back. Use delete (aliases: rm, kill) to permanently destroy a sandbox.
Do NOT use `--timeout` with extend — the flag is --seconds.
Access Sandbox
bash
cloudrouter code <id> # Open VS Code in browser
cloudrouter jupyter <id> # Open Jupyter Lab in browser
cloudrouter vnc <id> # Open VNC desktop in browser
cloudrouter pty <id> # Interactive terminal session
Work with Sandbox
bash
cloudrouter pty <id> # Interactive terminal session (use for ongoing work)
cloudrouter ssh <id> <command> # Execute a one-off command via SSH
cloudrouter ssh <id> "ls -la" # Run a command (always quote the command string)
cloudrouter pty-list <id> # List active PTY sessions
Important: Prefer cloudrouter pty for interactive work. Use cloudrouter ssh for quick one-off commands.
CRITICAL: Always quote the command string. cloudrouter ssh <id> ls -la will FAIL because -la is parsed as a cloudrouter flag. Always wrap in quotes: cloudrouter ssh <id> "ls -la".
IMPORTANT: Fix npm Permissions Before Any npm Command

ALWAYS run this before `npm install` or any npm command in a new sandbox:

bash
cloudrouter ssh <id> "sudo chown -R 1000:1000 /home/user/.npm"

Without this, npm install will fail with EACCES/ENOENT errors on .npm/_cacache. This must be done once per sandbox, before the first npm operation. Do not skip this step.

File Transfer

Upload and download files or directories between local machine and sandbox.

Command signatures:

  • cloudrouter upload <id> [local-path] — accepts 1-2 positional args: sandbox ID and optional local path
  • cloudrouter download <id> [local-path] — accepts 1-2 positional args: sandbox ID and optional local path
  • Use -r <remote-path> flag to specify a non-default remote directory (default: /home/user/workspace)
  • Do NOT pass remote paths as positional arguments — this will error. Always use the -r flag.
bash
# Upload (local -> sandbox)
cloudrouter upload <id> # Upload current dir to /home/user/workspace
cloudrouter upload <id> ./my-project # Upload directory to workspace
cloudrouter upload <id> ./config.json # Upload single file to workspace
cloudrouter upload <id> . -r /home/user/app # Upload to specific remote path
cloudrouter upload <id> . --watch # Watch and re-upload on changes
cloudrouter upload <id> . --delete # Delete remote files not present locally
cloudrouter upload <id> . -e "*.log" # Exclude patterns
cloudrouter upload <id> . --dry-run # Preview without making changes
# Download (sandbox -> local)
cloudrouter download <id> # Download workspace to current dir
cloudrouter download <id> ./output # Download workspace to ./output
cloudrouter download <id> ./output -r /home/user/app # Download specific remote dir to ./output

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Refreshed 23 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/karlorz/cloudrouter/cloudrouter/badge)](https://verified-skill.com/skills/karlorz/cloudrouter/cloudrouter)

Something wrong with this skill or its page? Tell us.