Subagent battles
When a claude session’s hooks (or, as a fallback, its terminal output —
● Task( lines) show a Task tool call, the garden treats it as a
subagent spawn: a random ANIMATED Pokemon (excluding lines already in use by
a session or another battler, preferring bundled base-stage species) poofs
in far from the parent, a “!” pops over both its head and the parent’s, and
then both walk toward each other and square off — the parent bottom-left,
the challenger top-right on a mirrored front sheet so the two face each
other. Pokemon only ever show their front; back sheets are never used. While
the subagent is active, the parent’s own tool calls become alternating
attacks (lunge, hit-flash, floating “«Species» used «Tool»!” text); rapid
tool events coalesce into the current attack’s combo counter instead of
queuing replays. Up to 3 concurrent subagents fan out around the parent
(more show as a “+N” badge); SubagentStop (or the parent going idle, in
regex-fallback mode) ends one with a poof, and the last one ending plays a
victory hop before the garden returns to normal. An evolution ceremony
triggered mid-battle waits for the current attack to finish, then runs to
completion before the battle resumes — the ceremony’s own exclusivity is
never touched by the battle code.