/watch-pr
Watch a PR until CI is green and its reviews are answered.
$ npx -y skills add sherifabdlnaby/skills --skill watch-pr --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/watch-pr
Context preview
The summary Claude sees to decide when to auto-load this skill.
Watch a PR until CI is green and its reviews are answered.
SKILL.md
watch-pr.SKILL.mdname: watch-pr
description: Watch a PR until CI is green and its reviews are answered.
license: MIT
argument-hint: "[PR number or URL] [duration|forever] [humans] (defaults to current branch's PR, 30m)"
disable-model-invocation: true
metadata:
author: sherifabdlnaby
version: "0.2.0"
watch-pr
Load the **git** skill, then read its watch and review-responses references before acting. `<git-skill-dir>` below is the base directory the harness printed when the git skill loaded.
Goal: get the PR to green with every review answered, without blocking your turn. Fix CI failures, address bot reviews, answer human comments per review-responses, and escalate only what needs my input while you keep making progress on everything else. Block waiting on me only once CI is green and every bot review is addressed.
The sibling skills narrow this: `watch-pr-ci` (CI only) and `watch-pr-comments` (reviews only).
Target PR
`$ARGUMENTS` may name the PR (number or URL). If empty, resolve the PR for the current branch:
gh pr view --json number,url,headRefName,state,isDraft
Start
1. **Draft PR:** run `flick` once, alongside the watch, not before it. Chase beyond that (hold it open, flick again) only if I told you this repo has a review bot; me naming the bot counts. 2. **Existing review threads:** unresolved threads already on the PR are not news to the watch. Fetch them per review-responses [Batching](../../git/references/review-responses.md#batching) and address them first.
The watch
python3 <git-skill-dir>/scripts/pr-watch.py watch --pr <N> --repo <OWNER/REPO> --watcher <id> --until quiet --max-total <s>
Run it through the cheap sub-agent the watch reference describes. React per the verdict: `EVENT` means act and relaunch, `STALE` means one ⚠️ line for me and relaunch, `QUIET` means relaunch, `DONE` means digest and stop.
Time Budget
`$ARGUMENTS` may include a duration (`30m`, `1h`, `2h`, …) or `forever` / `indefinitely`.
- **Duration** -> `--max-total <seconds>`. Default **30m** when neither a duration nor `forever` is given.
- **`forever`** -> no `--max-total`, and for this skill `--until closed`, so settling does not end it;
the siblings keep their own `--until`.
Human comments
Human reviews and comments are answered per review-responses: fix what is clearly right, push back on what is not, and bring the real trade-offs to me instead of deciding them. With `humans` in `$ARGUMENTS`, decide those too and post the reply as Agent Decided.
Read more
name: watch-pr description: Watch a PR until CI is green and its reviews are answered. license: MIT argument-hint: "[PR number or URL] [duration|forever] [humans] (defaults to current branch's PR, 30m)" disable-model-invocation: true metadata: author: sherifabdlnaby version: "0.2.0"
watch-pr
Load the **git** skill, then read its watch and review-responses references before acting. `<git-skill-dir>` below is the base directory the harness printed when the git skill loaded.
Goal: get the PR to green with every review answered, without blocking your turn. Fix CI failures, address bot reviews, answer human comments per review-responses, and escalate only what needs my input while you keep making progress on everything else. Block waiting on me only once CI is green and every bot review is addressed.
The sibling skills narrow this: `watch-pr-ci` (CI only) and `watch-pr-comments` (reviews only).
Target PR
`$ARGUMENTS` may name the PR (number or URL). If empty, resolve the PR for the current branch:
gh pr view --json number,url,headRefName,state,isDraft
Start
1. **Draft PR:** run `flick` once, alongside the watch, not before it. Chase beyond that (hold it open, flick again) only if I told you this repo has a review bot; me naming the bot counts. 2. **Existing review threads:** unresolved threads already on the PR are not news to the watch. Fetch them per review-responses [Batching](../../git/references/review-responses.md#batching) and address them first.
The watch
python3 <git-skill-dir>/scripts/pr-watch.py watch --pr <N> --repo <OWNER/REPO> --watcher <id> --until quiet --max-total <s>
Run it through the cheap sub-agent the watch reference describes. React per the verdict: `EVENT` means act and relaunch, `STALE` means one ⚠️ line for me and relaunch, `QUIET` means relaunch, `DONE` means digest and stop.
Time Budget
`$ARGUMENTS` may include a duration (`30m`, `1h`, `2h`, …) or `forever` / `indefinitely`.
- **Duration** -> `--max-total <seconds>`. Default **30m** when neither a duration nor `forever` is given.
- **`forever`** -> no `--max-total`, and for this skill `--until closed`, so settling does not end it;
the siblings keep their own `--until`.
Human comments
Human reviews and comments are answered per review-responses: fix what is clearly right, push back on what is not, and bring the real trade-offs to me instead of deciding them. With `humans` in `$ARGUMENTS`, decide those too and post the reply as Agent Decided.
🍣 Hand-rolled AI Skills distilled from my everyday experience. Git & Mise (...and others).
Repo: sherifabdlnaby/skills
Other skills on sherifabdlnaby-skills.
cicd-fy
Use when setting up, shaping, or auditing a project's CI/CD: a build/test/scan pipeline, a release pipeline, or publishing an artifact (container image,…
coding
The user's coding and docs conventions and taste. Load FIRST, at the start of any task that touches code or docs.
git
Load when planning or about to git commit, branch, push, rebase, resolve a merge conflict, open PR, stack PRs (even when gh-stack drives the stack), or…

