loop-healthlisted
Install: claude install-skill thepictishbeast/claude-tools
# /loop-health — lint diagnostic across all loop state
## What this checks
Single pass, no mutation. Reports findings; user decides what to fix.
### A. Active cron loops (from `CronList`)
For each:
- **A1. Untracked in history** — no `created` / `resumed` / `discovered`
event matches this cron's ID. Suggest `/loop-track <id>` or just
call `/loops` (which auto-discovers as a side effect).
- **A2. Missing canary** — prompt doesn't contain the "if you canceled
or stopped this loop, you should NOT be seeing this message"
pattern. Suggest `/loop-edit prompt-append: "Note: if you canceled
or stopped this loop, you should NOT be seeing this message."`.
- **A3. Oversized prompt** — prompt > 800 chars. Verbose prompts make
each fire context-heavy; cleaving steady-state instructions into
the prompt body wastes tokens on every fire.
- **A4. Self-firing canary triggered** — if any recent history event
shows this cron was `paused` or `stopped` AFTER its latest fire,
but the cron still exists in CronList — the cancel didn't take.
This is a real bug and warrants user attention.
### B. Paused loops (from `.paused-loops.json`)
For each:
- **B1. Stale paused** — `paused_at` is more than 5 days ago. The user
probably forgot. Suggest `/loop-resume` or `/loop-stop`.
- **B2. Missing canary** — same as A2.
- **B3. Oversized prompt** — same as A3.
- **B4. `inflight_tasks` orphaned** — entry has `inflight_tasks` but
those tasks (by recorded ID) don't exist in current `Ta