Can one agent hand work off to another when it finishes?
Yes, through hooks or an orchestrating parent. Within one session, a subagent’s final report returns to the agent that spawned it, which then decides what to run next: that is the built-in handoff. Across separate sessions, a Stop hook fires when an agent ends its turn, and the command it runs can launch or message the next agent.
Keep the handoff payload in a file rather than a message, since the receiving agent starts with a fresh context window and only sees what it can read. A short status document works better than a long prompt. See subagents and Claude Code agents; in crystl, crystl send and crystl notify do the cross-shard version.