# Crabbox Setup

Scaffold an isolated CLOUD dev box per agent (via crabbox + Daytona) for any codebase, ...

- Repository: https://github.com/AI-Builder-Club/skills (1308 stars)
- Category: Testing
- License: see repository
- Last updated: 2026-09-15
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add AI-Builder-Club/skills --skill crabbox-setup -g -a claude-code -y`
Codex: `npx skills add AI-Builder-Club/skills --skill crabbox-setup -g -a codex -y`
Cursor: `npx skills add AI-Builder-Club/skills --skill crabbox-setup -g -a cursor -y`
Gemini CLI: `npx skills add AI-Builder-Club/skills --skill crabbox-setup -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add AI-Builder-Club/skills`

## Description

Scaffold an isolated CLOUD dev box per agent (via crabbox + Daytona) for any codebase, the parallel-safe counterpart to dev-local-setup. Each agent gets its own full stack (own DB + dev server) and an in-box browser for e2e, so concurrent loops never collide on ports/state. Sets up the snapshot image, .crabbox.yaml, an idempotent setup.sh (also boots the stack locally), and a cbx.sh wrapper. Use when the user says "set up crabbox", "give each agent its own box", "add cloud testing", "make this repo testable in the cloud / on Daytona", "parallel-test this", or when setup-codebase-harness needs true per-agent isolation.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# crabbox-setup, an isolated cloud box per agent

`dev-local-setup` gives you **one** local stack. But the loop-engineer model runs
**many loops in parallel**, and you can't run N full stacks on one laptop, fixed
ports, one Docker daemon, one shared DB; worktrees don't fix that (they still share
the host). This skill is the cloud/parallel counterpart: a **fresh isolated box per
agent** (own DB + dev server), driven by an **in-box browser**, so concurrent code
loops verify their work without colliding, laptop at ~0% CPU.

Written for **Daytona** (snapshot-based, the proven path); notes for SSH-lease
providers (Hetzner/AWS) at the end. It **composes** with the rest of the harness:
- reuse `dev-local-setup`'s service/port discovery, don't re-discover.
- run the `e2e-setup` specs **on the box** as the verification.

You are SCAFFOLDING files into the target repo. Templates live in `assets/` (next to
this skill); copy them in and ADAPT (every one has `# EDIT:` markers).

---

## Step 0, Discover (reuse dev-local, don't re-derive)
If `scripts/dev-local.sh` exists, read it: it already encodes the services, ports,
infra deps, and start commands. The box's `setup.sh` should mirror it so local and
cloud stay in sync. Otherwise discover the same facts (package manager, dev cmd +
**port**, backing services, secrets), see `dev-local-setup` Step 1. Decide:
- **Needs containers** (Postgres/Supabase/Redis)? → keep the docker-in-docker block.
- **Browser e2e**? → keep the Chrome + playwright-cli + ffmpeg block.
- **Secrets** the app needs → these go through `env.allow` (Step 3), never sync.

The rest: https://github.com/AI-Builder-Club/skills/blob/HEAD/skills/crabbox-setup/SKILL.md
