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).
75
94%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
—
The risk profile of this skill
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-outcomeloop_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.19392f7
Also appears in
since Aug 28, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.