wait

📁 colonyops/hive 📅 1 day ago
0
总安装量
1
周安装量
安装命令
npx skills add https://github.com/colonyops/hive --skill wait

Agent 安装分布

amp 1
cline 1
opencode 1
cursor 1
continue 1
kimi-cli 1

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