CLI Agent Orchestrator is a tool that coordinates multiple AI coding command-line programs by running them as separate workers in isolated terminal sessions. A supervisor uses it to delegate software tasks to specialist agents in parallel or in sequence while the workers retain their normal command-line capabilities. The catalogue skills operate this orchestration workflow.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/awslabs/cli-agent-orchestrator/cao-learningnpx skills add awslabs/cli-agent-orchestrator --skill cao-learninggit clone --depth 1 https://github.com/awslabs/cli-agent-orchestratorWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/awslabs/cli-agent-orchestrator/cao-learning)<a href="https://agentmods.dev/skills/awslabs/cli-agent-orchestrator/cao-learning"><img src="https://agentmods.dev/badge/skills/awslabs/cli-agent-orchestrator/cao-learning.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00063 | $0.01072 |
| Opus 5 | $0.00032 | $0.00536 |
| Sonnet 5 | $0.00013 | $0.00214 |
| Haiku 4.5 | $0.00006 | $0.00107 |
Grade A, and why
cao-learning scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CAO Self-Learning
CAO workflows can improve as they repeat: outcomes you report feed a retrospector agent that distills durable lessons into memory, and those lessons reach future sessions automatically. Your job depends on your role.
All of this is opt-in infrastructure. If report_outcome or a memory tool
returns disabled: true, skip it silently and continue your task — learning
is off for this run (often deliberately, e.g. a control run) and that is
expected, not an error.
If you are a SUPERVISOR
Report an outcome after each meaningful unit of work
One report_outcome call per completed step, delegated task, or work item —
after validation/review, not before:
report_outcome(
task_label="convert package CustomerETL (iteration 2)",
success=false,
workflow_name="ssis-migration",
agent_profile="transformer", # who did the work (defaults to you)
score=40, # optional 0-100 metric if you have one
friction_notes="Lookup with partial cache emitted an invalid join; "
"improver patched the cache-mode mapping."
)
Rules for friction_notes:
- 1–3 sentences, conclusions only — the root cause, not the story.
- NEVER paste transcripts, logs, stack traces, file contents, or secrets.
- Empty string on a clean pass is fine; the success flag already carries signal.
Report failures faithfully — failed iterations are the most valuable learning signal. Do not skip reporting because a step went badly.
Dispatch the retrospector at natural boundaries
After each completed work item (a package, a feature, a review cycle) — not
after every step — hand off to the retrospector agent:
"Retrospect on session <session_name>, workflow <workflow_name>,
item <item name>. Agents involved: <profiles>."
Wait for its one-line summary (outcomes read, lessons stored) and record it in your run log. If no retrospector profile is available, skip this step.
Pass lessons downstream
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 114 lines · 63 tokens per session scan A c6877010b2cb
cao-learning is a skill published in the GitHub repository awslabs/cli-agent-orchestrator (1,205 stars, last pushed yesterday), licensed Apache-2.0. It adds 63 tokens to every session and 1,072 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
memory
Use when deciding whether to write, read, update, consolidate, or avoid orchestrator memory; distinguishing memory from board status, job state, session history, or project-local agent context.
mindforge-thread
Manage persistent context threads for cross-session work.
tool-selection
Internal guidance for choosing between agent-rack's sync and background execution tools, and when to use per-agent shortcuts. Use whenever delegating a task to a claude/codex/opencode/Antigravity/custom sub-agent through agent-rack.
review
Run a structured, read-only code review through agent-rack's agentreview tool.
session-send
Send follow-up input to a running background agent-rack session.
review-handling
Internal guidance for presenting agent-rack's agentreview output back to the user. Use whenever an agentreview call (foreground or via agentsessionstatus) returns a result.