一键导入
cao-worker-protocols
// Worker-side callback and completion rules for assigned and handed-off tasks in CAO
// Worker-side callback and completion rules for assigned and handed-off tasks in CAO
Interact with CAO (CLI Agent Orchestrator) — launch multi-agent sessions, check status, send follow-up instructions, unblock stuck terminals, or shut down sessions. Use when working with CAO sessions in any capacity.
Interact with CAO (CLI Agent Orchestrator) — launch multi-agent sessions, check status, send follow-up instructions, unblock stuck terminals, or shut down sessions. Use when working with CAO sessions in any capacity.
Create a new CAO (CLI Agent Orchestrator) plugin. Use this skill whenever the user wants to add a plugin that reacts to CAO lifecycle or messaging events, scaffold a plugin package, understand plugin requirements, or integrate an external system (Discord, Slack, dashboards, logging, metrics) with CAO. Also use when the user asks what plugin events are available, how plugin discovery works, or how to install a plugin into a CAO environment.
Supervisor-side orchestration patterns for assign, handoff, and idle inbox delivery in CAO
Create a new CLI agent provider for CAO (CLI Agent Orchestrator). Use this skill whenever the user wants to add support for a new CLI-based AI agent (e.g., a new coding assistant CLI), integrate a new provider, or scaffold a provider implementation. Also use when the user asks about the provider architecture, what files to modify, or how providers work in CAO.
| name | cao-worker-protocols |
| description | Worker-side callback and completion rules for assigned and handed-off tasks in CAO |
Use this skill when acting as a worker agent inside CLI Agent Orchestrator.
This skill explains how workers should interpret assigned versus handed-off work, when to call send_message, and how to report results back cleanly.
Workers receive tasks through one of two orchestration modes:
handoff: blocking work where the orchestrator captures your final output automaticallyassign: non-blocking work where you must actively return results to the requesting terminalDepending on provider and CAO behavior, a handoff may be made explicit in the task text. For example, Codex workers currently receive a [CAO Handoff] prefix for blocking handoffs. Other providers may rely on the task wording and orchestration context instead.
When the task is a blocking handoff, complete the work and present the result in your normal response. The orchestrator captures that response automatically.
Do not call send_message for ordinary handoff completion unless the task explicitly asks for additional side-channel communication.
When the task came through assign, the task message should include a callback terminal ID. After you finish the work:
send_message(receiver_id=..., message=...) with the completed result.Do not stop after writing a normal response if the assignment explicitly requires a callback. The requesting terminal depends on send_message to receive the result.
Assigned tasks may include callback instructions directly in the main message or in an appended suffix such as [Assigned by terminal ...]. Treat that callback terminal ID as authoritative.
Your own CAO_TERMINAL_ID identifies your terminal, not the callback target. Send results to the receiver specified in the task.
Return results that are easy for the supervisor to merge into a larger workflow:
If the task asks for progress updates, use send_message for those updates too. Otherwise prefer one final callback with the completed deliverable.
If the task asks you to create files, write them before reporting completion. When sending results back to a supervisor, include absolute file paths so the supervisor can continue the workflow without ambiguity.
send_message is available and the task requires a callback, call it directly rather than ending with prose alone.