Skip to content

Handoff Protocol

AI instances do not share context. Every handoff is a fresh start for the receiver. The quality of the handoff determines the quality of the next step. A good handoff gives the receiver everything they need to continue without asking questions. A bad handoff wastes context window on clarification.

Summarise the state, not the journey.

Context windows are finite. The receiver does not need to know every decision you considered, every approach you tried, or every file you read. They need to know:

  1. What was done
  2. What remains
  3. What questions are open
  4. What the next step is

Everything else is noise.

Use this template for every handoff between instances. Copy it, fill it in, attach it to the work.

## Handoff: [Task Name]
**From:** [Your role]
**To:** [Recipient role]
**Date:** [ISO date, e.g., 2026-03-06]
**File:** [Filename if applicable]
### Summary
[Current state of the work. What exists now. Not how you got here.]
### Status
- [x] [Completed item]
- [x] [Completed item]
- [ ] [Remaining item]
- [ ] [Remaining item]
### Open Questions
- [Uncertainty that needs resolution]
- [Decision that needs human input]
### Next Steps
- [What the recipient should do first]
- [What the recipient should do second]
Bad summary (journey)Good summary (state)
“I started by reading the auth module, then tried three approaches to the token validation, eventually settling on JWT verification with RS256…""Auth module uses JWT with RS256. Token validation is implemented and tested. Refresh token flow is not yet built."
"After investigating the performance issue, I profiled the database queries and found that the N+1 problem was causing slowdowns…""Database queries have N+1 problem on the user endpoint. Fix: add eager loading for the roles association. Not yet implemented.”

The first column wastes tokens on narrative. The second column gives the receiver everything they need.

For file-based handoffs (specifications, research, status updates), use a structured naming convention that makes priority, sender, and recipient immediately visible.

Format: [PRIORITY]-[FROM]-[TO]-[PROJECT]-[DESCRIPTION].[ext]

PriorityMeaningExpected response time
P1Urgent — blocks other workImmediate
P2Normal — standard workflowWithin current work cycle
P3Low — informational, no urgencyNext convenient opportunity

Define short abbreviations for each team role. Keep them consistent across all handoffs.

Example roleAbbreviation
Lead / HumanLEAD
CoordinatorCOORD
DeveloperDEV
InfrastructureINFRA
SecuritySEC
ResearcherRESEARCH
P1-DEV-INFRA-api-deploy-hotfix.md
P2-RESEARCH-DEV-auth-security-spec.md
P2-DEV-COORD-status-update.md
P3-SEC-COORD-weekly-scan-report.md
P1-LEAD-DEV-payment-critical-bug.md

The naming convention means you can sort a handoff directory and immediately see:

  • What is urgent (P1 items first)
  • Who sent it and who should receive it
  • What project and topic it concerns

For periodic status reporting rather than task-specific handoffs:

## Status: [Role Name]
**Date:** [ISO date]
### Currently Working On
- [Active task with brief context]
- [Active task with brief context]
### Completed Since Last Update
- [Item with date completed]
- [Item with date completed]
### Blocked / Waiting
- [Item]: [What it's waiting on]
- [Item]: [Who needs to act]
### Needs Attention
- [Escalation with priority level]
Team sizeFrequencyTrigger
2 instancesAs neededWhen completing a handoff
3-4 instancesDailyEnd of work cycle
5+ instancesDaily + on-demandScheduled plus any P1 events

Not every issue should be handled at the same level. The escalation protocol defines how problems move up the chain.

PriorityActionExample
P3Include in next status update”Dependency X has a minor version mismatch”
P2Direct handoff to coordinator”Build fails on the compute server — needs investigation”
P1Flag to the human lead directly”Credentials exposed in public repository”
  1. When in doubt, escalate. It is better to flag something unnecessarily than to miss a real problem.
  2. Include context. Never escalate with just “something is wrong”. State what, where, and what you have already tried.
  3. Suggest next steps. Even if you cannot fix it, propose what should happen.
  4. Do not skip levels. P2 goes to the coordinator. P1 goes to the lead. Do not send P3 items directly to the lead.

When your team includes external members (different AI services, human collaborators outside the internal network), significant internal work must be summarised for them.

Rule: Any significant internal iteration — merged pull request, specification change, architectural decision — must generate a handoff summary to the coordinator within 24 hours for relay to the external team.

The external team cannot review what it cannot see. If a major decision happens internally and the external research team does not learn about it, they will continue working with stale assumptions.

Internal eventRequired external sync
Merged PR with architectural changesSummary of what changed and why
Specification updatedNew spec or diff of changes
Blocker encounteredDescription of blocker and impact
Direction changeRationale and implications for ongoing work
Milestone completedStatus update with what is now possible

For teams with a strict boundary between external and internal systems (e.g., an air-gapped internal network, or a shared folder between environments), the dead drop pattern provides file-based coordination.

External Environment
▼ (file placed in shared location)
Shared Folder [Dead Drop]
▼ (file picked up by coordinator)
Coordinator → routes to internal team
▼ (results placed back in shared location)
Shared Folder [Dead Drop]
▼ (results picked up externally)
External Environment

Flow:

DirectionAction
InboundExternal party places file in shared folder. Coordinator picks up and routes internally.
OutboundInternal team returns results to coordinator. Coordinator places in shared folder. External party retrieves.

The dead drop pattern works when direct network connectivity between external and internal is not available or not desirable. The shared folder is the only point of contact.

A complete coordination setup combines these elements:

ElementPurposeReference
Handoff templateStructured task transfersThis page
File naming conventionSortable, scannable handoff filesThis page
Status updatesPeriodic team-wide visibilityThis page
Escalation protocolProblems reach the right levelThis page
External sync ruleExternal team stays informedThis page
Role cardsEach instance knows its job and relationshipsWriting Role Cards
Communication normsConsistent give/receive behaviourTeam Orchestration
Machine specialisationRight work on right hardwareMulti-Agent Setup