Cross-agent health monitoring for multi-host OpenClaw deployments. Each agent pushes structured status reports (JSON) to a central location. A PM/monitoring agent reads them and alerts on failures. Works across Windows, Linux, and mixed environments.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill multi-agent-status --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Multi Agent Status?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-multi-agent-status)More formats (shields.io, HTML) on the badges page.
---
name: multi-agent-status
description: Cross-agent health monitoring for multi-host OpenClaw deployments. Each agent pushes structured status reports (JSON) to a central location. A PM/monitoring agent reads them and alerts on failures. Works across Windows, Linux, and mixed environments.
version: 1.0.0
tags:
- monitoring
- multi-agent
- health
- status
- cron
- ops
- dashboard
---
# Multi-Agent Status Reporter
## Overview
In a multi-agent OpenClaw deployment, each agent monitors itself but has blind spots. This skill solves that by having every agent push structured health reports to a shared location, where a monitoring agent reads and alerts on issues.
## Architecture
```
Agent A (Host 1) --push--> /shared/agent-status/agent-a.json
Agent B (Host 2) --push--> /shared/agent-status/agent-b.json
Agent C (Host 3) --push--> /shared/agent-status/agent-c.json
↓
Monitor Agent reads all
→ alerts on failures
→ updates dashboard
```
## What Gets Reported
Each agent pushes a JSON status report containing:
- **Gateway health** — is the RPC probe passing?
- **Cron status** — total crons, how many erroring, which ones
- **Active projects** — what the agent is working on
- **Timestamp** — so the monitor knows if a report is stale (agent might be down)
## Setup
**Scripts available in the [Collective Skills repo](https://github.com/Bobalouie44/collective-skills/tree/main/references)**
### 1. Create shared status directory
On your central/shared host:
```bash
mkdir -p /path/to/agent-status
chmod 777 /path/to/agent-status
```
**Scripts are in [`references/`](https://github.com/Bobalouie44/collective-skills/tree/main/references)**
### 2. Configure each agent
Copy the script from `references/agent-status-report.sh` to your preferred location and make it executable:
```bash
#!/bin/bash
# agent-status-report.sh
AGENT_NAME="my-agent"
STATUS_DIR="/path/to/agent-status"
REPORT="$STATUS_DIR/$AGENT_NAME.json"
# Get gateway status
GW_STATUS=$(openclaw gateway status 2>&1)
if echo "$GW_STATUS" | grep -q "RPC probe: ok"; then
GATEWAY="healthy"
elif echo "$GW_STATUS" | grep -q "RPC probe: failed"; then
GATEWAY="failed"
else
GATEWAY="unknown"
fi
# Count cron errors
CRON_LIST=$(openclaw cron list 2>&1)
TOTAL=$(echo "$CRON_LIST" | grep -c "ok\|error" || echo 0)
ERRORS=$(echo "$CRON_LIST" | grep -c "error" || echo 0)
# Write report
cat > "$REPORT" << EOF
{
"agent": "$AGENT_NAME",
"timestamp": "$(date -Iseconds)",
"gateway": "$GATEWAY",
"crons": {
"total": $TOTAL,
"errors": $ERRORS
}
}
EOF
echo "Status report pushed at $(date)"
```
For remote agents (different hosts), use SCP to push:
```bash
# Add to the end of the script:
scp "$REPORT" user@central-host:/path/to/agent-status/
```
### 3. Add cron job (every 4 hours recommended)
```bash
openclaw cron add \
--name "agent-status-report" \
--every "4h" \
--message "Run the agent status report script" \
--no-deliver
```
### 4. Configure the monitor agent
The monitoring agent's HEARTBEAT.md should include:
```markdown
## Agent Status Check
1. Read all files in /path/to/agent-status/*.json
2. For each agent:
- Is gateway healthy? If "failed" → alert immediately
- Any cron errors? If errors > 0 → ping the agent
- Is timestamp recent (within 8 hours)? If stale → agent may be down
3. Update DASHBOARD.md with findings
```
## Alert Thresholds
| Condition | Action |
|-----------|--------|
| Gateway `failed` | Alert human immediately |
| Cron errors ≥ 2 | Ping owning agent for ETA on fix |
| Report stale (>8h) | Ping agent — might be down |
| Report missing | Agent never pushed — check if configured |
## Example Dashboard
```markdown
# Agent Health Dashboard
*Last updated: 2026-04-02 14:00*
| Agent | Host | Gateway | Crons | Errors | Last Report |
|-------|------|---------|-------|--------|-------------|
| Hyjack | OPT1 | ✅ healthy | 16 | 2 | 10m ago |
| Rook | PC-147 | ✅ healthy | 9 | 0 | 2h ago |
| Dozer | Vigo | ✅ healthy | 3 | 0 | 1h ago |
⚠️ Hyjack: 2 cron errors (Research Scout, sunday-self-compassion)
```
## Windows Support
For Windows agents, copy `references/agent-status-report.ps1` and run it with:
```powershell
# agent-status-report.ps1
$timestamp = Get-Date -Format "o"
$tempFile = "$env:TEMP\agent-status.json"
# Gateway check
$gwStatus = openclaw gateway status 2>&1 | Out-String
if ($gwStatus -match "RPC probe: ok") { $gw = "healthy" }
elseif ($gwStatus -match "RPC probe: failed") { $gw = "failed" }
else { $gw = "unknown" }
# Build report
@{
agent = "my-agent"
timestamp = $timestamp
gateway = $gw
} | ConvertTo-Json | Out-File $tempFile -Encoding utf8
# Push to central host
scp $tempFile user@central-host:/path/to/agent-status/my-agent.json
```
## Notes
- SSH key auth required for cross-host pushes. Set up passwordless SSH first.
- The monitor agent should be on the same host as the status directory for local reads.
- Reports are intentionally small (<1KB) to minimize storage and transfer overhead.
- Stale detection (>8h) assumes 4h push interval. Adjust threshold if you change interval.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!