$npx -y skills add stablyai/orca --skill orchestrationUse Orca orchestration for structured multi-agent coordination: threaded messages, blocking ask/reply flows, task dispatch, worker_done/escalation waits, task DAGs, decision gates, coordinator loops, or decomposing work across agents. Use orca-cli instead for full ownership han
| 1 | # Orca Inter-Agent Orchestration |
| 2 | |
| 3 | Orchestration is Orca's structured coordination layer for agent messages, task ownership, dispatch state, and worker completion tracking. |
| 4 | |
| 5 | Use this skill when coordination state matters. For lightweight terminal prompts or basic worktree/terminal/built-in-browser control, use `orca-cli`. |
| 6 | |
| 7 | ## Tool Boundary |
| 8 | |
| 9 | If a task says to use Orca orchestration, the coordinator must create Orca runtime state with `orca orchestration task-create` and `orca orchestration dispatch --inject` or `orca orchestration run`. |
| 10 | |
| 11 | Do not substitute non-Orca subagent tools, generic agent-spawn APIs, or chat-only parallel worker features. Those may create useful workers, but they do not create Orca task/dispatch provenance, injected lifecycle preambles, `worker_done` authority, or decision gates. |
| 12 | |
| 13 | Before claiming a worker was orchestrated, verify the task/dispatch exists: |
| 14 | |
| 15 | ```bash |
| 16 | orca orchestration task-list --json |
| 17 | orca orchestration dispatch-show --task <task_id> --json |
| 18 | ``` |
| 19 | |
| 20 | If the work was accidentally run outside Orca orchestration, say so plainly. To repair provenance, rerun or revalidate the needed work through a fresh Orca terminal plus injected dispatch; do not retroactively describe the external worker as orchestrated. |
| 21 | |
| 22 | ## When To Use |
| 23 | |
| 24 | - Send/reply/ask between agent terminals with persistent messages. |
| 25 | - Dispatch structured tasks to workers and wait for `worker_done` or `escalation`. |
| 26 | - Track task DAGs with dependencies. |
| 27 | - Run coordinator loops or decision gates. |
| 28 | |
| 29 | Do not use orchestration merely because the user says "hand off", "handoff", "handover", "give this to another agent", or asks for another worktree/agent/model/effort. Those are full ownership transfers unless the user explicitly asks to supervise, monitor, wait for worker completion/results, coordinate a DAG, use decision gates, or keep a blocking ask/reply loop. |
| 30 | |
| 31 | ## Preconditions |
| 32 | |
| 33 | - `orca status --json` should show a running runtime. |
| 34 | - `orca` must be on PATH (`orca-ide` on Linux). |
| 35 | - The orchestration experimental feature must be enabled in Settings > Experimental. |
| 36 | - `orca orchestration` commands are RPC calls to the running Orca runtime. |
| 37 | |
| 38 | ## Ownership |
| 39 | |
| 40 | Orchestration messages and tasks are runtime-global. Lifecycle authority comes from the payload `taskId` + `dispatchId` of the active dispatch, verified against the dispatched pane. Terminal handles are routing metadata — a pane can receive a new handle after restart — so never accept or reject lifecycle provenance by comparing handles. Send `worker_done` and `heartbeat` from the worker's own terminal; the runtime ignores them when sent from a different pane. |
| 41 | |
| 42 | Classify inherited context before sending lifecycle messages: |
| 43 | |
| 44 | - Coordinated subtask: a live coordinator owns the DAG and waits on this dispatch. Follow the preamble exactly, including `worker_done`, heartbeat/status, `ask`, and `escalation`. |
| 45 | - Full handoff means ownership transfer, not supervised dispatch. The original actor is not monitoring a DAG, so do not create lifecycle obligations unless the user explicitly asks you to supervise. |
| 46 | - Classify requests containing "hand off", "handoff", "handover", "give this to another agent", "give this to another worktree", "another agent", or "another worktree" as full handoffs by default, even when the user names a custom model or reasoning effort. |
| 47 | - Use supervised orchestration only when the user explicitly asks you to "supervise", "monitor", "wait", "track completion", "wait for worker_done", return results, coordinate a DAG, use a decision gate, or manage ask/reply flow. |
| 48 | - Do not use `orca orchestration dispatch --inject` for full handoffs. It injects a coordinator preamble that tells the worker to send `worker_done`, heartbeat, and `ask` messages, then end its turn under the original terminal's dispatch lifecycle. |
| 49 | - Do not run `orca orchestration task-create`, `orca orchestration dispatch --inject`, or `orca orchestration check --wait` for full handoffs. Do not peek at terminal output after prompt delivery to monitor progress. |
| 50 | - A review-only `worker_done` reports findings; it does not authorize coordinator file edits. Af |