with one click
copilot-review-outdated-filter
// Filter outdated Copilot review suggestions after merge conflicts or rebases to focus on still-applicable feedback
// Filter outdated Copilot review suggestions after merge conflicts or rebases to focus on still-applicable feedback
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | copilot-review-outdated-filter |
| description | Filter outdated Copilot review suggestions after merge conflicts or rebases to focus on still-applicable feedback |
| domain | github-workflow |
| confidence | high |
| source | earned |
| tools | [{"name":"github-github-mcp-server-pull_request_read","description":"Fetch PR review threads with is_outdated flag","when":"After conflict resolution or rebase to determine which suggestions still apply"}] |
After resolving merge conflicts or rebasing a PR branch, many Copilot review suggestions become outdated because they reference line numbers and file states that no longer exist. Copilot marks these as is_outdated: true in the review thread metadata.
Problem: Addressing outdated suggestions wastes time and may introduce incorrect changes based on stale context.
Solution: Filter review threads by is_outdated flag and focus only on still-applicable suggestions.
After conflict resolution or rebase:
# Using GitHub CLI
gh pr view {PR_NUMBER} --json reviews
# Or via MCP tool
github-github-mcp-server-pull_request_read(
method: "get_review_comments",
owner: "{owner}",
repo: "{repo}",
pullNumber: {number}
)
Review threads have three key fields:
is_outdated: Boolean ā true if file/line changed since reviewis_resolved: Boolean ā true if author resolved the threadis_collapsed: Boolean ā UI hint (not actionable)Filter logic:
// Keep only non-outdated, unresolved threads
const actionable = review_threads.filter(t =>
!t.is_outdated && !t.is_resolved
);
// Count what you're skipping
const outdated = review_threads.filter(t => t.is_outdated).length;
console.log(`Skipped ${outdated} outdated suggestions`);
For each actionable thread:
"docs: resolve Copilot review suggestions on PR #{number}"In PR comment or commit message:
## Copilot Suggestions Resolved
**Fixed:** {N} still-applicable suggestions
**Skipped:** {M} outdated suggestions after {conflict-resolution|rebase}
### Fixed Items
1. {file}: {what was changed}
2. ...
### Skipped (outdated)
- {M} review threads marked stale after {commit SHA}
Scenario: Gandalf resolved merge conflicts on PR #17 with commit 89bcf1c. Many Copilot suggestions became outdated.
Action:
// Fetch reviews
const threads = pullRequest.getReviewComments();
// Filter
const current = threads.filter(t => !t.is_outdated);
const stale = threads.filter(t => t.is_outdated);
console.log(`${current.length} still apply, ${stale.length} outdated`);
// Output: "2 still apply, 24 outdated"
// Fix only current ones
current.forEach(thread => {
// Apply suggestion to current file state
applyFix(thread.path, thread.body);
});
Outcome: Fixed 2 suggestions (YAML front matter, legacy warning banner), skipped 24 outdated ones.
When to skip outdated suggestions:
is_outdated: true automaticallyWhen to still address outdated suggestions:
Fresh re-review cycle:
ā Manually applying outdated suggestions ā Suggestion references line 42, but file now has 100 lines after rebase
ā Ignoring all Copilot suggestions post-conflict ā Some suggestions are still valid (e.g., metadata issues, repo-fit warnings)
ā Resolving threads without fixing ā Let GitHub track outdated status; don't manually resolve stale ones
ā
Only non-outdated suggestions addressed
ā
Commit message documents fix count + skip count
ā
PR comment explains what was fixed vs skipped
ā
CI passing before requesting human re-review
ā
Fresh Copilot review cycle triggered on new commit
.squad/playbooks/pr-merge-process.md (Critical Rule #8: read Copilot review before verdict).squad/skills/pre-push-test-gate/SKILL.md (verify fixes locally before push).squad/templates/skill.md (metadata requirements)is_outdated field ā https://docs.github.com/en/rest/pulls/reviews.squad/agents/aragorn/charter.md ā Critical Rule #8 (read Copilot review before posting verdict)