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
Get PR comments: First fetch the PR review comments to get their IDs:
gh api repos/{owner}/{repo}/pulls/{pull_number}/commentsIdentify comment IDs: Each comment has an
idfield. For threaded comments, use the root comment'sid.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_idis the numeric ID from the comment object, NOT thenode_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:
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 } } } } } } }'Resolve threads: Use the
resolveReviewThreadmutation:gh api graphql -f query=' mutation { resolveReviewThread(input: {threadId: "PRRT_xxx"}) { thread { isResolved } } }'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