← ClaudeAtlas

heartbeatlisted

Give a scheduled job a dead-man's switch, so its silence is noticed — derive the grace from the job's own cadence, create the check through the healthchecks.io API, put the ping URL where the job's other credentials live, wire the exit codes onto the right endpoints, and prove it by watching the alarm fire. Also audits which scheduled jobs have no check at all. TRIGGER when: a scheduled job (backup, self-check, sync, report) has nothing that would notice it stopping; a heartbeat or dead-man's switch is being added, moved or diagnosed; a healthchecks.io check must be created or its grace chosen; someone asks how a job's failure would be noticed, or which jobs are unmonitored. DO NOT TRIGGER when: the task is provisioning the backup itself (that is `backup`, which hands over here at its last step); alerting for a web service's uptime rather than a scheduled job; or choosing where a secret lives (that is `doppler`).
AnotherSava/claude-code-common · ★ 1 · AI & Automation · score 74
Install: claude install-skill AnotherSava/claude-code-common
# The dead-man's switch A scheduled job cannot report its own absence. Every other check runs *inside* the thing being checked, so when the thing stops, so do they — and a stopped check is indistinguishable from a passing one. This skill installs the one mechanism that inverts that: an external monitor that expects to hear from the job, and speaks when it does not. It is a skill rather than a note because its failure modes are silent by construction. A check that was never created, a grace copied from a neighbour, a URL pinged by hand before the job existed — each leaves a green dashboard over an unwatched job, which is worse than an obviously absent one. ## Context - Project root: !`git rev-parse --show-toplevel 2>/dev/null || pwd` - Scheduled jobs here: !`find . -maxdepth 4 \( -name '*.timer' -o -name '*.service' -o -name 'backup*.sh' -o -name 'offsite*' -o -name 'crontab*' \) -not -path '*/node_modules/*' -not -path '*/.git/*' | head -20` - Ping already wired: !`grep -rl -e 'hc-ping' -e 'HEARTBEAT_URL' -e 'healthchecks' . --exclude-dir=node_modules --exclude-dir=.git 2>/dev/null | head -10 || echo NONE` - Doppler coordinates: !`cat doppler.yaml 2>/dev/null || echo "(no doppler.yaml — ask /doppler for this project's shard and config)"` ## Two channels, two questions The distinction below is the whole design, and conflating the two is the mistake this skill exists to prevent. | Channel | Answers | Fires when | |---|---|---| | the verdict (mail, report, log) | did the j