Use when a user wants to build, launch, grade, or schedule a Claude Managed Agent (CMA) in their own Anthropic account — "build me an agent", "launch this as a managed agent", "run this on a schedule", "grade my agent against a rubric", "set up a nightly worker". Reads the per-session goal (./my-agent/goal.json), routes deterministically to one of five phase sub-skills (interview → stage-launch → grade-iterate → run-without-you → wrap-up) via goal_router.py, and compiles the goal+phase into an execution shape (single-pass workflow / bounded grade→iterate loop / recurring cron deployment loop) via loop_compiler.py. Forks context so heavy intake (build sheets, payloads, eval cases) stays out of the parent thread. All launches are emitted as BYOK curl the user runs with their own key; no tool makes API calls. Inspired by anthropics/launch-your-agent (Apache-2.0). Distinct from engineering/agent-harness (generic domain loop) and engineering/write-a-skill (authors Claude Code skills, not CMAs).
Every session starts with a goal — one sentence for one CMA. This orchestrator reads that goal, routes to the right phase, and compiles the goal into a loop or a workflow. Heavy intake stays in the forked context; the parent gets a digest.
Inspired by Anthropic's launch-your-agent reference skill (Apache-2.0). This is
an independent re-implementation; CMA semantics come from
../../references/cma-primitives.md.
State lives at ./my-agent/goal.json (the user's folder). Manage it with
goal_state.py (init / set / status / advance) — it also backs the /cs:goal
command and the opt-in SessionStart hook. The goal's phase selects the lane;
the phase + recurrence selects the loop shape.
Run the router, then act on its exit code:
python3 scripts/goal_router.py --out-dir ./my-agent
# exit 0 ROUTE -> fork to the named phase sub-skill
# exit 3 ASK -> ask the one printed forcing question, then re-route
# exit 4 REFUSE -> goal too vague; get one sentence, then re-route
| Lane (phase) | Sub-skill | Loop/workflow |
|---|---|---|
| interview | interview | single-pass workflow |
| stage-launch | stage-launch | single-pass workflow |
| grade-iterate | grade-iterate | bounded grade→iterate loop |
| run-without-you | run-without-you | recurring cron deployment loop |
| wrap-up | wrap-up | — |
python3 scripts/loop_compiler.py \
--out-dir ./my-agent --max-iterations 5 --cron "0 9 * * *" --timezone Europe/Berlin --nest-outcome
loop_compiler.py emits plan.v1: single-pass, grade-iterate (always with a
max_iterations cap 1..20), or cron-loop (optionally nesting a self-grading
outcome per firing). See ../../references/loops-and-workflows.md.
goal.json is missing, run
goal_state.py init --goal "..." first. The orchestrator does not guess a goal.$ANTHROPIC_API_KEY. No script in this plugin touches the network.After routing, fork to the sub-skill with: the goal string, agent_name,
out_dir (./my-agent), and the compiled plan.v1. When the sub-skill returns,
goal_state.py advance moves the phase and the parent gets a ≤100-word digest
(phase done, artifact paths, loop shape, one next step).
./my-agent-*/ folders.scripts/goal_state.py — own goal.json (init/set/status/advance).scripts/goal_router.py — goal → lane (exit 0 route / 3 ask / 4 refuse).scripts/loop_compiler.py — goal+phase → plan.v1 execution shape.Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/agent-launcher-orchestrator · pinned to the source commit
# Run from your project root
git clone https://github.com/alirezarezvani/claude-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 19392f7a08264ed00486a251f5b2098321771f94
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/agent-launcher/skills/agent-launcher-orchestrator" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/alirezarezvani/claude-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 19392f7a08264ed00486a251f5b2098321771f94
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/agent-launcher/skills/agent-launcher-orchestrator" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/agent-launcher-orchestrator
Scanner static-checks@0.1.0 · commit 19392f7a0826. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
References credentials, tokens or secret files that a skill should not need.
Evidence: [redacted]· fingerprint ccae6d912a41bfef
Fetches remote content at runtime, which can change after review.
Evidence: curl· fingerprint 427e4b79b1f0fc90
References parent-directory traversal, which can escape a target directory.
Evidence: ../· fingerprint fa08499e14d0113b