heartbeatlisted
Install: claude install-skill gtapps/claude-code-hermit
# Heartbeat
Background health checker that periodically evaluates a checklist and surfaces anything that needs operator attention.
## Usage
```
/claude-code-hermit:heartbeat run — execute one tick immediately
/claude-code-hermit:heartbeat start — start the recurring tick
/claude-code-hermit:heartbeat stop — stop the recurring tick
/claude-code-hermit:heartbeat status — show last result and schedule state
/claude-code-hermit:heartbeat edit — modify the checklist
```
## Subcommands
### run
This subcommand is the handler for `HEARTBEAT_EVALUATE` notifications emitted by the heartbeat Monitor. It's also runnable manually for ad-hoc ticks. The Monitor uses `precheck --peek` for polling; this handler re-runs precheck without `--peek` so the mutating tick (`total_ticks` increment, alert-state write) happens exactly once per noteworthy tick.
1. Run the precheck:
```
node ${CLAUDE_PLUGIN_ROOT}/scripts/heartbeat-precheck.js .claude-code-hermit
```
2. Read the verdict (first line of output):
- Starts with `SKIP|` → emit `HEARTBEAT_SKIP (<reason>)`. No channel notification. No SHELL.md write. Stop.
- `OK` → emit `HEARTBEAT_OK`. Stop.
- `AUTO_CLOSE` → operator inactivity exceeded the threshold (12h of no operator action, or 10-min lull after a `daily-auto-close` queued at midnight). Run the auto-close sequence, then stop:
1. Append to SHELL.md `## Monitoring`: `[HH:MM] Heartbeat: auto-closed.` (Step 2 replaces SHELL.md with a fresh template,