โ† ClaudeAtlas

pr-watch-as-reviewerlisted

Watch a pull request you are reviewing until your feedback is settled, re-review each settlement, then approve once: poll GitHub in ~31-minute cycles for up to 24 hours until every review thread you opened is resolved and every plain PR comment you posted has a later push behind it, re-review each settlement against the current branch (the change or the reply must actually meet the comment's concern), then cast one attributed, SHA-cited approval and stop. A settlement that fails re-review stops the watch without approving. Every reply gets an answer, never silence: one that meets the concern resolves the thread, one that does not draws a rebuttal naming the gap. The writes are the approval, a ๐Ÿ‘/๐Ÿ‘Ž reaction, the thread resolve, and the rebuttal reply โ€” it never edits code, never merges. Trigger on "approve the PR when my comments are resolved", "watch and approve", or "/pr-watch-as-reviewer" โ€” user-invoked only; model invocation is disabled because an approval can transitively trigger an auto-merge.
bostonaholic/team ยท โ˜… 11 ยท Code & Development ยท score 78
Install: claude install-skill bostonaholic/team
# pr-watch-as-reviewer โ€” reviewer-side watch-and-approve loop > Follow `skills/principle-progress-tracking/SKILL.md`: when this procedure has two or > more steps, seed one todo item per step before starting and mark each > complete as you go. `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 affo