github-pr-inline-reply

SKILL.md

GitHub PR Inline Reply Skill

This skill enables replying directly to inline review comments on GitHub pull requests.

When to use

  • Replying to individual PR review comments
  • Acknowledging reviewer feedback on specific lines of code
  • Marking review comments as addressed with a reply

API Endpoint

To reply to an inline PR comment, use:

POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies

With body:

{
  "body": "Your reply message"
}

Using gh CLI

gh api repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies \
  -X POST \
  -f body="Your reply message"

Workflow

  1. Get PR comments: First fetch the PR review comments to get their IDs:

    gh api repos/{owner}/{repo}/pulls/{pull_number}/comments
    
  2. Identify comment IDs: Each comment has an id field. For threaded comments, use the root comment's id.

  3. Post replies: For each comment you want to reply to:

    gh api repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies \
      -X POST \
      -f body="Fixed in commit abc123"
    

Example Replies

For accepted changes:

  • "Fixed in {commit_sha}"
  • "Accepted - fixed in {commit_sha}"

For rejected changes:

  • "Rejected - {reason}"
  • "Won't fix - {explanation}"

For questions:

  • "Good catch, addressed in {commit_sha}"

Notes

  • The comment_id is the numeric ID from the comment object, NOT the node_id
  • Replies appear as threaded responses under the original comment
  • You can reply to any comment, including bot comments (like Copilot reviews)

Resolving Conversations

To resolve (mark as resolved) PR review threads, use the GraphQL API:

  1. Get thread IDs: Query for unresolved threads:

    gh api graphql -f query='
    query {
      repository(owner: "{owner}", name: "{repo}") {
        pullRequest(number: {pull_number}) {
          reviewThreads(first: 50) {
            nodes {
              id
              isResolved
              comments(first: 1) {
                nodes { body path }
              }
            }
          }
        }
      }
    }'
    
  2. Resolve threads: Use the resolveReviewThread mutation:

    gh api graphql -f query='
    mutation {
      resolveReviewThread(input: {threadId: "PRRT_xxx"}) {
        thread { isResolved }
      }
    }'
    
  3. Resolve multiple threads at once:

    gh api graphql -f query='
    mutation {
      t1: resolveReviewThread(input: {threadId: "PRRT_xxx"}) { thread { isResolved } }
      t2: resolveReviewThread(input: {threadId: "PRRT_yyy"}) { thread { isResolved } }
    }'
    

The thread ID starts with PRRT_ and can be found in the GraphQL query response.

Note: This skill can be removed once the GitHub MCP server has added built-in support for replying to PR review comments and resolving threads. See: https://github.com/github/github-mcp-server/issues/1323 https://github.com/github/github-mcp-server/issues/1768

Weekly Installs
6
GitHub Stars
7.6K
First Seen
Feb 21, 2026
Installed on
opencode6
antigravity6
claude-code6
github-copilot6
windsurf6
codex6