Install
openclaw skills install monitorCreate monitors for anything. User defines what to check, skill handles scheduling and alerts.
openclaw skills install monitor~/monitor/
├── monitors.json # Monitor definitions
├── config.json # Alert preferences
└── logs/ # Check results
└── {name}/YYYY-MM.jsonl
Create on first use: mkdir -p ~/monitor/logs
This skill:
Execution model:
This skill does NOT:
Required:
curl — for HTTP checksOptional (for alerts):
PUSHOVER_TOKEN / PUSHOVER_USER — for push notificationsUsed if available:
openssl — for SSL certificate checkspgrep — for process checksdf — for disk space checksnc — for port checks| Topic | File |
|---|---|
| Monitor type examples | templates.md |
| Alert configuration | alerts.md |
| Analysis patterns | insights.md |
When user requests a monitor:
Example flow:
User: "Monitor my API at api.example.com every 5 minutes"
Agent: "I'll check HTTP status. Alert you on failures?"
User: "Yes, and check SSL cert too"
→ Monitor stored with user-defined checks
In ~/monitor/monitors.json:
{
"api_prod": {
"description": "User's API health",
"checks": [
{"type": "http", "target": "https://api.example.com/health"},
{"type": "ssl", "target": "api.example.com"}
],
"interval": "5m",
"alert_on": "change",
"requires": [],
"created": "2024-03-15"
}
}
User can request any of these (or others):
| Type | What it checks | Tool used |
|---|---|---|
| http | URL status + latency | curl |
| ssl | Certificate expiry | openssl |
| process | Process running | pgrep |
| disk | Free space | df |
| port | Port open | nc |
| custom | User-defined command | user specifies |
✅ Monitor: [description]
🔍 Checks: [what will be checked]
⏱️ Interval: [how often]
🔔 Alert: [when to notify]
🔧 Requires: [tools/access needed]
The requires field lists what user granted:
["ssh:server1"] = user granted SSH access["docker"] = user granted Docker accessAgent asks before assuming any access.