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).
- License 许可
- MIT
- 最近更新
- 2026-08-25
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- agent-launcher-orchestrator
- tags
- [ "claude-managed-agents", "cma", "agent", "launch", "orchestrator", "session-goal", "loop", "workflow", "cron", "outcome", "byok" ]
- author
- Alireza Rezvani
- context
- fork
- license
- MIT
- version
- 2.11.2
- description
- 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).
- compatible_tools
- [ "claude-code", "codex-cli", "cursor", "antigravity", "opencode", "gemini-cli" ]
03 SKILL.md 正文
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-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 |
— |
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)
- No goal set. If
goal.jsonis missing, rungoal_state.py init --goal "..."first. The orchestrator does not guess a goal. - Goal too vague. Router exit 4 — get one sentence naming the one job before routing. Never route on under-3-word goals.
- 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. - 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)
- "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. - "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.
- "How would you grade a good run?" — Recommend: 3–5 rubric lines grounded in the output. Cite: cma-primitives.md (outcomes; rubric required).
- "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.
- "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— owngoal.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.v1execution shape.
04 同仓库更多 Skills
webmcpify
Make a web app agent-ready — propose a WebMCP tool manifest, integrate, verify in a real browser, heal; unrelated code stays untouched. Use for "webmcpify", "add WebMCP", or "expose app actions to AI agents".
vardoger-analyze
Use when the user asks to personalize the GitHub Copilot CLI assistant, adapt Copilot to their style, use vardoger, or analyze their Copilot CLI conversation history. Reads the local session directory at `~/.copilot/session-state/`, extracts recurring preferences and conventions, and writes a fenced personalization block into `~/.copilot/copilot-instructions.md`. Runs entirely on the user's machine via the local `vardoger` CLI (`pipx install vardoger`); no network calls and no uploads. Triggers: 'personalize my copilot', 'analyze my copilot history', 'tailor copilot to me', 'run vardoger', 'update my copilot instructions from history', 'make copilot learn my style'.
transloadit-media-processing
Process media files (video, audio, images, documents) using Transloadit. Use when asked to encode video to HLS/MP4, generate thumbnails, resize or watermark images, extract audio, concatenate clips, add subtitles, OCR documents, or run any media processing pipeline. Covers 86+ processing robots for file transformation at scale.
terraform-azurerm-set-diff-analyzer
Analyze Terraform plan JSON output for AzureRM Provider to distinguish between false-positive diffs (order-only changes in Set-type attributes) and actual resource changes. Use when reviewing terraform plan output for Azure resources like Application Gateway, Load Balancer, Firewall, Front Door, NSG, and other resources with Set-type attributes that cause spurious diffs due to internal ordering changes.
technical-job-search
Use this skill when a software engineer asks for help with job search tasks: parsing or analyzing a job description, tailoring a CV/resume, writing a cover letter, evaluating a job offer, or drafting a post-interview follow-up email. Do not activate for general career advice unrelated to an active job search action.
steno-mode
Shorthand-first response compression that cuts ~40% of response tokens while preserving technical precision and exact literals. Use when the user says "steno mode", "shorthand mode", "compressed responses", "token reduction", "brief structured output", or invokes /steno. Supports four compression levels: lite, brief, court, machine. Do not trigger for requests needing polished prose such as onboarding/tutorial content, stakeholder or customer-facing copy, or teaching-focused explanations.