CtrlK
BlogDocsLog inGet started
Tessl Logo

agent-launcher-orchestrator

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).

76

Quality

98%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is agent-launcher-orchestrator in alirezarezvani/claude-skills

SKILL.md
Quality
Evals
Security

agent-launcher — Domain Orchestrator

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.

The through-line: the session goal

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.

Routing (deterministic)

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-skillLoop/workflow
interviewinterviewsingle-pass workflow
stage-launchstage-launchsingle-pass workflow
grade-iterategrade-iteratebounded grade→iterate loop
run-without-yourun-without-yourecurring cron deployment loop
wrap-upwrap-up

Compile the loop

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.

Pre-flight gates (hard refusals)

  1. No goal set. If goal.json is missing, run goal_state.py init --goal "..." first. The orchestrator does not guess a goal.
  2. Goal too vague. Router exit 4 — get one sentence naming the one job before routing. Never route on under-3-word goals.
  3. Never make API calls. Emit BYOK curl; the user runs it with their own $ANTHROPIC_API_KEY. No script in this plugin touches the network.
  4. Never print the key. Launch scripts read the key from the environment.

Hand-off contract

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).

Forcing-question library (walk one at a time; recommend + cite)

  1. "What one job should this agent do end-to-end?"Recommend: the single most repeated task. Cite: interview-to-config.md (six intake slots). Refuse to route a two-job goal; split into two ./my-agent-*/ folders.
  2. "What kicks it off — you ask it, an event, or a schedule?"Recommend: on-demand for v0, schedule as the Phase-4 upgrade. Cite: loops-and-workflows.md.
  3. "How would you grade a good run?"Recommend: 3–5 rubric lines grounded in the output. Cite: cma-primitives.md (outcomes; rubric required).
  4. "Is a real integration ready, or do we mock it in v0?"Recommend: mock with a schema-true custom tool; wire the MCP server as v1. Cite: interview-to-config.md.
  5. "Should run #10 be smarter than run #1?"Recommend: attach a memory store only if yes; else skip it. Cite: cma-primitives.md (memory limits + injection risk).

Tools

  • 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.
Repository
alirezarezvani/claude-skills
Last updated
First committed

Canonical home

alirezarezvani/claude-skills
In sync

since Aug 28, 2026

Is this your skill?

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.