- On your laptop — they ship with the
boxdCLI; install once and they drive a remote golden over the API. - Inside a boxd VM — they’re baked into every VM image, already at
~/.claude/skills/with nothing to install, and they drive the in-VM CLI. See Inside a VM.
Currently only Claude Code is supported. The skills install at
~/.claude/skills/ and use Claude Code’s skill format. If you’d like the same workflows packaged for another agent (Codex, Cursor, OpenCode, …), reach out and we’ll prioritize.What you get
| Skill | Slash command | What it does |
|---|---|---|
| boxd-cli | (used implicitly) | Teaches the agent how to drive the external boxd CLI: create/fork/destroy machines, run commands inside them, manage proxies, mint API keys. Loaded automatically whenever the agent is asked about boxd. |
| boxd-setup-golden | /boxd-setup-golden | Provisions a long-running “golden” boxd VM with your app installed and running. The golden becomes the fork source for per-issue agents, ephemeral previews, or any workflow that needs a warm copy of your app. |
| boxd-setup-preview | /boxd-setup-preview | On-demand preview environments — and the shared listener the next two layer on. Comment /boxd-preview on a PR or issue and a listener on the golden forks it, syncs the fork to the right branch (hot-reloading when it can, rebuilding only when the diff needs it), and posts the *.boxd.sh URL back. Stack-agnostic — the deploy semantics live in one config file on the golden, so the same runtime serves a docker-compose monorepo or a Vite + cargo app. |
| boxd-setup-deploy | /boxd-setup-deploy | Deploy-on-push, added as the sixth hook on the boxd-setup-preview listener. Every push to your default branch re-syncs the golden and redeploys it (hot-reload, or rebuild only when the diff needs it) — reusing the same listener, HMAC secret, and deploy.sh engine as previews, so they coexist on one golden. Requires boxd-setup-preview; no GHA runner, no BOXD_API_KEY. |
| boxd-setup-fix | /boxd-setup-fix | The full agent loop, also layered on boxd-setup-preview. /boxd-fix, /boxd-preview --fix, or the boxd-fix label forks the golden, runs Claude inside the fork, then opens a PR (issue) or pushes to the existing PR branch (PR); the fork is destroyed on PR close. Reuses the preview platform’s fork/deploy machinery — it adds only the fix webhooks; Claude auth comes from the golden’s inherited login (no token to paste). |
Install
This is the laptop path. Inside a boxd VM the skills already ship in the image — there’s nothing to install. Skip to Inside a VM.
boxd CLI. The same installer drops both the binary and the skills:
boxd-cliskill →~/.claude/skills/boxd-cli/SKILL.mdboxd-setup-{golden,deploy,preview,fix}skills →~/.claude/skills/boxd-setup-*/(each with its ownSKILL.mdplus anassets/directory of templates the agent renders during setup)
Using a setup skill
Open your agent inside the repo you want to wire up, then invoke the slash command:What boxd-setup-preview produces
After the skill runs, commenting on a PR or issue forks the golden and posts a live *.boxd.sh URL:
/etc/boxd-platform.conf) the skill fills in by detecting your stack; nothing is committed to your repo.
| What | How |
|---|---|
| Golden VM | A running golden (run /boxd-setup-golden first if you don’t have one) |
| Listener | webhook(8) on the golden, exposed at hooks.<golden>.boxd.sh, verifying HMAC on every request |
| GitHub webhooks | 2 registered automatically: the /boxd-preview comment trigger and the PR-close teardown |
| Deploy config | The skill detects your stack (compose / npm / cargo / …), confirms the up/reload/rebuild commands with you, and writes them to the golden |
What boxd-setup-fix produces
boxd-setup-fix layers on top of the preview platform — run /boxd-setup-preview first. It adds the agent loop, triggered three ways:
LoginPage.vue → ✏️ editing → 🌐 loading the preview → 📸 capturing the screenshot). The PR opens with a before/after visual diff and a clickable preview URL on *.boxd.sh.
Required pieces the skill walks you through:
| What | How |
|---|---|
| Preview platform | /boxd-setup-preview on the golden (and /boxd-setup-golden for the golden itself). Fix reuses its fork/sync/deploy/teardown wholesale. |
| Claude auth | Automatic — no token to paste. Every boxd VM ships logged into Claude, and a fork inherits that login, so Claude runs in the fork authenticated (billed against that account’s Pro/Max/Team/Enterprise subscription). Optional: to run fixes under a different identity, claude setup-token and paste the token onto the golden at /etc/boxd-fix/claude.token (takes precedence). |
| GitHub webhooks | 3 fix webhooks registered against the repo (fix, fix-label, fix-pr-label), reusing the preview platform’s HMAC secret. The PR-close teardown is the preview platform’s shared hook. |
boxd-fix label | Created automatically. |
gh token persisted on the golden during /boxd-setup-golden — no GitHub-Actions org-level “Allow Actions to create PRs” toggle needed.
What boxd-setup-deploy produces
Deploy is the sixth hook on the boxd-setup-preview listener — so setup just makes the hook live and registers one push webhook. It installs no second service, picks no new port, and commits nothing to your repo. On every push to the default branch:
deploy.sh is the same engine the preview forks use — it diffs what changed against what the golden last deployed and picks the cheapest correct action: hot-reload (source-only), rebuild (deps/schema), or recreate (compose/.env). The commands for each tier are the ones you gave /boxd-setup-preview (they live in /etc/boxd-platform.conf on the golden) — there’s no separate deploy config. The HMAC secret stays on the golden and in GitHub’s webhook config; nothing is added to your repo.
Manual install (if you prefer)
If you don’t want to run the CLI installer, fetch just the skills:/skills to refresh) and the five skills appear with autocomplete on /boxd-setup-….
Inside a VM
The setup skills above run on your laptop and drive a remote golden over the API. The same workflows also ship baked into every boxd VM image, for an agent working inside a VM (e.g. Claude Code on a boxd VM). They appear automatically at~/.claude/skills/ — no install — and come in two kinds:
- the in-VM counterparts of
boxd-setup-{golden,preview,deploy,fix}(covered below), and - an everyday
boxdskill — the in-VM counterpart of the laptop’sboxd-cliskill — that teaches the agent to drive the in-VM CLI (fork this VM, manage proxies, run commands in sibling VMs). It loads automatically whenever the agent works with boxd.
- The current VM is the golden.
boxd-setup-goldenjust installs and runs your app right there — noboxd new, noboxd exec. - The preview/fix/deploy platform is pre-baked at
/opt/boxd-platform(thewebhook(8)binary and systemd units ship dormant in the image). Soboxd-setup-preview/-deploy/-fixskip all the staging, fetching, and installing — they fill in your repo’s config, run one local command, and register the GitHub webhooks.
deploy.sh, same hooks.<vm>.boxd.sh webhooks) — only the setup path differs (local, as the boxd user, vs. over the API). New platform versions reach in-VM agents on the next image release.
Today the in-VM skills cover golden, preview, deploy, and fix. They target Claude Code (the agent pre-installed on every VM).