resolve-pr-comments

Evaluate, fix, and reply to GitHub pull request review comments. Use when the user asks to "resolve PR comments", "fix review comments", "address PR feedback", "handle review comments", or "address review feedback".

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "resolve-pr-comments" with this command: npx skills add tobihagemann/turbo/tobihagemann-turbo-resolve-pr-comments

Resolve PR Review Comments

Fetch unresolved review comments from a GitHub PR, critically evaluate each one, fix or skip based on confidence, and reply to each thread.

Step 1: Fetch Unresolved Threads

Fetch all review threads from the PR:

gh api graphql -f query='
query($owner: String!, $repo: String!, $pr: Int!) {
  repository(owner: $owner, name: $repo) {
    pullRequest(number: $pr) {
      title url
      reviewThreads(first: 100) {
        nodes {
          id isResolved isOutdated
          comments(first: 50) {
            nodes { author { login } body path position line }
          }
        }
      }
    }
  }
}' -f owner='{owner}' -f repo='{repo}' -F pr={pr_number}

Auto-detect owner, repo, and PR number from current branch if not provided. Filter to unresolved threads only.

Step 2: Evaluate and Fix

Run the /evaluate-findings skill on the unresolved threads to assess each comment. Proceed with the evaluation results — apply high/medium confidence fixes and skip low confidence suggestions.

Step 3: Self-Improve

Run the /self-improve skill.

Step 4: Stage, Commit, and Push

If any fixes were applied, use AskUserQuestion to ask if the user wants to stage, commit, and push the changes now.

  • Yes — run the /stage-commit-push skill
  • No — leave changes unstaged, proceed to replies

Step 5: Reply to Each Thread

Run /github-voice to load writing style rules before composing replies. Keep replies to one or two sentences. Avoid bullet-point reasoning or bolded labels.

Reply to every processed thread using:

gh api graphql -f query='
mutation($threadId: ID!, $body: String!) {
  addPullRequestReviewThreadReply(input: {pullRequestReviewThreadId: $threadId, body: $body}) {
    comment { id }
  }
}' -f threadId="THREAD_ID" -f body="REPLY_BODY"

Reply format for fixes:

Fixed in <commit-sha>.

Only add a brief description after the SHA if the fix meaningfully diverges from what the reviewer suggested. Otherwise, the commit SHA alone is enough.

Reply format for skips: Just state the reasoning for not changing it.

Step 6: Summary

After processing all threads, present a summary table:

  • Total unresolved threads found
  • Number fixed (high + medium confidence)
  • Number skipped (low confidence)
  • List of files modified

Rules

  • Never resolve or dismiss a review thread — only reply. Let the reviewer resolve.
  • Process comments in file order to minimize context switching.
  • Stale references and default-to-skip policy are handled by the /evaluate-findings skill.
  • When a thread has multiple comments (discussion), read the full thread before deciding.
  • The first comment in each thread is the original review comment; subsequent comments are replies.
  • CodeRabbit may auto-resolve its own review comments after a push. Skip any threads that were resolved between fetching and replying.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

find-dead-code

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

codex

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-style

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

simplify-code

No summary provided by upstream source.

Repository SourceNeeds Review