modules/programs/agents/shared/skills/monitor-pr/SKILL.md
Watch an open PR's CI and bot comments; on relevant failure or new bot feedback, invoke `fix-pr`. Exit when the PR is clean or stuck. Use when user says "monitor PR", "watch CI", or wants hands-off CI shepherding without a merge step.
npx skillsauth add MichaelVessia/nixos-config monitor-prInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Arguments: $ARGUMENTS (optional PR number or URL; else current branch PR).
Execute fully, stop only if blocked or stuck past the attempt budget.
$ARGUMENTS has a PR URL/number, use it. Else gh pr view on current
branch.Poll checks + bot/reviewer comments together. Max 120 iterations, 60s apart (~2h). On each iteration:
gh pr view <PR> --json statusCheckRollup --jq '
.statusCheckRollup[] | [.name, .status, .conclusion] | @tsv
'
gh pr view <PR> --json comments,reviews --jq '
[.comments[], .reviews[]]
| map(select(
.author.is_bot == true
or (.author.login | test("bot|copilot|dependabot|renovate|coderabbit"; "i"))
))
| length
'
gh pr diff --name-only to decide
relevance: touched files, lint, typecheck, build, tests tied to changed
code.) Break, go to step 3.sleep 60, continue.Invoke fix-pr with the PR number. It handles failing checks, comments,
commits, pushes, replies.
After fix-pr returns, re-enter step 2. Max 3 total fix-pr invocations.
After the third attempt, proceed to step 4 regardless of outcome.
Output:
## Monitor-PR: blocked
- **PR**: <URL>
- **Reason**: <changes-requested | CI-stuck | fix-pr-budget-exhausted | other>
- **Failing checks**: <list or none>
- **Open bot comments**: <count>
- **Human reviews**: <state>
- **Next step**: <what the user needs to do>
Exit non-clean. Do not merge.
Output:
## Monitor-PR: clean
- **PR**: <URL>
- **Checks**: all passed
- **Bot comments**: addressed
- **fix-pr invocations**: 0 | 1 | 2 | 3
- **Ready to merge**: yes
Caller may now invoke merge-pr. This skill does NOT merge.
tools
User guide for the local squash-safe `stack` CLI for stacked PR/MR repair on GitHub and GitLab. Use when someone asks how to inspect, track, sync, merge, document, or undo stacked pull requests / merge requests in squash-merge repositories. Prefer this tool over GitHub's `gh stack` command for this workflow.
tools
Control herdr from inside it. Manage workspaces and tabs, split panes, spawn agents, read output, and wait for state changes — all via CLI commands that talk to the running herdr instance over a local unix socket. Use when running inside herdr (HERDR_ENV=1).
development
Inspect my self-hosted AutoCaliWeb library. Use when the user asks about AutoCaliWeb, books in Calibre, OPDS status, recent imports, shelves, catalog stats, or wants to search the ebook library.
data-ai
Subscribe a YouTube channel in TubeArchivist, queue its top videos by views from recent uploads, wait for the first file, scan Jellyfin, and rename + lock the channel folder to a friendly display name. Use when the user says "add a youtube channel", "subscribe to <channel>", or wants a curated TubeArchivist + Jellyfin import for a creator.