alerting
Configure and manage cron-monitor alert delivery to Slack, email, or webhook endpoints. Use when you need to set up notifications for failed or missed cron jobs, test alert delivery, or manage existing alert configurations. Triggers include "configure alerts", "set up Slack notification", "webhook alert", "email notification", "notify on failure", or any task involving alert routing for cron jobs.
Best use case
alerting is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Configure and manage cron-monitor alert delivery to Slack, email, or webhook endpoints. Use when you need to set up notifications for failed or missed cron jobs, test alert delivery, or manage existing alert configurations. Triggers include "configure alerts", "set up Slack notification", "webhook alert", "email notification", "notify on failure", or any task involving alert routing for cron jobs.
Teams using alerting should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/alerting/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How alerting Compares
| Feature / Agent | alerting | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Configure and manage cron-monitor alert delivery to Slack, email, or webhook endpoints. Use when you need to set up notifications for failed or missed cron jobs, test alert delivery, or manage existing alert configurations. Triggers include "configure alerts", "set up Slack notification", "webhook alert", "email notification", "notify on failure", or any task involving alert routing for cron jobs.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# alerting
Configure alert delivery for cron-monitor job failures and missed runs.
## When to use
- Setting up Slack notifications for job failures
- Adding webhook delivery to an incident management system
- Configuring email alerts for on-call rotation
- Testing that alert delivery is working before relying on it
## Alert Events
| Event | When it fires |
|---|---|
| `missed` | No ping received within the job's grace period after its scheduled time |
| `failure` | A ping was received with `status: "failure"` or a non-zero exit code |
| `recovery` | A success ping received after a `missed` or `failure` state |
## Create a Slack alert via API
```bash
curl -s -X POST https://monitor.example.com/api/alerts \
-H "Authorization: Bearer cm_..." \
-H "Content-Type: application/json" \
-d '{
"channel": "slack",
"target": "https://hooks.slack.com/services/T0.../B0.../xxxx",
"onMissed": 1,
"onFailure": 1,
"onRecovery": 1,
"cooldownMinutes": 60
}'
```
To apply to a specific job only, include `"jobId": "<uuid>"`. Omitting `jobId` applies to all jobs.
## Create a webhook alert via API
```bash
curl -s -X POST https://monitor.example.com/api/alerts \
-H "Authorization: Bearer cm_..." \
-H "Content-Type: application/json" \
-d '{
"channel": "webhook",
"target": "https://api.pagerduty.com/v2/enqueue",
"onMissed": 1,
"onFailure": 1,
"onRecovery": 0,
"cooldownMinutes": 30,
"jobId": "550e8400-e29b-41d4-a716-446655440000"
}'
```
## Webhook payload format
POST to the target URL with JSON body and `X-CM-Signature` HMAC-SHA256 header:
```json
{
"event": "failure",
"job": {
"id": "550e8400-...",
"name": "API Sync",
"slug": "api-sync",
"schedule": "*/5 * * * *"
},
"execution": {
"id": "7f8a9b2c-...",
"status": "failure",
"exitCode": 1,
"durationMs": 410,
"finishedAt": "2026-03-20T15:52:14Z",
"output": "Connection timeout"
},
"timestamp": "2026-03-20T15:52:20Z",
"monitorUrl": "https://monitor.example.com"
}
```
Verify the signature:
```javascript
const crypto = require('node:crypto');
const secret = 'cm_your_webhook_secret';
const signature = req.headers['x-cm-signature'];
const expected = crypto.createHmac('sha256', secret)
.update(JSON.stringify(req.body))
.digest('hex');
const valid = crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(`sha256=${expected}`)
);
```
## Test an alert
```bash
curl -s -X POST https://monitor.example.com/api/alerts/<id>/test \
-H "Authorization: Bearer cm_..."
# Response: { "ok": true, "channel": "slack", "deliveredAt": "2026-03-20T16:00:00Z" }
```
## List and manage alerts via API
```bash
# List all alert configs
curl -s https://monitor.example.com/api/alerts \
-H "Authorization: Bearer cm_..."
# Update cooldown period
curl -s -X PATCH https://monitor.example.com/api/alerts/<id> \
-H "Authorization: Bearer cm_..." \
-H "Content-Type: application/json" \
-d '{ "cooldownMinutes": 120 }'
# Delete
curl -s -X DELETE https://monitor.example.com/api/alerts/<id> \
-H "Authorization: Bearer cm_..."
```
## Cooldown behavior
The `cooldownMinutes` setting prevents alert storms. Once an alert fires for a job event, the same alert type will not fire again for that job until the cooldown period passes. Recovery events always fire regardless of cooldown.
## Troubleshooting
### Alert not firing
1. Check the job status in the dashboard - alert only fires on status transitions
2. Verify the alert config applies to the correct job (or all jobs)
3. Check `onMissed`/`onFailure` flags are set to `1`
4. Check the cooldown: the same alert may be suppressed within the cooldown window
### Webhook getting 401/403
The receiving endpoint may require auth headers. Use a proxy or middleware that adds auth before forwarding to your upstream. cron-monitor does not support custom request headers on webhook delivery.Related Skills
Skill: Uptime Monitoring
## Overview
Skill: Status Page
## Overview
Skill: unit-conversion
## Overview
Skill: recipe-scaler
## Overview
reading-list
Operate the reading-list API to save, manage, tag, search, and export articles.
email-digest
Configure, test, and troubleshoot the reading-list daily email digest delivered via nodemailer.
websocket-realtime
Use the WebSocket connection in poll-builder to receive live vote updates. Use when you need to stream real-time poll results, monitor a poll for new votes, or build a live dashboard. Triggers include "live results", "real-time updates", "stream votes", "watch poll", or "WebSocket".
poll-builder
Self-hosted poll creation tool with real-time results. Use when you need to create a poll, check vote counts, close a poll, export results, or get the shareable link for a poll. Triggers include "create poll", "vote", "poll results", "survey", "collect votes", "share poll", or any task involving polling or voting.
Skill: personal-finance
## Overview
Skill: csv-import
## Overview
Skill: Syntax Highlighting
## Purpose
Skill: Pastebin Core
## Purpose