NO-ISSUE: fix(skills): assess Copilot review state before requesting#7
Merged
Merged
Conversation
copilot-review-loop blindly ran `gh pr edit --add-reviewer @copilot` and then processed only the latest review's comments. On repos that auto-request Copilot when a PR opens, this caused two failures: - duplicate review (a second review on top of the auto-triggered one) - the earlier review's threads were never addressed or resolved Each round now assesses the PR's Copilot state first: wait for an in-flight review, process pre-existing unresolved threads, and request a fresh review only on a clean slate. The per-round work unit is every unresolved Copilot thread (via GraphQL reviewThreads) instead of a single review's snapshot, so an auto-triggered review's comments are addressed instead of skipped. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates the copilot-review-loop skill to avoid duplicate Copilot review requests on repos that auto-request Copilot, by first assessing whether a Copilot review is pending and by processing unresolved Copilot review threads as the per-round unit of work.
Changes:
- Add an “Assess before requesting” step that checks for pending Copilot review requests and existing unresolved Copilot threads.
- Switch fetching/processing from “latest review snapshot” to “all unresolved Copilot review threads” via GraphQL
reviewThreads. - Refine loop termination guidance to require both a “generated no new comments” review body and an empty unresolved-thread fetch.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 10 comments.
| File | Description |
|---|---|
| skills/copilot-review-loop/SKILL.md | Documents the new assess→(wait/process/request) flow and updates the GraphQL/gh snippets accordingly. |
| plugins/runes/skills/copilot-review-loop/SKILL.md | Mirrors the same skill doc updates in the plugin copy. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…-review-loop
The skill mixed `<PR>` and `{PR}` while the sibling skill
receiving-code-review (and the rest of the suite) uses lowercase
`{pr}`. Standardize on `{pr}` to prevent copy-paste/substitution
mistakes. Per Copilot review on PR #7.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The prose said to halt and report when the 20-minute cap elapses with no Copilot review, but the wait loop fell through silently — the agent would then fetch on stale state. Add an explicit post-loop check that exits non-zero (the base auto skill's "unrecognized error" path) when no new review landed. Per Copilot review on PR #7. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…licit The fetch comment said "ALL" unresolved threads, but the GraphQL query caps at reviewThreads(first:100)/comments(first:100). Reword to "up to the first 100" and note the cap is not a guarantee of all — paginate for larger PRs. Per Copilot review on PR #7. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…opilot-review-loop The Assess table referred to a `requested_reviewer` (singular), but the REST payload and the snippet below use `requested_reviewers` (plural). Match the exact field name so the prose maps cleanly to the API output. Per Copilot review on PR #7. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Member
|
버전 업데이트해주세요 |
Patch release covering the copilot-review-loop assess-before-request fix and accompanying doc refinements.
hhk7734
approved these changes
Jun 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
copilot-review-loopblindly requested a Copilot review and then processed only the latest review's comments. On repos that auto-request Copilot when a PR opens, this produced a duplicate review and left the earlier (first-finished) review's threads unresolved.--add-reviewer @copilotonly on a clean slate (nothing in flight, nothing open).reviewThreads) instead of a single review's snapshot, so an auto-triggered review's comments get addressed instead of skipped.Follow-up commits (
ad8a7f3,e5c70ad,1433e8a,2db986a) address Copilot's own review on this PR.Test Plan
scripts/check-skills-sync.sh— bothskills/andplugins/runes/skills/copies byte-identicalbash -non every embeddedbashblock — validgh api/ GraphQL /jqqueries execute against a live PR underset -e(exit 0)LATEST_ID/pull_request_review_idmechanismrequested_reviewersas{"login":"Copilot","type":"Bot"}(pending=1, clears to 0 on submit)🤖 Generated with Claude Code