watch-errorslisted
Install: claude install-skill zapgun-ai/clawback
# clawback watch-errors (quiet operator watch)
Run `.skills/watch-errors/scripts/watch_errors.sh` from the project root. It watches a proxy you
already started with the [monitor](../monitor/SKILL.md) skill
(`run_monitor.sh --detach`) and emits **one line per genuinely actionable
error** on stdout — and nothing during the constant benign churn.
```bash
.skills/watch-errors/scripts/watch_errors.sh # defaults below
.skills/watch-errors/scripts/watch_errors.sh data/clawback.run.log data/clawback.run.pid
.skills/watch-errors/scripts/watch_errors.sh selftest # run the filter corpus; exit!=0 on regression
```
Defaults match `run_monitor.sh`:
- `LOG_FILE` = `data/clawback.run.log`
- `PID_FILE` = `data/clawback.run.pid`
- poll cadence: `WATCH_ERRORS_POLL_SEC` (default 5s)
## What wakes you (legitimate errors)
- **tier A (hard) — always**: any `[error]` / `[fatal]` line, unhandled/uncaught
exceptions, `Error:` stack traces, bind/connection failures (`EADDRINUSE`,
`ECONNREFUSED`, `ECONNRESET`, `ETIMEDOUT`, `ENOTFOUND`), `self-loop`, and the
synthetic `PROXY DOWN`. A hard error wakes you **even if it also mentions a
benign token** (e.g. `[error] keep-alive scheduler crashed: uncaught …`).
- **tier B (soft) — unless benign**: status-code / `failed` lines — i.e.
server-side **5xx that are not 529** (500/502/503/504…) and any
**non-keep-alive** request that 4xx/5xx'd for a reason outside the benign set
below.
- *