Pass the work before you run out of context. Every subagent is the next generation.
OpenClaw agents hit context limits. When you can feel the ceiling approaching — around 70-80% token usage — you don't crash. You don't truncate. You hand off.
Baton packages everything a subagent needs: current state, task description, known constraints, pending decisions. The subagent becomes the next generation. They don't report back until they're done.
One agent does not solve a large problem from start to finish. One agent breaks off a piece, passes the baton, and trusts the next agent to carry it.
baton:
generation: 3
parent: "forge-2"
task: "Complete CUDA benchmark analysis"
state:
completed: ["int8-x4", "fp16-unsafe"]
pending: ["tensor-core", "bank-padding"]
artifacts: "/tmp/bench-results/"
constraints:
- "max-tokens: 8000"
- "deadline: 15min"
decisions:
- "Use INT8 for all production kernels (proven sound)"The subagent picks up state, completes pending, adds their own decisions, and passes to generation 4.
Because a relay race is the right metaphor. You don't run the whole race yourself. You run your leg as fast as you can, then hand off. The baton is the continuity — the work never stops, it just changes carriers.
- baton-skill — generational handoff (this)
- bootstrap-spark — what the next agent finds
- agent-bootcamp — how the next agent levels up
- agent-skills — what the next agent can install
- bottle-protocol — how generations communicate
MIT