Install any skill in seconds. Free to start, no credit card required.
Get Started Free →awslabs/cao-supervisor-protocols
Supervisor-side orchestration patterns for assign, handoff, and idle inbox delivery in CAO
Passed 20 of 21 test cases with the skill, and 7 of 21 without it.
and 15 more in the full report
14 fixed7 passed either way1 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 13 test cases the skill fixed. Same model, same prompt, with and without the skill.
What environment variable in CLI Agent Orchestrator holds the supervisor's own terminal identifier?
| Checked | Without skill | With skill |
|---|---|---|
| Names the CAO_TERMINAL_ID environment variable | Missed | Passed |
The instructions your model reads when the skill loads.
Use this skill when supervising worker agents through CLI Agent Orchestrator.
This skill covers how supervisors should dispatch work, decide between assign and handoff, and receive worker results without blocking inbox delivery.
From cao-mcp-server, supervisors orchestrate work with:
assign(agent_profile, message) for asynchronous work that returns immediatelyhandoff(agent_profile, message) for synchronous work that blocks until the worker finishessend_message(message, receiver_id=None) for direct messages — receiver_id defaults to the terminal that created yours via handoff/assignanswer_user_prompt(terminal_id, answer) for answering a Hermes worker that reports waiting_user_answerYour own terminal ID is available in the CAO_TERMINAL_ID environment variable. CAO appends it to assigned task messages and records it on worker terminals automatically, so you rarely need to handle it yourself.
Use assign when the worker should continue independently and report back later. This is the normal pattern for fan-out work or parallel execution.
Use handoff when the next step is blocked on the worker result. The orchestrator waits for completion, captures the worker output, and returns it directly to the supervisor.
Typical pattern:
assign for analysis, research, or code changes that can run in parallel.handoff for report generation, blocking review steps, or any task where you need the result before you can continue.Assigned workers usually return results through send_message. Those inbox messages are delivered to the supervisor automatically when the supervisor terminal becomes idle.
This means supervisors should:
Do not keep the terminal busy with sleep, echo, or similar commands while waiting. A busy terminal delays inbox delivery.
test cases passed, vs 7 / 21 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.