Phase 2 — Stage → Launch¶
Turn the build sheet into runnable artifacts, then let the founder launch with
their own key. No script here touches the network or the key — the user runs
launch.sh.
Workflow¶
- Generate payloads.
Agent toolset →
python3 scripts/payload_generator.py \ --sheet ./my-agent/build-sheet.json --out-dir ./my-agent # -> ./my-agent/payloads/{01-environment,02-agent,03-session,04-kickoff}.jsonalways_allow; every MCP toolset →always_ask(baked into the agent payload'spermission_policies). - Write the launch script.
launch.shcreates environment → agent → session → kickoff in order, chaining IDs, and resumes on re-run (each step skips if its*.idfile exists). It reads$ANTHROPIC_API_KEYat runtime. - Validate before launch.
FAIL blocks — especially a
key_leakfinding. Fix and re-run. - Minimal key step (never in chat). Check the shell first: Point the founder to platform.claude.com → API keys. Never print the key to chat, never write it to a file.
- Launch + watch the first poll.
Mark checkpoints with Console deep links. Then
goal_state.py set --phase grade-iterateand advance.
Hard rules (API-key safety)¶
- The key never enters chat, a file, a payload, or a log.
launch.shreads it from the environment;payload_validator.pyscans forsk-ant-…leaks and FAILs. - Sequential launch. environment → agent → session → kickoff. Watch the first poll foreground before declaring success.
- Resumable. Re-running
launch.shcontinues from the last created ID.
Forcing-question library (recommend + cite)¶
- "Is the key in your shell env already?" Recommend: check
$ANTHROPIC_API_KEYbefore anything. Cite: this SKILL, key-safety rules. - "Cloud or self-hosted environment?" Recommend: cloud for v0. Cite: cma-primitives.md (environment).
- "Any MCP server in the payload?" Recommend: keep it
always_ask. Cite: cma-primitives.md (permissions). - "Did the first poll return idle/running cleanly?" Recommend: watch it foreground before moving on. Cite: cma-primitives.md (session lifecycle).
Tools¶
scripts/payload_generator.py— build sheet → 4 ordered API payloads.scripts/launch_script_writer.py— resumable BYOK curl launcher (no key handling).scripts/payload_validator.py— pre-launch check + API-key-leak scan.