← ClaudeAtlas

michel-monitor-pull-request-github-actionslisted

Diagnose a failed, stuck, or never-triggered CI run on a GitHub PR, apply a local fix if possible, push it, and document the result in a single running PR comment. Invoke whenever Michel's CI monitor loop triggers with `any_failure`, `stuck`, or `not_triggered` — the bash loop already handles `pending` and `all_green` silently, so this skill never sees those states.
PackmindHub/packmind · ★ 294 · Code & Development · score 85
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,