Multi-Agent Status

v1.0.1

Cross-agent health monitoring for multi-host OpenClaw deployments. Each agent pushes structured status reports (JSON) to a central location. A PM/monitoring...

0· 26·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Pending
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
The skill's name/description (cross-agent health monitoring) matches the runtime instructions: agents create small JSON status reports and a monitor reads them. No unrelated credentials or binaries are requested. Minor mismatch: the top-level 'What Gets Reported' mentions 'Active projects', but the provided shell/PowerShell scripts do not collect or include active-project data beyond the agent name.
Instruction Scope
SKILL.md instructs agents to run openclaw CLI commands (gateway status, cron list), write JSON to a shared directory or SCP to a central host, and for the monitor to read those JSON files. This stays within the monitoring purpose. Flags: it recommends chmod 777 on the shared directory (overly permissive), and it points to an external GitHub repo for scripts — the skill itself does not include or embed those scripts, so users must fetch code from an external source (review before use).
Install Mechanism
Instruction-only skill, no install spec and no code files beyond SKILL.md/_meta.json. That minimizes installation risk because nothing is automatically downloaded or written by the skill itself.
Credentials
The skill declares no required env vars or credentials. Runtime instructions mention using SSH key auth for SCP, which is reasonable for cross-host pushes and is not requested or stored by the skill. No unrelated secrets or system credentials are demanded.
Persistence & Privilege
The skill is not forced-always (always: false) and is user-invocable. It does instruct creation of a status directory and to add an OpenClaw cron entry for periodic runs, which are normal for scheduled reporting. There is no instruction to modify other skills or system-wide agent configs beyond these expected actions.
Assessment
This skill is conceptually coherent for simple cross-agent health reporting, but review these before installing: 1) Inspect the referenced scripts in the external GitHub repo yourself — the SKILL.md points to those files but does not include them. Do not blindly run downloaded scripts. 2) Avoid chmod 777 on the shared directory; use more restrictive permissions and a dedicated account or group for writes. 3) Use a dedicated SSH key with limited access for SCP uploads rather than reusing high-privilege keys. 4) Confirm the openclaw CLI outputs contain no sensitive data you wouldn't want written to the central host. 5) Note the script does not actually collect 'active projects' despite the description — if you need that field, modify the script to collect only non-sensitive data. If you want higher assurance, ask the publisher for the exact script sources or a signed release, and test in an isolated environment first.

Like a lobster shell, security has layers — review code before you run it.

dashboardvk977e2vhwtx5rbrztpterqaevn847d9bhealthvk977e2vhwtx5rbrztpterqaevn847d9blatestvk97fdcyhycz9820vjdejn8aq8x846dm3monitoringvk977e2vhwtx5rbrztpterqaevn847d9bmulti-agentvk977e2vhwtx5rbrztpterqaevn847d9bopsvk977e2vhwtx5rbrztpterqaevn847d9bstatusvk977e2vhwtx5rbrztpterqaevn847d9b

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

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

1. Create shared status directory

On your central/shared host:

mkdir -p /path/to/agent-status
chmod 777 /path/to/agent-status

Scripts are in references/

2. Configure each agent

Copy the script from references/agent-status-report.sh to your preferred location and make it executable:

#!/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:

# Add to the end of the script:
scp "$REPORT" user@central-host:/path/to/agent-status/

3. Add cron job (every 4 hours recommended)

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:

## 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

ConditionAction
Gateway failedAlert human immediately
Cron errors ≥ 2Ping owning agent for ETA on fix
Report stale (>8h)Ping agent — might be down
Report missingAgent never pushed — check if configured

Example Dashboard

# 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:

# 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.

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…