| name | delegate |
| description | Hand a task to another AI agent peer over the repowire mesh — reuse an existing peer on the chosen backend, or spawn one if none exists. Use when you want to offload work to a specific agent (e.g. delegate a refactor to a Codex peer) and track it to completion. |
Delegate a task to a peer
Hand a self-contained task to a peer on a chosen backend and track it via the
ask/ack lifecycle.
Resolve the delegate backend
- Explicit argument — if the user named a backend, use it.
- Configured default — else:
repowire config get skills.default_delegate_backend
- Safe fallback — else ask the user which backend to delegate to. Don't
hardcode one. (Unlike review/plan, delegation MAY target your own backend —
delegating to another claude-code peer is legitimate.)
Choose / create the executor
- Prefer an existing peer on the chosen backend (idle if possible):
- MCP:
list_peers() → pick an online peer with the right backend.
- CLI:
repowire peer list.
- Spawn only if none exists AND the user is clearly delegating (don't spawn
silently). Confirm before spawning:
- MCP:
spawn_peer(path, backend=<chosen>, circle=<skills.default_circle or current>)
- CLI:
repowire peer new ...
Default circle: repowire config get skills.default_circle (else your current circle).
Hand off + track
- Send a complete, self-contained brief (the peer doesn't share your context):
- MCP:
ask(peer_name, "<full task brief + acceptance criteria>")
- Tracked delegation is MCP-only (
repowire peer ask is a synchronous test
utility, not the ask/ack lifecycle). To close from the CLI: repowire peer ack <cid>.
ask returns a correlation_id; the peer reports back via ack(corr_id, ...).
- Track to completion; chain follow-ups with
ask(reply_to=corr_id, ...).
Use notify_peer (fire-and-forget) only for nudges, not for tracked delegation —
delegation needs the ack lifecycle.