Skip to content
Agentmart
Submit a tool

resolve-copilot-review

Triage GitHub Copilot's automated PR review comments, fix the confirmed issues, and resolve the review threads.

Skill by craigspaterson

IndexedMIT★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/craigspaterson-resolve-copilot-review

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Triage GitHub Copilot's automated PR review comments, fix the confirmed issues, and resolve the review threads. Use when the user mentions Copilot review findings/comments, asks to address or clear PR feedback, or wants Copilot's review threads resolved.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/resolve-copilot-review

What's inside

Skill name
resolve-copilot-review
Description
Triage GitHub Copilot's automated PR review comments, fix the confirmed issues, and resolve the review threads. Use when the user mentions Copilot review findings/comments, asks to address or clear PR feedback, or wants Copilot's review threads resolved.
License
MIT
Instructions
64 lines in SKILL.md · view on GitHub

Files (2)

  • README.md
  • SKILL.md

SKILL.md (first lines)

# Resolve Copilot Review

## Step 1 — Identify the PR

Get `owner`/`repo` from the base repository (where the PR and its threads live —
`gh pr view` only exposes the *head* repo, which differs on fork PRs):

    gh repo view --json owner,name -q '.owner.login + "/" + .name'

Then get the PR `number` — the one the user named, or the open PR for the current branch:

    gh pr view --json number,url,headRefName

Completion: you have `owner`, `repo`, and PR `number`.

## Step 2 — Fetch Copilot's review threads

REST's `pulls/{n}/comments` endpoint carries neither thread-resolution state nor a resolvable thread id — both only exist via GraphQL's `reviewThreads`. Fetch threads there:

    gh api graphql -f query='
      query($owner:String!,$repo:String!,$pr:Int!){
        repository(owner:$owner,name:$repo){
          pullRequest(number:$pr){
            reviewThreads(first:100){
              nodes{
                id isResolved path line
                comments(first:10){nodes{id databaseId author{login} body path line}}
              }
            }
          }
        }
      }' -f owner=OWNER -f repo=REPO -F pr=NUMBER

Filter to threads where `isResolved` is false and the first comment's `author.login` contains "copilot" (case-insensitive — the exact login string has varied). Completion: for every open Copilot thread you have the GraphQL thread `id`, the file `path`/`line`, the finding text, and the first comment's `databaseId`.

`id` (GraphQL node id, used to resolve the thread) and `databaseId` (REST numeric id, used to reply) are different id spaces for the same comment — don't cross them.

If there are zero open Copilot threads, say so and stop here.

## Step 3 — Triage every finding before touching code

For each open thread, read the referenced file at that line and judge it: **valid** (a real defect) or **not applicable** (already handled, out of scope, or the bot is wrong). Report the full list with a one-line verdict and reason per finding — this is the "tell me if they're valid" step, and it happens before any edit.

Completion: every open thread has a stated verdict, reported to the user.

## Step 4 — Fix, reply, resolve

For each thread, in verdict order:

1. **Valid** — make the fix. Reply on the thread naming what changed:
   `gh api repos/OWNER/REPO/pulls/NUMBER/comments/DATABASE_ID/replies -f body="..."`
2. **Not applicable** — reply explaining why, same endpoint, no code change.
3. Resolve the thread either way:
   `gh api graphql -f query='mutation($id:ID!){resolveReviewThread(input:{threadId:$id}){thread{isResolved}}}' -f id=THREAD_ID`

Completion: every thread from Step 3 has a reply and is resolved; every valid fix is staged.

## Step 5 — Commit and push

Commit the fixes (skip if none were needed) and push to the PR's branch, so the diff Copilot reviewed actually reflects the fixes.

Completion: working tree clean, branch pushed, PR updated.

From craigspaterson/agent-skills, MIT.

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Sep 10, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from craigspaterson

Cite this page

resolve-copilot-review skill. Agent Mart. https://agentmart.dev/skills/craigspaterson-resolve-copilot-review (last updated 2026-10-24)