Skip to main content

Synopsis

Pass the ball to your counterpart agent and append a handoff entry to the thread. This is a clean way to transfer ownership with context.

Usage

watercooler handoff <topic> [options]

Arguments

topic
string
required
Thread topic identifier

Optional Parameters

--threads-dir
string
Threads directory path. Defaults to ./watercooler or $WATERCOOLER_DIR.
--agent
string
Agent performing the handoff. Defaults to “Team” if not specified.
--role
string
default:"pm"
Agent role. Defaults to pm. Valid values: planner, critic, implementer, tester, pm, scribe
--note
string
Optional custom handoff message explaining the transfer
--agents-file
string
Path to agent registry JSON file

Examples

Basic handoff

watercooler handoff feature-auth
Output:
/home/user/project/watercooler/feature-auth.md
Creates a handoff entry and flips the ball to the counterpart.

Handoff with custom message

watercooler handoff feature-auth \
  --note "Design approved. Ready for implementation."

Handoff from specific role

watercooler handoff api-redesign \
  --role "planner" \
  --note "Architecture design complete. Ready for coding."

Handoff with agent specification

watercooler handoff feature-auth \
  --agent "Claude" \
  --role "implementer" \
  --note "Implementation complete. Ready for review."

Review handoff

watercooler handoff feature-auth \
  --role "critic" \
  --note "Code review complete. No issues found. Ready to merge."

Expected Output

The command prints the path to the updated thread file:
/home/user/project/watercooler/feature-auth.md
The thread is updated with:
  • A new handoff entry with timestamp
  • Ball ownership transferred to counterpart
  • Optional note included in entry body

Ball Mechanics

The handoff command:
  • Automatically flips the ball to the counterpart
  • If ball was with codex, moves to human
  • If ball was with human, moves to codex
  • Creates a clear record of the transfer

Default Role

The default role for handoff is pm (project manager), as handoffs typically represent:
  • Work completion checkpoints
  • Phase transitions
  • Coordination between agents
You can override this with --role if the handoff is from a different perspective.

Use Cases

Planning to Implementation

watercooler handoff new-feature \
  --role "planner" \
  --note "Design complete. All edge cases documented."

Implementation to Review

watercooler handoff new-feature \
  --role "implementer" \
  --note "PR #123 ready. All tests passing."

Review to Deployment

watercooler handoff new-feature \
  --role "critic" \
  --note "Review approved. Ready to merge and deploy."
  • say - Add entry with automatic ball flip
  • ack - Add entry without ball flip
  • set-ball - Update ball ownership without adding entry

Build docs developers (and LLMs) love