github-pr-inline-reply

star 7.7k

Reply to inline PR review comments on GitHub pull requests using the GitHub API. Use this skill when you need to respond to individual review comments on a PR, acknowledge feedback, or mark comments as resolved by posting direct replies to comment threads.

Azure-Samples By Azure-Samples schedule Updated 1/23/2026

name: github-pr-inline-reply description: Reply to inline PR review comments on GitHub pull requests using the GitHub API. Use this skill when you need to respond to individual review comments on a PR, acknowledge feedback, or mark comments as resolved by posting direct replies to comment threads.

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

Install via CLI
npx skills add https://github.com/Azure-Samples/azure-search-openai-demo --skill github-pr-inline-reply
Repository Details
star Stars 7,690
call_split Forks 5,457
navigation Branch main
article Path SKILL.md
More from Creator
Azure-Samples
Azure-Samples Explore all skills →