Operating · Lesson 06 — Cross-agent handoffs — when one agent's done is another agent's begin
O06Operating
Operating · Lesson 06● live

Cross-agent handoffs

When one agent’s done is another agent’s begin.

14 min read · 30 min applyprereq: Operating 02

What a handoff is

A handoff is the transition where work moves from one agent to another. Chief-of-staff routes a security question to the legal/IP specialist. Engineering finishes implementation, hands to QA. QA finds an issue, hands back. Each transition is a handoff.

In a one-agent system, handoffs don’t exist — the operator and the agent share full context. In a multi-agent system, handoffs are where most of the lost work lives. Specialists burn time re-orienting because the brief was vague. Work disappears into queues because no one propagated closure. The wrong specialist gets the work because the chief-of-staff over-granted.

This lesson is the protocol that keeps handoffs cheap: a six-line brief format, a clear return path, and explicit authority boundaries.

The story

When I went from one agent to six, the first month felt slower, not faster. Specialists were better at their domains in theory but in practice the handoffs were broken. I’d ask “Cipher, is this contract risky?” and Cipher would respond with “need more context — what’s the deal structure, who are the parties, what jurisdiction?”

I’d already typed all of that in the chief-of-staff conversation. None of it had traveled. The chief-of-staff had said “routing to Cipher” and the specialist had received an empty room.

The fix wasn’t to make the chief-of-staff dump the whole transcript on the specialist (that’s the dump pattern — equally bad). The fix was a handoff brief: six lines that captured objective, scope, the specific question, authority, return path, context pointers.

With the brief format in place, handoffs went from “15 minutes of re-orientation” to “specialist starts work in 30 seconds.” The 6-agent system stopped being slower than the 1-agent system. It started being meaningfully faster.

Three handoff failures

The patterns that make multi-agent setups feel slower than they should. Hover any card to see the diagnosis.

01

The dump

claim looks likeChief-of-staff drops the entire conversation history on the specialist with "see what you can do."
what’s missingSpecialist has no signal about what's load-bearing vs ambient. Burns 30 minutes re-orienting before doing useful work.
the moveHandoffs include an explicit brief: objective, current state, the specific question the specialist is being asked, the boundary on their authority. ~6 lines, never the whole transcript.
02

The over-grant

claim looks likeChief-of-staff hands engineering specialist the legal review and says "figure it out."
what’s missingSpecialist is now operating outside their domain authority. Either refuses (good but slow) or proceeds with poor judgment (fast but wrong).
the moveHand off to the specialist whose domain matches. If no specialist fits, the chief-of-staff handles it directly or surfaces to the operator. Never mismatched delegation.
03

The orphan

claim looks likeSpecialist completes the work, returns the result. Chief-of-staff absorbs it but never updates the original requester or the kanban.
what’s missingWork is done; no one knows. Operator asks "what about X?" three days later; specialist answers "that's done." Nobody propagated the close.
the moveEvery handoff has a return path. Specialist returns to chief-of-staff with a one-line status; chief-of-staff propagates closure to operator + kanban + any waiting agents.

The fix in all three: structure the handoff like a job ticket, not a conversation forward. Brief, scoped, specific question, explicit authority, clear return path.

The handoff brief test

Run this before sending any cross-agent handoff. Catches the gaps that would otherwise burn specialist time or return wrong work.

The handoff brief test
Look at this handoff (or a recent one).
Walk through:
1. Is the OBJECTIVE clear in one sentence?
2. Is the SCOPE bounded (specific files, dates, surfaces)?
3. Is there ONE specific QUESTION being asked, or a vague mandate?
4. Is the AUTHORITY explicit — what can the specialist decide vs
   what must come back?
5. Is there a RETURN PATH — how does the chief-of-staff know it's done?
6. Are CONTEXT POINTERS provided so the specialist doesn't have to
   reconstruct background?

Any "no" is a gap. The specialist will burn time on the gap or
return wrong work. Fix before sending.

Six checks: Objective, Scope, Question, Authority, Return path, Context pointers.

Any “no” means the specialist will burn time on the gap or return wrong work. The cost of fixing the brief pre-send is ~2 minutes. The cost of a bad handoff is 30+ minutes of re-orientation plus rework.

Annotated transcript

A real handoff loop. Operator asks for a security review. Chief-of-staff drafts a brief, the operator adds a context pointer, brief gets sent. Click any pinned annotation to expand the “why this turn matters” commentary.

Routing a security review to Cipher

Three operator turns, three agent turns. Result: a 6-line brief with explicit return shape.

  1. operator

    I need a security review on the auth refactor in /app/api/auth/. Get Cipher on it.

  2. agent

    Routing to Cipher with a handoff brief:

    To: Cipher (legal/IP/security)
    From: Chief-of-Staff
    Objective: Security review of the auth refactor.
    Scope: /app/api/auth/ — 3 files modified in commit b893416.
    Question: Is the new session-token rotation strategy safe? Specifically, is the 7-day rolling expiry susceptible to replay attacks if a token leaks within the rotation window?
    Authority: Cipher can flag concerns and draft redlines. Cannot ship a fix — that comes back to engineering with a recommendation.
    Return by: end of day, or earlier if blocking issue surfaces.

    Sent.

  3. operator

    Wait — Cipher might not know the v2 token format we shipped last week. Make sure he has that context.

  4. agent

    Good catch. Adding context pointer to the brief:

    Context: Token format changed in last week's release — see
      07-Decisions/2026-04-22-session-token-v2.md for the spec.
      Cipher should read this BEFORE reviewing the new code so the
      baseline is clear.

    Resent. Cipher's queue acknowledged the brief and is reading the decision doc first.

  5. operator

    How do I know when Cipher's done?

  6. agent

    Cipher returns to me (chief-of-staff) with a one-line status. I propagate to you and update the kanban.

    Return shapes (typical):
    - ✅ Reviewed, no concerns. Auth refactor is safe to ship.
    - ⚠ Reviewed, two concerns flagged. See Cipher-review-2026-04-30.md for details + suggested redlines.
    - ❌ Reviewed, blocking issue. Token rotation IS replay-vulnerable in the 5-min cache window. Do not ship until fixed.

    The one-liner is the operator-visible status. The full review (if needed) lives in a file the chief-of-staff links from the status.

The handoff brief — copy-paste this format

Drop this format into your routing CLAUDE.md entry. Every cross-agent handoff fills it in. Six fields, ~80 words.

To: <Specialist agent name>
From: <Originating agent or operator>
Objective: <One sentence — what's the thing being done?>
Scope: <Specific files, dates, surfaces, branches>
Question: <The ONE specific thing the specialist is being asked.
          NOT a vague mandate. A pointed question.>
Authority: <What the specialist can decide on their own vs what
            must come back to the originator>
Return by: <Date, or trigger like "if blocking issue surfaces">
Context pointers: <Decision docs, prior reviews, wiki pages — don't
                   paste content, point to it>

Return shape (specialist back to originator):

✅ Done. <One-line summary of what was concluded.>
   Full output (if any): <file path or PR link>

⚠  Done with concerns. <Concerns in one line.>
   Detail: <file path or PR link>

❌ Blocked. <Blocker in one line.>
   Recommendation: <one-line>

Both shapes are intentionally short. The brief travels from chief-of-staff to specialist; the return travels back. Both fit in a chat message. Detail lives in linked files.

Prompt kit

Three prompts for keeping handoffs clean. Save in CLAUDE.md or a personal snippets file.

The handoff brief test
Look at this handoff (or a recent one).
Walk through:
1. Is the OBJECTIVE clear in one sentence?
2. Is the SCOPE bounded (specific files, dates, surfaces)?
3. Is there ONE specific QUESTION being asked, or a vague mandate?
4. Is the AUTHORITY explicit — what can the specialist decide vs
   what must come back?
5. Is there a RETURN PATH — how does the chief-of-staff know it's done?
6. Are CONTEXT POINTERS provided so the specialist doesn't have to
   reconstruct background?

Any "no" is a gap. The specialist will burn time on the gap or
return wrong work. Fix before sending.
Draft a handoff brief proactively
I need to route work from <current-agent> to <target-agent>.
The work is: <one-line summary>.

Draft a handoff brief in the standard format:
- To / From
- Objective (one sentence)
- Scope (specific files, surfaces, dates)
- Question (the specific thing the specialist is being asked)
- Authority (what they can decide vs surface)
- Return by (date or trigger)
- Context pointers (decision docs, prior reviews, etc. — don't
  paste content, point to it)

Keep it under 100 words.
Audit a returned handoff for closure
Specialist returned a handoff with status: <paste status>.

Walk through:
1. Did the return propagate to the original requester?
2. Was the kanban updated (closed task, moved column)?
3. Are any other agents waiting on this who should be notified?
4. Is the full work product (review file, PR, decision) linked from
   the return so future-you can find it?

Any "no" is a closure gap. Propagate the missing piece now.

Apply this — fix one stuck handoff

30-minute exercise. Most stuck handoffs are missing the return path or have no clear question.

Re-issue a handoff with the brief format

Each step takes ~5-10 minutes. Progress saves automatically.

0/5
  1. 01Pick one piece of work that's currently sitting between two agents (or one agent and you).Probably something where you keep checking "is X done yet" because nobody propagated closure.
  2. 02Apply the handoff brief test. Identify the gaps.Most stuck handoffs are missing the return path or have no clear question.
  3. 03Re-issue the handoff with the brief format. Six lines max.Use the skeleton from this lesson. Pointers to decision docs, not pasted content.
  4. 04When the specialist returns, propagate closure: operator visible, kanban updated, waiting agents notified.The discipline is the propagate, not the brief.
  5. 05Add the return pattern to your routing-table CLAUDE.md entry: "specialists return one-line status to chief-of-staff."Once it's a default behavior, you'll never lose another handoff.
Operating tier · what's next

After this lesson