--- name: delegating-cross-agent-work description: Use when deciding whether and how to delegate across child, peer, external, leader-owned, or user-owned worker surfaces. --- # Delegating Cross-Agent Work ## Scope Keep ambiguity, consequential judgment, architecture, copy, and coordination local. Delegate bounded parallel, specialist, or waiting work. [choosing-agent-models](../choosing-agent-models/SKILL.md) owns model and effort selection. This skill owns target surface, worker topology, authority, bounded handoffs, assurance, and leader integration. ## Choose the Worker Contract Choose each axis independently: - target: exact family, surface, version, and executor; - relationship: `child`, `peer`, or `external`; - ownership: `leader-owned` or `user-owned`; - transport: `native-tool`, `task-api`, `cli`, `app-server`, or `remote-api`; and - required assurance: `product-attested`, `controller-observed`, or `self-reported`. Do not infer one axis from another. Use a leader-owned child for bounded work the leader creates and ends. A leader-owned peer may have an independent session while remaining leader-controlled. A user-owned peer or task requires explicit user consent to create or steer. Use an external worker only when crossing the selected product or control boundary materially helps. Task identity and bounded purpose are route gates: model availability never makes an unrelated task valid. Read [foreign-harness-peers.md](references/foreign-harness-peers.md) before probing a non-native, separately owned, companion, sibling, or dedicated-task surface. ## Kickoff Record the leader, repository, branch, immutable base, dirty state, submodules, and owning worktree. Check plans against live state and policy. Freeze every topology axis and minimum consumer assurance before model choice or edits. Before every dispatch or continuation, use `choosing-agent-models` to reclassify scope, including resolved model/effort pairs. ## Bounded Handoff Every prompt is a bounded task contract: goal, success criteria, worktree, immutable base, relevant facts, target behavior, scope, read/write and subdelegation authority, external-action authority, verification, output, and stop conditions. Unstated authority is absent. Workers preserve existing edits. Read [scarce-specialist handoffs](references/scarce-specialist-handoffs.md) before assigning a scarce specialist. For native ChatGPT Codex or Codex CLI/TUI children, follow [native-codex-subagents.md](references/native-codex-subagents.md). Freeze ordinary handoffs as `adapter:rolecasting-invocation-plan` under [invocation-topology-receipt.md](references/invocation-topology-receipt.md). Explicitly witnessed consumers additionally require `adapter:rolecasting-invocation-topology-receipt`. Model selection never supplies dispatch authority. Use [dispatch-evidence.md](references/dispatch-evidence.md) for witnessed execution and assurance minima. Ask workers to return one status: - `DONE`: complete and verified - `DONE_WITH_CONCERNS`: complete with concrete concerns - `NEEDS_CONTEXT`: a named fact or decision is missing - `BLOCKED`: impossible within current scope, authority, or environment On `NEEDS_CONTEXT` or `BLOCKED`, change the input, authority, boundary, or capability before retrying. ## Batch and Wait Batch small independent same-shape work into one dispatch; review its diff as one unit. Separate work needing its own judgment, own tests, or review surface. Do useful local work before waiting. Avoid short polling; use a bounded wait when idle. Then reconcile live children and recover missed terminal results. ## Leader Integration - Keep parallel edit scopes disjoint. - Record the immutable base before edit-capable delegation; never infer it as `HEAD~1`. - Review returned patches, claims, captures, logs, and summaries. - Treat every worker result as input, not an integrated decision. - Reconcile and integrate centrally in the owning worktree, then verify the final contract. - Retain final authority for architecture, root cause, user-facing wording, and consequential external actions.