Imported from poly-gents/syncolab-skills (
skills/agent-status-pings/SKILL.md). Install upstream withnpx skills add poly-gents/syncolab-skills --skill agent-status-pings. Copyright stays with the author.
Agent status pings
Long-running agent work (research, refactors, multi-step planning) MUST surface a heartbeat. Silence is the worst possible signal in a multi-agent system because the coordinator cannot tell silence from a stalled process.
When to use
- Any task you estimate will take more than 60 seconds of agent time.
- Any task spawned by a coordinator under
parallel-agent-coordination,swarm-coordination, orcrew-manager-pattern. - Any plan executed under
crew-planner-executoronce you cross the first executor step.
The ping format
Use a short, structured message (Slack thread, planning task comment, or assistant message) with three fields:
status: <starting|working|blocked|waiting-for-human|done|failed>
progress: <one short sentence — what you finished, what you're doing next>
next_eta: <ISO timestamp or "<N> minutes">
Examples:
status: working
progress: parsed 3 of 7 repos; next is monorepo X
next_eta: 4 minutes
status: blocked
progress: terraform plan errors on missing IAM role poly-deploy
next_eta: human input needed; paused pending Slack reply
Cadence
- First ping within 30 seconds of starting (
status: starting). - Recurring
status: workingping every 3–5 minutes, OR after every meaningful sub-step. - Final ping is
status: done(with a brief result summary) orstatus: failed(with the failure reason and what you tried). - A
blockedping must include WHAT would unblock you — not just that you are stuck.
Where to send pings
- For agents wired into planning: append a comment on the parent task via
planning_list_tasks→ comment write. - For Slack-enabled initiatives: post in the agent's thread channel.
- Always also append to your assistant reply so the human user sees it inline.
Anti-patterns
- Going silent for >5 minutes mid-task.
- Pinging only on success.
- A
blockedping that does not say what unblocks it.