diagnose-runlisted
Install: claude install-skill matt-whitaker/claude-team-example
The tracking comment looks identical in success and death, and `gh run list --limit 1` happily
hands you the wrong run. Resolve the run from the task (`gh run list` matched on the task ref),
then read **jobs → failing step → that step's log**.
⚠️ **Read runs over REST**: `gh api repos/{o}/{r}/actions/runs/{id}` and `.../runs?per_page=N` bill
the `core` pool, while `gh run view --json` bills **GraphQL** — the pool a driving session drains
first, and the one that stops a drive when it empties (#93).
## The fingerprints
Match before theorizing — each of these was measured, and each points at a different fix:
- **Dies in ~3s, no result payload, before the model** — a setup failure. The two commonest:
the actor guard (*"Workflow initiated by non-human actor"* — a bot actor the stub's
`allowed_bots` does not admit; on a rename, a stale slug) and a missing base branch (404 in
`setupBranch` — the story's named ref does not exist yet).
- **Run reports success, task did nothing** — the dead-run shape. `num_turns` small, seconds of
model time: check `trigger_phrase` extraction (a handle swallowed as a slash command) and the
backgrounding stall (a tidy checklist, boxes unticked).
- **Model step failed at env validation in seconds** — the OAuth token is missing or lapsed.
Everything scripted still ran; only the model half is dark.
- **Every step green, next task never started** — read the dispatch step's notice: dark cascade
(declared off — the driver labels by hand) is