| name | openclaw-observer |
| version | 1.0.0 |
| description | Generate an interactive HTML observability dashboard for your OpenClaw deployment. Shows agent health, channel status, session activity, token usage, cron jobs, and error trends — all in one visual view. Use this skill whenever the user says "how are my agents doing", "show me agent status", "openclaw dashboard", "observability", "monitoring dashboard", "are my channels healthy", "show session activity", "token usage report", "agent health check", "what's the state of my openclaw", or any request for a visual overview of their OpenClaw deployment. Also triggers on "generate a status report for my agents", "which agents are active", "session count", or "how much am I spending on tokens". Even casual requests like "how's openclaw looking" or "give me the rundown on my agents" should trigger this skill.
|
OpenClaw Observer: Production Observability Dashboard
Generate an interactive HTML dashboard that gives a complete picture of an OpenClaw deployment's health in one glance. The dashboard pulls data from three openclaw CLI commands and renders it as a visual, clickable report.
Prerequisites
This skill requires Desktop Commander (or equivalent terminal access) to run openclaw CLI commands on the user's machine. The dashboard script requires Python 3.8+ with only standard library modules — no pip installs needed.
How It Works
Step 1: Collect Data
Run these three commands via Desktop Commander and save the JSON output:
openclaw health --json > /tmp/oc-health.json
openclaw status --json --deep > /tmp/oc-status.json
openclaw sessions --json --all-agents > /tmp/oc-sessions.json
If any command fails (e.g., gateway not running), note the failure — the dashboard handles partial data gracefully.
Step 2: Generate the Dashboard
Run the bundled Python script:
python3 ${CLAUDE_SKILL_DIR}/scripts/generate_dashboard.py \
--health /tmp/oc-health.json \
--status /tmp/oc-status.json \
--sessions /tmp/oc-sessions.json \
--output /tmp/openclaw-dashboard.html
The script produces a self-contained HTML file (no external dependencies) with an interactive dashboard.
Step 3: Present to the User
Open the dashboard for the user. In Cowork, save it to the workspace folder and provide a computer:// link. In Claude Code, use open /tmp/openclaw-dashboard.html.
Then give a brief verbal summary highlighting:
- Any channels that are configured but not running (potential issues)
- Agents with high token usage (cost concerns)
- Sessions that were aborted or errored
- Whether heartbeats are enabled and firing
What the Dashboard Shows
Header Bar
- OpenClaw version, gateway uptime, and timestamp
- Overall health status (green/yellow/red)
Channel Health Panel
- Status badges for each configured channel (Telegram, Discord, iMessage, etc.)
- Running/stopped state, last error, and last probe time
- Color-coded: green = running, yellow = configured but stopped, red = error
Agent Overview Panel
- Card for each agent showing: heartbeat status, session count, total tokens used
- Sorted by activity (most active first)
- Heartbeat indicators: green = enabled + firing, gray = disabled
Session Activity Panel
- Table of recent sessions sorted by last activity
- Shows: agent, channel, session age, model, token counts, thinking level
- Highlights aborted sessions in red
- Filterable by agent
Token Usage Summary
- Bar chart showing token consumption by agent
- Total tokens across all sessions
- Model distribution (which models are being used and how much)
System Info
- Runtime version, default model, context window size
- Session store paths and counts per agent
Interpreting Results
After presenting the dashboard, proactively flag these patterns:
Red flags (action needed):
- Channels configured but not running — suggests gateway needs restart
- Sessions with
abortedLastRun: true — the agent hit an error mid-response
- High token usage on a single session — possible context bloat, may need compaction
- Channel
lastError is non-null — investigate the error
Yellow flags (worth monitoring):
- Agents with heartbeat disabled — they won't self-check
- Sessions older than 24 hours with no activity — may be stale
- Token count approaching context window limit — risk of degraded responses
Green signals (all good):
- All channels running with recent probes
- Heartbeats firing on schedule
- Token usage distributed evenly across agents
Scheduling Recurring Checks
If the user wants regular observability, suggest setting up a scheduled task:
/schedule openclaw-observer every 6 hours
Or guide them to add a cron in OpenClaw itself that generates the dashboard:
openclaw cron add --name "health-dashboard" --every "6h" --command "python3 <path>/generate_dashboard.py ..."