Cron doctor
npx -y skills add suryast/free-ai-agent-skills --skill cron-doctorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Diagnose and triage cron job failures. Checks job states, identifies error patterns, prioritizes by criticality, generates health reports. Triggers on: cron failures, job health check, scheduled task errors, cron diagnosis, job not running, backup failed.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.2 KB, as published. Nobody here has run it
Compatible with Claude Code, Codex CLI, Cursor, Windsurf, and any SKILL.md-compatible agent.
Cron Doctor
Diagnose and triage cron job failures.
Usage
When asked to check cron health or diagnose failures:
1. List All Jobs
# List user's crontab
crontab -l
# List system crontabs
sudo cat /etc/crontab
ls -la /etc/cron.d/
2. Check Recent Execution
# Check cron logs (location varies by system)
# Debian/Ubuntu:
grep CRON /var/log/syslog | tail -50
# RHEL/CentOS:
tail -50 /var/log/cron
# macOS:
log show --predicate 'process == "cron"' --last 1h
# Check for specific job output
grep "your_job_name" /var/log/syslog | tail -20
3. Identify Problems
Error patterns to watch:
"command not found"— Missing executable or PATH issue"Permission denied"— File/directory permissions wrong"No such file or directory"— Script path incorrect"timeout"— Job took too long"ECONNREFUSED"— Network/service down"rate limit"— API throttling- Missing output — Job may not be running at all
4. Triage Priority
| Priority | Criteria |
|---|---|
| 🔴 Critical | Trading, backup, security jobs |
| 🟠 High | User-facing deliveries |
| 🟡 Medium | Monitoring, research jobs |
| 🟢 Low | Nice-to-have, non-essential |
5. Generate Report
Write to ~/reports/cron-health-YYYY-MM-DD.md:
# Cron Health Report - [DATE]
## Summary
- ✅ Healthy: X jobs
- ⚠️ Warning: X jobs
- ❌ Failed: X jobs
## Failed Jobs
### [Job Name]
- **Error:** [message]
- **Last Success:** [date]
- **Priority:** [level]
- **Fix:** [suggested action]
## Recommendations
1. [Action item]
2. [Action item]
6. Common Fixes
| Error | Fix |
|---|---|
| Command not found | Use full path to executable, or set PATH in crontab |
| Permission denied | Check file permissions, run chmod +x script.sh |
| No output | Add >> /tmp/job.log 2>&1 to capture output |
| Wrong timezone | Set TZ= in crontab or use system timezone |
| Rate limit | Reduce frequency or add backoff |
7. Debugging Tips
# Test cron environment (cron has minimal PATH)
env -i /bin/sh -c 'echo $PATH'
# Verify script runs manually
/path/to/your/script.sh
# Check if cron daemon is running
systemctl status cron # Linux
launchctl list | grep cron # macOS
Escalation
If 3+ critical jobs failed, alert the user immediately.
Verification Gates
Before claiming diagnosis complete:
- All failed jobs listed — none skipped or ignored
- Priority assigned — based on impact, not just recency
- Fix suggested — actionable next step for each failure
- Report written — to
~/reports/cron-health-YYYY-MM-DD.md - Critical failures escalated — 3+ critical = alert user