ilk-watchdoglisted
Install: claude install-skill inluck-net/ilk-skills
# ilk-watchdog — auto-resume layer for ilk-loop
A passive babysitter for a ilk-loop run. Detached desktop window, polls
the launcher's PID file every few minutes, and when ilk stops:
1. Asks `loop_status.py` whether all sub-plans are shipped.
2. If not, asks `ilk-feedback`'s `collect.py` to classify the run.
**The watchdog passes the sentinel's `run_id` via `--run-id`** so
collect.py classifies the correct run (not the lexicographically newest
one, which may be stale). If the run has no JSONL records, collect.py
emits `no-evidence` instead of silently falling back.
3. If classification is whitelist → relaunches via `ilk-launcher`'s
`launch.ps1` with the postmortem's recommended params.
4. If classification is blacklist → prints a loud BLOCKED banner and exits
so the human is forced to triage.
5. If classification is terminal (`shipped-unverified`, `no-evidence`) →
prints a yellow banner and exits cleanly without relaunching.
Watchdog never modifies plans, never kills ilk, never edits SKILL.md.
It only watches PID files, reads postmortems, and shells out to the
launcher.
## Architecture
`<skill-root>` below means the installed skills base directory —
`~/.cursor/skills/` (Cursor), `~/.claude/skills/` (Claude Code), or
`~/.codex/skills/` (Codex) — depending on the host agent.
```
<skill-root>/ilk-watchdog/
SKILL.md ← this file
scripts/
watchdog.ps1 ← per-project polling loop; -Detach flag spawns its own desktop windo