CA

cao-supervisor-protocols

Orchestration protocols for managing AI worker agents in the CAO environment.

Install

mkdir -p .claude/skills/cao-supervisor-protocols && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15978" && unzip -o skill.zip -d .claude/skills/cao-supervisor-protocols && rm skill.zip

Installs to .claude/skills/cao-supervisor-protocols

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Supervisor-side orchestration patterns for assign, handoff, and idle inbox delivery in CAO
90 charsno explicit “when” trigger
Advanced

Key capabilities

  • Dispatch worker agents using `assign` for asynchronous work
  • Dispatch worker agents using `handoff` for synchronous work
  • Send direct messages to existing terminals with `send_message`
  • Answer user prompts from Hermes workers using `answer_user_prompt`
  • Orchestrate work through CLI Agent Orchestrator
  • Manage idle-based message delivery

How it works

This skill defines supervisor-side orchestration patterns for dispatching work to worker agents using `assign` for asynchronous tasks and `handoff` for synchronous tasks, managing message delivery, and handling interactive prompts.

Inputs & outputs

You give it
Messages and instructions for worker agents
You get back
Worker results, direct messages, or answers to user prompts

When to use cao-supervisor-protocols

  • Dispatch worker agent
  • Orchestrate parallel tasks
  • Manage worker communication
  • Handle agent handoff

About this skill

CAO Supervisor Protocols

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.

Core MCP Tools

From cao-mcp-server, supervisors orchestrate work with:

  • assign(agent_profile, message) for asynchronous work that returns immediately
  • handoff(agent_profile, message) for synchronous work that blocks until the worker finishes
  • send_message(message, receiver_id=None) for direct messages — receiver_id defaults to the terminal that created yours via handoff/assign
  • answer_user_prompt(terminal_id, answer) for answering a Hermes worker that reports waiting_user_answer

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

Choosing Between Assign and Handoff

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:

  • Use assign for analysis, research, or code changes that can run in parallel.
  • Use handoff for report generation, blocking review steps, or any task where you need the result before you can continue.

Idle-Based Message Delivery

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:

  • Dispatch all planned worker tasks first
  • Finish the turn after dispatching work
  • Avoid running placeholder shell commands just to wait

Do not keep the terminal busy with sleep, echo, or similar commands while waiting. A busy terminal delays inbox delivery.

If you need multiple worker results, dispatch them all first, then end the turn. Do not poll manually in a loop.

Callback Pattern

By default, CAO appends your terminal ID and callback instructions to every assigned message automatically, and records your terminal as the worker's caller — workers can reply with send_message without a receiver_id. You do not need to hand-write callback instructions.

You may still include an explicit callback ID in the task message for emphasis:

Analyze dataset A. Send results back to terminal abc123 using send_message.

If your deployment disables the automatic suffix (CAO_ENABLE_SENDER_ID_INJECTION=false), the explicit pattern above is required: the structural caller record still works, but the worker gets no in-message reminder.

Direct Supervisor Communication

Use send_message when you need to contact an existing terminal directly rather than spawning a new worker.

Examples:

  • Relay follow-up instructions to a worker you already created.
  • Forward a worker result to another coordinator terminal.
  • Send a concise status update to a collaborating supervisor.

When sending direct messages, include enough context that the receiver can act without re-reading the full original task.

Interactive Worker Prompts

Hermes workers can stop on approval prompts or clarify pickers and report waiting_user_answer. When a Hermes worker is in that state, do not use assign, handoff, or send_message to answer it. Use answer_user_prompt(terminal_id, answer) with the exact selection or text to submit, such as 1, o, or a custom answer.

Other providers may still emit prompts in their terminal output without reporting waiting_user_answer. For those providers, treat the prompt as ordinary terminal output and answer it with send_message or direct input according to the workflow you are running.

Practical Workflow

  1. Dispatch asynchronous workers with assign — callback routing is automatic (your terminal ID is appended to the message and recorded as the worker's caller).
  2. Use handoff only for steps that must finish before you can continue.
  3. End the turn so asynchronous worker messages can be delivered.
  4. When messages arrive, synthesize the results and continue the workflow.

Reliability Guidelines

  • Tell workers exactly what deliverable they should return.
  • When workers create files, ask them to return absolute paths in their callback message.
  • Do not assume results will be delivered while your terminal is still busy.
  • Keep orchestration instructions separate from domain requirements so workers can parse both cleanly.

When not to use it

  • When not supervising worker agents through CLI Agent Orchestrator
  • When the supervisor terminal should remain busy while waiting for results
  • When manual polling in a loop is preferred over idle-based delivery

Prerequisites

cao-mcp-server

Limitations

  • Requires `cao-mcp-server` tools
  • Supervisor terminal should not be busy with placeholder commands while waiting
  • Callback instructions are automatically appended unless `CAO_ENABLE_SENDER_ID_INJECTION` is false

How it compares

This skill provides specific protocols for supervisor-worker interaction within the CAO framework, offering structured dispatch, synchronous/asynchronous control, and idle-based message delivery that differs from generic agent communication

Compared to similar skills

cao-supervisor-protocols side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
cao-supervisor-protocols (this skill)01moNo flagsAdvanced
autonomous-agents106moNo flagsAdvanced
agent-goal-planner26moNo flagsAdvanced
planner16moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

autonomous-agents

davila7

Autonomous agents are AI systems that can independently decompose goals, plan actions, execute tools, and self-correct without constant human guidance. The challenge isn't making them capable - it's making them reliable. Every extra decision multiplies failure probability. This skill covers agent loops (ReAct, Plan-Execute), goal decomposition, reflection patterns, and production reliability. Key insight: compounding error rates kill autonomous agents. A 95% success rate per step drops to 60% b

1041

agent-goal-planner

ruvnet

Agent skill for goal-planner - invoke with $agent-goal-planner

215

planner

solatis

Interactive planning and execution for complex tasks. Use when user asks to use or invoke planner skill.

18

hierarchical-coordinator

MadAppGang

Prevent goal drift in long-running multi-agent workflows using a coordinator agent that validates outputs against original objectives at checkpoints. Use when orchestrating 3+ agents, multi-phase features, complex implementations, or any workflow where agents may lose sight of original requirements. Trigger keywords - "hierarchical", "coordinator", "anti-drift", "checkpoint", "validation", "goal-alignment", "decomposition", "phase-gate", "shared-state", "drift detection".

13

workflow-router

parcadei

Goal-based workflow orchestration - routes tasks to specialist agents based on user goals

13

loki-mode

davila7

Multi-agent autonomous startup system for Claude Code. Triggers on "Loki Mode". Orchestrates 100+ specialized agents across engineering, QA, DevOps, security, data/ML, business operations, marketing, HR, and customer success. Takes PRD to fully deployed, revenue-generating product with zero human intervention. Features Task tool for subagent dispatch, parallel code review with 3 specialized reviewers, severity-based issue triage, distributed task queue with dead letter handling, automatic deployment to cloud providers, A/B testing, customer feedback loops, incident response, circuit breakers, and self-healing. Handles rate limits via distributed state checkpoints and auto-resume with exponential backoff. Requires --dangerously-skip-permissions flag.

12

Search skills

Search the agent skills registry