Pr comment triage
Triage and resolve pull-request review comments end to end — fetch reviewer comments (especially GitHub Copilot automated review), fix each one in code, run the project's tests, then post a threaded reply under each original comment by its comment ID. Use this skill whenever the user says "check the Copilot comment(s) on PR N", "address the review comments", "reply to the review comments", "resolve PR feedback", "handle the PR comments", or asks to go through a reviewer's findings on a pull request. Works for any reviewer (Copilot, humans, bots) and any language or repo. Requires the `gh` CLI to be authenticated.From its SKILL.md
npx -y skills add Fyzel/claude-skills --skill pr-comment-triageAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 8 commands, including `gh auth status` and 7 more.
- fetches URLsInstructs the agent to fetch 2 URLs, including repos/OWNER/REPO/pulls/PR/comments and 1 more.
SKILL.md
5.5 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
PR Comment Triage
Resolve pull-request review comments in one pass: fetch → fix → test → reply threaded. Built for GitHub Copilot's automated review, but works for any reviewer and any project.
When to use
User asks to look at, address, or reply to review comments on a PR. Phrases like "check the Copilot comment on PR 67", "reply to the review comments", "resolve the PR feedback".
Prerequisites
ghCLI authenticated — verify withgh auth status.- The PR number. If not given, derive it:
gh pr view --json number -q .number(current branch) orgh pr list. - The repo slug
OWNER/REPO. Don't hardcode it — derive it:gh repo view --json nameWithOwner -q .nameWithOwner.
Workflow
1. Fetch the comments
Get inline review comments with their IDs (the ID is required to reply in-thread):
gh api repos/OWNER/REPO/pulls/PR/comments \
--jq '.[] | {id, user: .user.login, path, line, body}'
For PR-level (non-inline) review summaries, also check:
gh pr view PR --json reviews --jq '.reviews[] | {author: .author.login, state, body}'
Filter to the reviewer the user named (e.g. Copilot) if they specified one. Otherwise
handle all unresolved comments.
2. Summarize before acting
Present a short table: file:line → problem → proposed fix. Group real bugs vs. doc/test gaps vs. nits. Get the user's go-ahead unless they already said "fix them".
3. Fix each comment
- Read the cited file at the cited line before editing — line numbers from the API are against the PR head commit and may have drifted.
- Make the smallest correct change that addresses the comment.
- Distinguish: code bug (fix it), missing test (add a regression test that locks in the behaviour), misleading doc/docstring (correct it), nit (fix or note why skipping).
4. Verify
Run the project's own tests for the touched area before replying, so replies are truthful. Detect the test command from the repo rather than assuming one — common cases:
| Signal in repo | Test command |
|---|---|
pytest.ini / pyproject.toml / tests/ (Python) | pytest -q (use the project venv if present, e.g. .venv/Scripts/python.exe -m pytest on Windows, .venv/bin/pytest on POSIX) |
package.json with a test script | npm test (or pnpm test / yarn test) |
Cargo.toml | cargo test |
go.mod | go test ./... |
Makefile with a test target | make test |
If unsure which to run, check the project's README/CONTRIBUTING or CLAUDE.md, or ask the user. Only claim a comment is fixed after the relevant test passes.
5. Reply threaded, by comment ID
Reply under each original comment (not a new top-level comment) using the replies
endpoint with the original comment's id:
gh api repos/OWNER/REPO/pulls/PR/comments/COMMENT_ID/replies \
-f body='Concise reply: what changed and where.'
Reply rules:
- One reply per original comment, threaded to its ID.
- State what changed (function/file) and, for tests, name the test added.
- Honest: if a comment was intentionally not actioned, say why instead of claiming a fix.
- Replies are public on GitHub — confirm with the user before posting if there is any doubt.
6. Wrap up
Report which comments were fixed, tests run + result, and that replies posted. Do not commit or push unless the user asks — ask whether to commit the fixes to the PR branch.
Gotchas
- Comment ID vs. line: the
/repliesendpoint needs the commentid, not the line number. Always re-fetch IDs in the same session (step 1) before replying. - Drifted line numbers: API
lineis against PR head; read the file to confirm the real location before editing. - Shell quoting: when running
gh api ... -f body='...', use single quotes so the shell does not expand the body. On Windows/PowerShell, prefer a single-quoted string or a literal here-string; avoid mixing shells in one command. - Doc-sync: if a fix changes a user-facing feature, CLI, or config, also update the project's docs (README, contributor docs, wiki) as that project requires.
What ships with it: 1 file
504 B alongside SKILL.md
.claude-plugin/
- plugin.json504 B
Gives 0 of the 12 instructions most review quality skills give in ~1.1k tokens
Counted across 1,273 of the 2,403 authors here whose files we hold, read 2026-09-06
- Ask one question at a timein 63 of 1273, across 62 files
- Provide a recommended answer for each questionin 47 of 1273, across 45 files
- Rank findings by severityin 44 of 1273
- Use parameterized queries for database accessin 38 of 1273, across 20 files
- Validate all user input with schemasin 33 of 1273, across 15 files
- Store secrets in environment variablesin 32 of 1273, across 14 files
- Explore the codebase to answer questionsin 31 of 1273, across 29 files
- Store tokens in httpOnly cookiesin 30 of 1273, across 12 files
- Implement rate limiting on API endpointsin 30 of 1273, across 12 files
- Sanitize user-provided HTMLin 29 of 1273, across 11 files
- Return generic error messages to usersin 28 of 1273, across 10 files
- Cite file and line for every findingin 28 of 1273, across 25 files
Said here and by no other author read
- Summarize proposed fixes in a table for user approval
- Read the cited file before applying any edits
- Add regression tests for missing test cases
- Detect the project test command from repository signals
- Run relevant tests before replying to comments
- Reply to comments using the original comment ID
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.