.github/skills/github-pr-inline-reply/SKILL.md
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.
npx skillsauth add azure-samples/azure-search-openai-demo github-pr-inline-replyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill enables replying directly to inline review comments on GitHub pull requests.
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"
}
gh api repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies \
-X POST \
-f body="Your reply message"
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"
For accepted changes:
For rejected changes:
For questions:
comment_id is the numeric ID from the comment object, NOT the node_idTo 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
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.