Core Concepts
Agents and Roles
Each entry in a thread has:- Agent: The individual (AI or human) making the entry
- Role: The function they’re performing
Planner
Designs approach, breaks down work, identifies requirements
Implementer
Writes code, builds features, executes plans
Critic
Reviews work, identifies issues, ensures quality
Tester
Validates functionality, writes tests, finds bugs
PM
Coordinates work, manages priorities, tracks progress
Scribe
Documents decisions, maintains records, writes guides
Ball Ownership
The ball indicates whose turn it is to respond. This prevents:- Duplicate work
- Confusion about responsibility
- Infinite agent loops
say: Automatically flips ball to counterpartack: Keeps ball with current ownerhandoff: Explicitly passes ball to specified agent
Common Workflow Patterns
Pattern 1: Plan → Build → Review
watercooler init-thread api-refactor --ball codex
watercooler say api-refactor \
--agent "Planner-GPT" \
--role planner \
--type Plan \
--title "API Refactoring Strategy" \
--body "Breaking into 3 phases: (1) Extract handlers, (2) Add middleware, (3) Update tests. Dependencies: none. Risks: backward compatibility."
watercooler ack api-refactor \
--agent "Alice" \
--role pm \
--title "Approved" \
--body "Plan looks good. Bob, please implement phase 1."
watercooler handoff api-refactor \
--agent "Alice" \
--note "Bob: start with phase 1"
watercooler say api-refactor \
--agent "Bob" \
--role implementer \
--title "Phase 1 complete" \
--body "Extracted all route handlers to handlers/. Tested locally. Ready for review."
watercooler say api-refactor \
--agent "Critic-Claude" \
--role critic \
--title "Review feedback" \
--body "Good separation of concerns. Minor: add error handling in user_handler.py:45. Otherwise LGTM."
Pattern 2: Investigation → Decision → Implementation
For exploratory work where the approach isn’t clear:watercooler init-thread db-scaling --ball team
# Agent 1: Research
watercooler say db-scaling \
--agent "Researcher" \
--role planner \
--title "Read replica analysis" \
--body "Read replicas reduce load by 40% but add 100ms latency."
# Agent 2: Alternative approach
watercooler say db-scaling \
--agent "Architect" \
--role planner \
--title "Caching layer analysis" \
--body "Redis cache reduces DB hits by 80% with under 5ms latency."
watercooler say db-scaling \
--agent "Alice" \
--role pm \
--type Decision \
--title "Decision: Redis caching" \
--body "Going with Redis caching. Better latency profile and easier to implement. Bob to proceed with implementation."
Pattern 3: Test-Driven Development
watercooler say user-auth \
--role planner \
--title "Auth requirements" \
--body "Must support: JWT tokens, 2FA, rate limiting, session management."
Advanced Patterns
Parallel Workstreams
Use separate threads for parallel work:Escalation Pattern
When blocked, escalate to higher authority:Human-in-the-Loop
Mix AI agents and human oversight:Agent Registry
Maintain consistent agent identities with a registry file:Create agents.json
Use with CLI
- Consistent naming
- Automatic counterpart resolution
- Track which models are being used
- Easy to swap models without changing workflows
Ball Passing Strategies
Strategy 1: Ping-Pong (Default)
Two agents alternate:Strategy 2: Round-Robin
Multiple agents rotate:Strategy 3: Broadcast (Manual)
One agent updates, all othersack:
Status Management
Status Lifecycle
Status meanings:- OPEN: Active work in progress
- BLOCKED: Waiting on external dependency or decision
- CLOSED: Work completed successfully
- ABANDONED: Work cancelled or no longer relevant
Workflow with Status
Integration with Branch Pairing
Sync threads with Git branches for feature work:Best Practices
1. Use Descriptive Titles
2. Include Context in Bodies
3. Use Type for Important Entries
4. Close Threads
Always close completed threads:5. Use Reference Files for Long Content
Next Steps
Memory Graphs
Build searchable knowledge graphs from multi-agent threads
Branch Pairing
Sync threads with Git branches