pr-watch-as-reviewer — reviewer-side watch-and-approve loop
pr-watch-as-reviewer is the reviewer-side mirror of
pr-watch-as-author. You post
review comments on a PR you are reviewing, then arm the skill. It polls
until every piece of feedback you left is settled, re-reviews each
settlement on substance as it lands, and only when every settlement
passes casts gh pr review --approve on your behalf and stops. Model
invocation is disabled (disable-model-invocation: true): on a PR with
auto-merge enabled, an approval can transitively trigger an irreversible
merge, so only a deliberate human invocation arms the watch.
agents/openai.yaml restates the same guard for Codex as
policy.allow_implicit_invocation: false.
Feedback comes in two shapes, and the watch tracks both:
- a review thread — an inline comment anchored to a diff line, which GitHub gives a resolved/unresolved bit.
- a plain PR comment — a top-level issue comment on the conversation tab, which GitHub gives no resolution bit at all. A whole-PR review posted as one comment body (the common shape for an automated or summary review) lands here.
That asymmetry drives the whole design below. A thread has an explicit author action — resolving it — that says "I am done with this". A plain comment has no such affordance: there is nothing for the author to click.
Neither is trusted on its own. The only thing that settles either is the state of the branch, read as it now stands. A resolve is a claim by the person whose code you are approving; it can be clicked over a concern that was never addressed. So every item is verified against the current code, always. The two shapes differ only in which way an unclear read falls:
- a plain comment requires that the head advanced after it — no push since the comment means nothing could have addressed it — and an unclear read leaves it unsettled.
- a resolved thread is verified too, but the author's explicit assertion earns deference: overturning it takes very high confidence and strong disagreement, not a quibble.
The approval body discloses how many approved items were of each shape, so a reader can see which evidence the approval rested on.
Every verdict is published where the author will see it. A reply that meets the concern resolves the thread. A reply that does not draws a rebuttal naming the specific gap. A reply that is read, judged, and then left sitting is the failure mode this skill exists to avoid: the author cannot tell a considered acceptance from an unread one, and a thread that stays open with no answer reads as a reviewer who disappeared. Silence is not an answer.
Procedure references
Read each reference completely when reaching that stage. Follow them in order; later stages depend on state and gates established earlier.
- Hard rules
- Input
- Execution
- 1. Arm
- 2. Tracked set and gate
- 3. Bounded cycle mechanics
- 4. Poll
- 5. Stop conditions
- 6. Approve
- Compaction defense
Applied principles
Load and apply: principle-bounded-loops, principle-generator-evaluator,
principle-non-blocking-waits.