Agent skill
cronlytic
Cronlytic API for cron job monitoring. Use when user mentions "cron job", "scheduled task monitoring", or "Cronlytic".
Install this agent skill to your Project
npx add-skill https://github.com/vm0-ai/vm0-skills/tree/main/cronlytic
SKILL.md
Cronlytic
Use Cronlytic via direct curl calls to schedule and manage cron jobs that trigger HTTP requests/webhooks.
Official docs:
https://www.cronlytic.com/api-documentation
When to Use
Use this skill when you need to:
- Schedule recurring HTTP requests (webhooks, API calls)
- Automate background tasks without managing servers
- Create cron jobs with standard 5-field expressions
- Pause/resume jobs dynamically
- Monitor job execution via logs
Prerequisites
- Sign up at Cronlytic
- Go to Dashboard → API Keys → Generate New API Key
- Copy your API Key and User ID
export CRONLYTIC_API_KEY="your-api-key"
export CRONLYTIC_USER_ID="your-user-id"
Base URL
https://api.cronlytic.com/prog/
How to Use
1. Health Check (Ping)
Check if API is available (no auth required):
curl -s -X GET "https://api.cronlytic.com/prog/ping"
Response: {"message": "pong"}
2. Create a Cron Job
Create a scheduled job to call a webhook.
Write to /tmp/cronlytic_request.json:
{
"name": "daily-backup",
"url": "https://api.example.com/backup",
"method": "POST",
"headers": {"Authorization": "Bearer token123"},
"body": "{\"type\": \"full\"}",
"cron_expression": "0 2 * * *"
}
Then run:
curl -s -X POST "https://api.cronlytic.com/prog/jobs" -H "X-API-Key: $(printenv CRONLYTIC_API_KEY)" -H "X-User-ID: $(printenv CRONLYTIC_USER_ID)" -H "Content-Type: application/json" -d @/tmp/cronlytic_request.json | jq '{job_id, name, status, next_run_at}'
3. Create GET Request Job
Simple health check every 5 minutes.
Write to /tmp/cronlytic_request.json:
{
"name": "health-check",
"url": "https://api.example.com/health",
"method": "GET",
"headers": {},
"body": "",
"cron_expression": "*/5 * * * *"
}
Then run:
curl -s -X POST "https://api.cronlytic.com/prog/jobs" -H "X-API-Key: $(printenv CRONLYTIC_API_KEY)" -H "X-User-ID: $(printenv CRONLYTIC_USER_ID)" -H "Content-Type: application/json" -d @/tmp/cronlytic_request.json | jq '{name, status}'
4. List All Jobs
Get all your scheduled jobs:
curl -s -X GET "https://api.cronlytic.com/prog/jobs" -H "X-API-Key: $(printenv CRONLYTIC_API_KEY)" -H "X-User-ID: $(printenv CRONLYTIC_USER_ID)" | jq '.[] | {job_id, name, status, cron_expression, next_run_at}'
5. Update a Job
Update an existing job (all fields required). Replace <your-job-id> with the actual job ID:
Write to /tmp/cronlytic_request.json:
{
"name": "daily-backup-v2",
"url": "https://api.example.com/backup/v2",
"method": "POST",
"headers": {"Authorization": "Bearer newtoken"},
"body": "{\"type\": \"incremental\"}",
"cron_expression": "0 3 * * *"
}
Then run:
curl -s -X PUT "https://api.cronlytic.com/prog/jobs/<your-job-id>" -H "X-API-Key: $(printenv CRONLYTIC_API_KEY)" -H "X-User-ID: $(printenv CRONLYTIC_USER_ID)" -H "Content-Type: application/json" -d @/tmp/cronlytic_request.json | jq '{job_id, name, status, next_run_at}'
6. Pause a Job
Stop a job from executing. Replace <your-job-id> with the actual job ID:
curl -s -X POST "https://api.cronlytic.com/prog/jobs/<your-job-id>/pause" -H "X-API-Key: $(printenv CRONLYTIC_API_KEY)" -H "X-User-ID: $(printenv CRONLYTIC_USER_ID)"
7. Resume a Job
Resume a paused job. Replace <your-job-id> with the actual job ID:
curl -s -X POST "https://api.cronlytic.com/prog/jobs/<your-job-id>/resume" -H "X-API-Key: $(printenv CRONLYTIC_API_KEY)" -H "X-User-ID: $(printenv CRONLYTIC_USER_ID)"
8. Get Job Logs
View execution history (last 50 entries). Replace <your-job-id> with the actual job ID:
curl -s -X GET "https://api.cronlytic.com/prog/jobs/<your-job-id>/logs" -H "X-API-Key: $(printenv CRONLYTIC_API_KEY)" -H "X-User-ID: $(printenv CRONLYTIC_USER_ID)" | jq '.logs[] | {timestamp, status, response_code, response_time}'
9. Delete a Job
Permanently delete a job and its logs. Replace <your-job-id> with the actual job ID:
curl -s -X DELETE "https://api.cronlytic.com/prog/jobs/<your-job-id>" -H "X-API-Key: $(printenv CRONLYTIC_API_KEY)" -H "X-User-ID: $(printenv CRONLYTIC_USER_ID)"
Cron Expression Format
Standard 5-field cron: minute hour day month day-of-week
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, Sun=0)
│ │ │ │ │
* * * * *
Common Examples
| Expression | Description |
|---|---|
*/5 * * * * |
Every 5 minutes |
0 * * * * |
Every hour at minute 0 |
0 9 * * * |
Daily at 9:00 AM |
0 9 * * 1-5 |
Weekdays at 9:00 AM |
0 0 1 * * |
First day of month at midnight |
30 14 * * 0 |
Sunday at 2:30 PM |
0 */6 * * * |
Every 6 hours |
Job Status Values
| Status | Description |
|---|---|
pending |
Scheduled, waiting for next_run_at |
paused |
Paused, won't execute |
success |
Last execution succeeded |
failed |
Last execution failed |
quota_reached |
Skipped due to plan quota |
Create Job Parameters
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Job name (1-50 chars, alphanumeric/-/_) |
url |
string | Yes | Target URL (HTTP/HTTPS) |
method |
string | Yes | HTTP method (GET, POST, PUT, DELETE) |
headers |
object | Yes | Request headers (can be {}) |
body |
string | Yes | Request body (can be "") |
cron_expression |
string | Yes | 5-field cron expression |
Job Name Rules
- Only letters, numbers, hyphens (
-), underscores (_) - Length: 1-50 characters
- Regex:
^[a-zA-Z0-9_-]+$
Valid: my-job, test_job_1, API-Health-Check
Invalid: my job (space), test@job (@), api.health (.)
Response Fields
| Field | Description |
|---|---|
job_id |
Unique job identifier |
name |
Job name |
url |
Target URL |
method |
HTTP method |
status |
Current job status |
cron_expression |
Schedule expression |
next_run_at |
Next scheduled execution (ISO timestamp) |
created_at |
Creation timestamp |
Guidelines
- Ping first: Call
/pingto warm up the API (Lambda cold start) - All fields required: When creating/updating, provide all fields
- Valid cron only: Use standard 5-field cron format
- Job names: Use alphanumeric with hyphens/underscores only
- Check logs: Use the logs endpoint to debug failed jobs
- Dashboard: Use https://www.cronlytic.com/dashboard for visual management
- Plan limits: Free tier has job limits - upgrade if needed
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
brave-search
Brave Search API for web search. Use when user says "search web", "Brave search", or asks to "find on web" without specifying Google.
supadata
Supadata API for YouTube/web data. Use when user mentions "Supadata", "YouTube data", "channel stats", or web scraping data.
roadmap-planning
Build and prioritize product roadmaps using scoring models like RICE, ICE, and value-effort matrices. Activate when creating a product roadmap, prioritizing features, sequencing initiatives, mapping dependencies, balancing team capacity, choosing between Now/Next/Later or quarterly planning, or communicating roadmap tradeoffs to executives and stakeholders.
qdrant
Qdrant API for vector search. Use when user mentions "Qdrant", "vector database", "semantic search", or embeddings storage.
calendly
Calendly scheduling API. Use when user mentions "Calendly", "calendly.com", "schedule a meeting", "booking link", "event types", or asks about interview scheduling.
stripe
Stripe API for payments. Use when user mentions "Stripe", "payment", "subscription", "billing", "invoice", or asks about payment processing.
Didn't find tool you were looking for?