| 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}/comments
-
Identify comment IDs: Each comment has an id field. For threaded comments, use the root comment's id.
-
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:
-
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 resolveReviewThread mutation:
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