From promptworld
WHAT: the deploy WIZARD for PromptWorld — YOU (the agent) build the docker image and boot a container running the whole system (the Engineer-CEO that has every skill + a native subagent per component type, the 7 PromptGym specialist agents, the assistant-ui chat + Monaco file explorer + an embedded terminal), find the Claude credentials on THIS machine, copy them into the container at boot, and then just hand the user a URL. WHEN: when the user wants to install / run / launch / boot / spin up / deploy PromptWorld, or says 'set up promptworld', 'start promptworld', 'boot the promptworld container' (any of).
How this skill is triggered — by the user, by Claude, or both
Slash command
/promptworld:install-promptworldThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
YOU (the agent reading this) do the ENTIRE deploy. The user fills in NOTHING and runs NOTHING — when
YOU (the agent reading this) do the ENTIRE deploy. The user fills in NOTHING and runs NOTHING — when
you finish, you hand them ONE URL to open. There are no placeholders, no bind mounts, no -e flags,
no human-typed docker commands. You build the image, find the Claude creds on THIS machine, and boot
via create → docker cp creds → start (which works even when docker is the host daemon via a mounted
socket, because it needs no -v bind mount of a local path).
A single promptworld:latest container, on port 3858, serving:
promptgym/<type>/ directory);/workspace + an embedded
xterm terminal (/ws/terminal → a PTY shell as ceo);DOCMIRROR_CARTON=0) — no DB.The image ships UNAUTHENTICATED (no creds baked). Auth arrives at boot, two ways — you handle #1, the user can do #2 if you have no creds:
docker cp them into the container.claude auth login) — the fallback when this
machine has no creds file (e.g. macOS, where creds live in Keychain).Locate the deploy dir: <plugin-or-repo>/application/promptworld/deploy/. Confirm
deploy/build.sh + deploy/Dockerfile exist.
Build the image (stages promptworld + the doc-mirror plugin + cave + sdna, then docker build;
a few minutes the first time). NO creds go into the image:
bash <...>/application/promptworld/deploy/build.sh build
Find the Claude creds on THIS machine. The OAuth credentials file is at
${HOME}/.claude/.credentials.json (on this dev box that resolves to
/home/GOD/.claude/.credentials.json). Check it exists:
ls -l "${HOME}/.claude/.credentials.json"
claude auth login).Boot it — create → docker cp creds → start (this is exactly what build.sh boot does: it
docker creates with -p 3858:3858 and NO bind mount, docker cps ${HOME}/.claude/.credentials.json
to the container's /creds/.credentials.json, then docker starts; the entrypoint copies /creds
into the ceo user's config + chowns it, so it authenticates for any uid):
bash <...>/application/promptworld/deploy/build.sh boot
Verify through the real surface (don't trust "it started"):
bash <...>/application/promptworld/deploy/build.sh e2e
It must show a real CEO /api/chat reply AND the skill-specialist subagent writing a file inside
promptgym/skill/. (e2e uses docker exec, so it works regardless of host networking.)
Hand the user the URL. Tell them: open http://localhost:3858 — chat with the Engineer-CEO,
watch it dispatch specialists, edit files in the Monaco panel. If step 3 found no creds, add: "open
the Terminal panel at the bottom and run claude auth login to sign in on your own subscription."
build.sh e2e shows a real CEO /api/chat reply AND the specialist-subagent artifact in-container.
The build/boot are idempotent (safe to re-run). On failure, read docker logs promptworld-v1, fix,
re-run.
npx claudepluginhub sancovp/sancrev-marketplace --plugin promptworldGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.