michel-monitor-pull-request-github-actionslisted
Install: claude install-skill PackmindHub/packmind
# Monitor a pull request's GitHub Actions CI
Called during one iteration of the CI monitor loop. The harness prompt already contains everything needed to start:
- `{{CHECKS_JSON}}` — snapshot of all check statuses at loop entry
- `{{REASON}}` — `any_failure`, `stuck`, or `not_triggered`
- `{{PR_NUMBER}}`, `{{BRANCH}}`, `{{WORKDIR}}`, `{{ITER}}`, `{{MAX_ITER}}`
## Decision flow
```
Read CHECKS_JSON in prompt
→ if REASON == "stuck": document timeout in running comment → done
→ if REASON == "not_triggered": investigate why CI never started, document → done
→ if REASON == "any_failure":
1. Identify failing run(s) via gh run list
2. Fetch failed logs with gh run view --log-failed
3. Match pattern → apply fix locally
4. Commit + push
5. Create or update running comment
(if unfixable: document reason → done, no push)
```
## 1. Classify — `any_failure` vs `stuck`
The bash outer loop has already classified the state; you are invoked only in these two cases:
| `{{REASON}}` | Meaning | Action |
| --------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| `any_failure` | At least one completed check has `conclusion` ∈ `{failure, timed_out, cancelled,