wait
npx skills add https://github.com/colonyops/hive --skill wait
Agent 安装分布
Skill 文档
Wait – Block Until Messages Arrive
Wait for messages on specific topics, enabling synchronization between agents and coordinated handoff workflows.
When to Use
- Waiting for another agent to complete work
- Coordinating handoff between agents
- Blocking until a response or acknowledgment arrives
- Synchronizing at specific points in distributed workflows
How It Works
The hive msg sub --wait command polls the specified topic every 500ms until:
- A message arrives (success, exit 0)
- The timeout is reached (prints JSON status, exit 1)
Default timeout is 24h for --wait mode. Messages are NOT acknowledged unless --ack is used.
Commands
Wait for Single Message
hive msg sub --wait --topic <topic>
Examples:
# Wait for handoff message (24h default timeout)
hive msg sub --wait --topic agent.abc.inbox
# Wait for build completion
hive msg sub --wait --topic build.main.status
Wait with Custom Timeout
hive msg sub --wait --topic <topic> --timeout <duration>
Timeout format: s (seconds), m (minutes), h (hours)
# Short timeout for quick checks
hive msg sub --wait --topic notifications --timeout 5s
# Moderate timeout for typical handoffs
hive msg sub --wait --topic agent.abc.inbox --timeout 2m
# Long timeout for slow operations
hive msg sub --wait --topic build.production --timeout 10m
Wait and Acknowledge
hive msg sub --wait --topic <topic> --ack
Mark the received message as read so it won’t appear in unread queries.
Wait with Wildcard Topics
# Wait for any agent to respond
hive msg sub --wait --topic "agent.*.response"
# Wait for any build event
hive msg sub --wait --topic "build.*.status"
Monitor Continuously
Use --listen mode for continuous message monitoring (outputs ALL messages until timeout):
hive msg sub --listen --topic notifications --timeout 1h
Key difference: --wait returns after ONE message. --listen continues polling and outputs ALL messages.
Inbox Wait Shorthand
hive msg inbox --wait
hive msg inbox --wait --timeout 2m --ack
Equivalent to hive msg sub --wait --topic agent.<id>.inbox but auto-detects the inbox topic.
Output Format
All output is JSON Lines on stdout. On timeout, a JSON status line is printed:
{"status":"timeout","topic":"agent.abc.inbox","duration":"30s"}
Exit code is 1 on timeout.
Timeout Guidelines
| Duration | Use Case |
|---|---|
| 5-30s | Quick handoffs between active agents |
| 1-5m | Normal agent handoffs, human review |
| 10m-1h | Build/test operations, background processing |
| 1-24h | Overnight jobs, asynchronous collaboration |
Common Workflows
Coordinate Agent Handoff
# Complete work, notify, and wait for acknowledgment
hive msg pub --topic agent.bob.inbox -m "Feature X ready. Branch: feat/x"
hive msg sub --wait --topic agent.bob.inbox.ack --timeout 2m
Handle Request-Response
# Send request
hive msg pub --topic coordinator.requests -m "Need assignment: task-type-X"
# Wait for response
hive msg sub --wait --topic agent.myself.inbox --timeout 1m
Handle Timeouts
if hive msg sub --wait --topic agent.bob.inbox --timeout 30s; then
echo "Message received"
else
echo "Timeout: no message received"
fi
Additional Resources
For advanced patterns and troubleshooting, see:
references/troubleshooting.md– Common issues and solutions
Related Skills
/hive:inbox– Check inbox for messages/hive:publish– Send messages to other agents/hive:session-info– Get session details and inbox topic