watchdoglisted
Install: claude install-skill mifunedev/openharness
# Watchdog
Generic watchdog for automation that can get stuck between observable states.
It is intentionally broader than the old autopilot-specific health nudge: each
watchdog action must define (1) objective stuck/stale signals, (2) safe allowed
mutations, and (3) a terminal verification state.
## When to Use
Use `/watchdog` when an automation loop or long-running action may be wedged:
- heartbeat/cron pulses checking for stuck work
- draft PRs that should have been completed by an autonomous loop
- tmux sessions frozen at usage-limit/resume prompts
- future watchdog classes with similarly objective signals
Default target repo for Open Harness automation: `mifunedev/openharness`.
Override with `--repo owner/name` for tests or forks.
## Arguments
Parse `$ARGUMENTS`:
| Flag | Default | Meaning |
|------|---------|---------|
| `--repo <owner/name>` | `mifunedev/openharness` | GitHub repo to inspect/mutate |
| `--stale-hours <n>` | `2` | Age threshold for draft PR limbo |
| `--action <...>` | `all` | `autopilot-drafts`, `sessions`, or `all` |
| `--dry-run` | false | Report intended actions only |
```bash
WATCHDOG_REPO="${WATCHDOG_REPO:-mifunedev/openharness}"
WATCHDOG_STALE_HOURS="${WATCHDOG_STALE_HOURS:-2}"
WATCHDOG_ACTION="${WATCHDOG_ACTION:-all}"
AUDIT_ROOT="${AUDIT_ROOT:-$(git rev-parse --show-toplevel)}"
AUDIT_ROOT=$(cd "$AUDIT_ROOT" && pwd -P)
export AUDIT_ROOT
```
## Action: autopilot draft PRs
Goal: determine whether draft PRs are stuck or stale, complete the