suspect80

Bot Status API

IT Ops & Securityv1.0.1
By suspect80Updated 2026-05-172 versions · latest released 2026-02-05bot-status-api@clawhub_suspect80/bot-status-api
Monitoring & AlertsServer OpsConfig Generation#Cron#Health

According to AlphaMoat, as of 2026-09, Bot Status API has 3,388 downloads and 0 stars — ranked #3,309 of 5,078 AI skills overall, and #212 of 264 in IT Ops & Security.

Installs
106
Downloads
3.4K
Stars
-
Overall Rank
#3,309
Top 66% overall · Top 81% in IT Ops & Security
PlatformInstallsDownloadsStarsComments
ClawHub ↗1063.4K--
SkillHub ↗1063.4K-—

Platforms count differently and update at different times.

What this skill does

The primary describes a configurable HTTP service for bot status, service health checks, scheduled jobs, skills inventory, and system metrics, intended for dashboards or status pages. The accompanying card warns the output may expose services, ports, job timing, email metadata, and host details; the service can also run shell checks and disable TLS verification. Add authentication, bind it to localhost or a protected network, and remove or narrow TLS bypasses and command checks before deployment.

Profile published 2026-10-29

What you can do with it

  • Plan the data scope and monitoring endpoints for a status API
  • Review service, command, and file-check configuration
  • Assess authentication, network binding, and TLS settings

When to use it

  • When a controlled monitoring endpoint is needed for OpenClaw status
  • When status fields and access scope can be reviewed first
  • When authentication, TLS, and command-execution risks can be addressed before deployment

Example prompts

Generated from the skill’s documentation as examples; not results of actual runs.

List sensitive information the status endpoint could expose without starting the service
Restrict the monitoring endpoint to a protected network and add authentication
Review command checks and TLS verification before recommending deployment

Monthly Trend

Downloads3.4K
1.9K2.7K3.5K2026-03 · Downloads 2.0K2026-05 · Downloads 2.6K2026-06 · Downloads 2.8K2026-07 · Downloads 3.1K2026-08 · Downloads 3.2K2026-09 · Downloads 3.4K26-0326-09
Stars-
0112026-03 · Stars -2026-05 · Stars -2026-06 · Stars -2026-07 · Stars -2026-08 · Stars -2026-09 · Stars -26-0326-09

The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.

MonthDownloadsMoMStars
2026-093.4K—-
2026-083.2K+4.9%-
2026-073.1K+10.2%-
2026-062.8K+6.4%-
2026-052.6K—-
2026-032.0K—-

SKILL.md (original)

The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.

3.4 KB · ClawHub v1.0.1
---
name: bot-status-api
description: "Deploy a lightweight status API that exposes your OpenClaw bot's runtime health, service connectivity, cron jobs, skills, system metrics, and more. Use when setting up a monitoring dashboard, health endpoint, or status page for an OpenClaw agent. Supports any services via config (HTTP checks, CLI commands, file checks). Zero dependencies — Node.js only."
---

# Bot Status API

A configurable HTTP service that exposes your OpenClaw bot's operational status as JSON. Designed for dashboard integration, monitoring, and transparency.

## What It Provides
Show all (119 lines)

- **Bot Core:** Online status, model, context usage, uptime, heartbeat timing
- **Services:** Health checks for any HTTP endpoint, CLI tool, or file path
- **Email:** Unread counts from any email provider (himalaya, gog, etc.)
- **Cron Jobs:** Reads directly from OpenClaw's `cron/jobs.json`
- **Docker:** Container health via Portainer API
- **Dev Servers:** Auto-detects running dev servers by process grep
- **Skills:** Lists installed and available OpenClaw skills
- **System:** CPU, RAM, Disk metrics from `/proc`

## Setup

### 1. Copy the service files

Copy `server.js`, `collectors/`, and `package.json` to your desired location.

### 2. Create config.json

Copy `config.example.json` to `config.json` and customize:

```json
{
  "port": 3200,
  "name": "MyBot",
  "workspace": "/path/to/.openclaw/workspace",
  "openclawHome": "/path/to/.openclaw",
  "cache": { "ttlMs": 10000 },
  "model": "claude-sonnet-4-20250514",
  "skillDirs": ["/path/to/openclaw/skills"],
  "services": [
    { "name": "myservice", "type": "http", "url": "http://...", "healthPath": "/health" }
  ]
}
```

### Service Check Types

| Type | Description | Config |
|------|-------------|--------|
| `http` | Fetch URL, check HTTP 200 | `url`, `healthPath`, `method`, `headers`, `body` |
| `command` | Run shell command, check exit 0 | `command`, `timeout` |
| `file-exists` | Check path exists | `path` |

### 3. Run

```bash
node server.js
```

### 4. Persist (systemd user service)

```ini
# ~/.config/systemd/user/bot-status.service
[Unit]
Description=Bot Status API
After=network.target

[Service]
Type=simple
WorkingDirectory=/path/to/bot-status
ExecStart=/usr/bin/node server.js
Restart=always
RestartSec=5
Environment=PORT=3200
Environment=HOME=/home/youruser
Environment=PATH=/usr/local/bin:/usr/bin:/bin

[Install]
WantedBy=default.target
```

```bash
systemctl --user daemon-reload
systemctl --user enable --now bot-status
loginctl enable-linger $USER  # survive logout
```

### 5. Context/Vitals from OpenClaw

The bot should periodically write vitals to `heartbeat-state.json` in its workspace:

```json
{
  "vitals": {
    "contextPercent": 62,
    "contextUsed": 124000,
    "contextMax": 200000,
    "model": "claude-opus-4-5",
    "updatedAt": 1770304500000
  }
}
```

Add this to your HEARTBEAT.md so the bot updates it each heartbeat cycle.

## Endpoints

| Endpoint | Description |
|----------|-------------|
| `GET /status` | Full status JSON (cached) |
| `GET /health` | Simple `{"status":"ok"}` |

## Architecture

- **Zero dependencies** — Node.js built-ins only (`http`, `fs`, `child_process`)
- **Non-blocking** — All shell commands use async `exec`, never `execSync`
- **Background refresh** — Cache refreshes on interval, requests always served from cache instantly (~10ms)
- **Config-driven** — Everything in `config.json`, no hardcoded values

Popular in IT Ops & Security

Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.