Work rarely stops at a neat boundary. A session ends while one question is still open. A different agent inherits a branch it did not create. A person returns after several days and remembers the goal but not the decision that changed the route.
The usual response is to transfer more context: the full chat, a long log, every file touched, and a list of everything that might happen later. That creates an archive, not a handoff. The receiver still has to reconstruct the plot.
A strong packet makes that reconstruction unnecessary. It compresses the work into five layers: state, decisions, evidence, stop conditions, and one safe next action.
§1A handoff is a restart surface
The test is not whether the packet describes the past accurately. The test is whether a new reader can resume the future safely.
Within one minute, the receiver should be able to say: “I know the outcome, I know what is true now, I know which choices are already settled, and I know the first useful move.”
This is why chronology is usually the wrong organising principle. “First we tried A, then B failed, then we discussed C” forces the receiver to do editorial work. Lead with the current state. Preserve only the history that explains a decision or boundary.
§2The five-layer handoff packet
Each layer answers a different restart question. Keep them in this order so the packet moves from orientation to action.
From current truth to the next safe move
- 01Current stateWhat exists now? What is complete, in progress, or still open?
- 02DecisionsWhich choices are settled, and what short reason keeps them settled?
- 03EvidenceWhat observation supports the state, and where can it be checked?
- 04Stop conditionsWhat must not change, and what new evidence should trigger a pause?
- 05Next actionWhat is the smallest useful move that advances the outcome safely?
§3Layer one: state without autobiography
State is a snapshot, not a diary. Start with the desired outcome, then separate finished work from active work and unresolved work.
- Outcome: the result the work is trying to create.
- Done: changes or decisions that are complete and should not be repeated.
- In progress: the exact unfinished edge, including any partial artifact.
- Open: questions that remain genuinely unresolved.
Avoid vague status words such as “mostly done” or “nearly fixed.” Say what can be observed. “The new page exists; navigation does not yet point to it” is a state another reader can act on.
§4Layer two: decisions with just enough why
Unexplained decisions look like arbitrary preferences. Over-explained decisions bury the rule. Use a compact decision record:
one decision
DECISION
Use the existing article layout for the new guide.
WHY
It preserves navigation, reading width, and visual continuity.
REVISIT ONLY IF
The new content requires an interaction the layout cannot express.
The revisit condition prevents two opposite failures: blindly preserving a rule after its reason disappears, or reopening a settled choice every time the work changes hands.
§5Layer three: evidence another reader can inspect
“Checked” is not evidence. Name the observation and its scope. A receiver should know whether a claim came from the public result, a build artifact, a browser interaction, a document, or an assumption.
| Weak handoff | Useful handoff |
|---|---|
| Looks correct | The target heading, image, and five diagram layers render at desktop and mobile widths. |
| Links checked | The new page links to three existing guides; the build reports no unresolved internal references. |
| Performance is good | The measured page stays inside the stated loading and layout-shift budget. |
| Source is current | The editable source reproduces the same fingerprint as the active public artifact. |
The point is not to turn the packet into a test report. Include only evidence that changes confidence in the state or the next action. The fuller method lives in the verification loop.
§6Layer four: stops that prevent confident mistakes
A handoff should transfer restraint as well as momentum. Stop conditions tell the receiver when not to continue.
- a protected fact, route, file, or visual rule that is outside scope;
- a mismatch between the packet and the current public result;
- a missing permission or choice that would materially change the outcome;
- a privacy boundary that forbids copying raw working context into a public artifact;
- a failure threshold that requires returning to diagnosis.
Good stops are specific enough to recognise. “Be careful” is not a stop condition. “Pause if the active artifact no longer matches the recorded revision” is. The companion protocol is finding the live truth before editing.
§7Layer five: one safest useful next action
The final layer should not contain ten equal priorities. Choose one move that is:
- useful: it advances the real outcome, not merely housekeeping;
- safe: it respects the recorded decisions and stops;
- bounded: it can be completed and assessed without reopening the whole project;
- observable: the receiver can tell whether it worked.
If several actions seem equally important, the packet is not finished. Rank them or name the decision that must be made first.
§8What to leave out
Compression is part of the work. Remove anything that does not improve the receiver's next decision:
- full chat transcripts and raw command logs;
- secrets, credentials, private URLs, or personal details;
- every discarded idea and every temporary failure;
- a flat backlog with no priority;
- claims such as “done” or “verified” without scope;
- instructions already captured by a stable project rule—link to the rule instead.
The packet should remain public-safe even when the underlying work is private. The practical boundary is explained in context without oversharing.
§9A copy-ready AI agent handoff template
Use this at a session boundary, before switching agents, or whenever the work will pause long enough for working memory to decay.
handoff packet
OUTCOME
[The result this work is trying to create.]
CURRENT STATE
Done: [completed work that should not be repeated]
In progress: [the exact unfinished edge]
Open: [genuinely unresolved questions]
DECISIONS
- [decision] — because [short reason]
- Revisit only if [specific new condition]
EVIDENCE
- [observable result] — checked at [artifact or surface]
- [important limitation] — scope was [what was and was not checked]
STOP CONDITIONS
- Do not change [protected boundary]
- Pause if [evidence that disproves the recorded state]
NEXT ACTION
[One smallest, safest useful move]
SUCCESS LOOKS LIKE
[The observable result that closes the next action]
Download the plain-text handoff template →
§10The receiver's restart check
Before acting, the receiver should answer three questions:
- Can I restate the outcome and current state without reading the history?
- Can I distinguish evidence from assumption and settled decisions from open questions?
- Can I perform the next action without crossing a stop condition?
If any answer is no, repair the packet before expanding the work. A short clarification at the boundary is cheaper than a confident detour after it.
When the work is complete enough to become public content, carry the useful part—not the raw context—through the publishing workflow.
Steal this
- Write for the restart, not for the archive.
- Lead with current state instead of chronology.
- Preserve decisions with one short reason and a revisit condition.
- Transfer inspectable evidence, not confidence words.
- Name the boundaries that should stop the receiver.
- End with one safe, useful, observable next action.