Help us improve
Share bugs, ideas, or general feedback.
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).
npx claudepluginhub sancovp/sancrev-marketplace --plugin promptworldHow 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
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
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.