PR Review Comments Handler
Announcement: Begin with: "I'm using the prc skill for PR comment resolution."
PRIMARY OBJECTIVE
Fetch, analyze, and address code review comments on the current PR. Present an action plan for user approval before implementing fixes, then commit and reply to reviewers.
Resolve one task context with ../setup/references/task-context.md before fetching comments. Reuse
the linked task or create a minimum record in the configured task root. Record the comment inventory,
approved decisions, verification, commit/PR links, and one next action there; do not
create a second task just because the PR has a different artifact path.
Related Skills
/sr— Initiate a code review (before merge). Use that skill to start a review, this skill to address the results./si— Task-based implementation with "Address CR" mode. Use/siwhen review feedback requires structured task-driven changes; use/prcfor direct, ad-hoc PR comment handling.
GATE 1: Identify PR & Fetch Comments
Step 1: Resolve PR
If $ARGUMENTS contains a PR number, use it. Otherwise:
- Run
git branch --show-currentto get the current branch - Run
gh pr view --json number,title,urlto find the open PR
Error — no PR found:
Inform user: "No open PR found for branch {branch}. Verify the branch is pushed and the PR is open." Stop execution.
Step 2: Fetch Comments
- Run
gh api repos/{owner}/{repo}/pulls/{pr_number}/reviewsto get reviews - Run
gh api repos/{owner}/{repo}/pulls/{pr_number}/commentsto get inline comments - Also check
gh pr view {pr_number} --json commentsfor general PR comments
Error — no comments found: Inform user: "No review comments found on PR #{number}. Nothing to address." Stop execution.
After resolving the PR, link its URL and snapshot to the task record. A missing task/spec does not invent requirements; it only limits claims in the action plan.
GATE 2: Analyze & Present Plan
Step 1: Categorize Comments
List every comment fetched in Gate 1 — do not drop any. Reviewer noise, nits, and resolved threads all appear in the plan so the user sees what was received.
For each comment, evaluate:
- Is the feedback valid and technically correct?
- Is it applicable to the current code?
- Does it align with project conventions and architecture?
- Is it a blocker or a nice-to-have suggestion?
For each comment, propose one of:
- Address — Valid feedback, will fix.
- Skip — Not applicable, already handled, or nit you recommend ignoring. Always include a one-line reason so the user can override.
- Discuss — Ambiguous, contested, or would change scope — escalate to user.
When in doubt between Address and Skip, pick Discuss. The user decides in Gate 2 whether to drop it.
Step 2: Present Action Plan
Display a table:
| # | File:Line | Comment Summary | Action | Complexity |
|---|-----------|-----------------|--------|------------|
| 1 | src/foo.ts:42 | Missing null check | Address | Simple |
| 2 | src/bar.ts:15 | Rename variable | Address | Simple |
| 3 | src/baz.ts:88 | Architecture concern | Discuss | Significant |
Before implementing anything, confirm the plan with AskUserQuestion. Ask the user to approve, edit, or flag items they disagree with — including items you marked Skip. Implementation starts only after approval.
GATE 3: Implement & Verify
Step 1: Apply Fixes
For each approved "Address" item:
- Read the target file
- Make the necessary code change using Edit
- Track progress with TodoWrite
For "Discuss" items the user resolved: apply the agreed-upon fix.
Step 2: Run Verification
- Run project tests (
npm testor equivalent) - Run lint checks (
{{LINT_CMD}}or equivalent) - Run type checks if applicable (
tsc --noEmit)
Error — tests or lint fail: Present failures to user. Work with user to resolve, or revert changes if needed before moving to GATE 4.
GATE 4: Commit, Push & Reply
Step 1: Commit & Push
- Stage changed files with
git add(specific files only) - Ask user permission before committing
- Create a focused commit:
fix: address PR review feedback - Ask for explicit push authorization unless the user's request already authorizes pushing, then push to update the PR
Step 2: Reply to Comments
Prepare a reply draft for each addressed comment:
- Describe what was done in 1–2 sentences
- Include the target comment and the verification result
Send replies only when the user explicitly requested reviewer communication or approves the prepared reply set. A code-fix request alone authorizes the local change, not external messages.
For skipped comments:
- Draft a respectful explanation; send it under the same explicit communication gate
Append the final comment decisions, verification result, and reply status to the resolved task record before reporting completion. If replies were not authorized or sent, record them as drafts/pending.
Error — gh API reply fails: Report the error and suggest manual reply via GitHub UI.
Output Format
Provide a final summary:
## PR Review Summary
**PR**: #XX - Title
**Reviewer(s)**: @username
### Comments Addressed:
1. [file:line] - Brief description of fix
2. [file:line] - Brief description of fix
### Comments Skipped (if any):
1. [file:line] - Reason why not applicable
### Changes Made:
- List of files modified
- New commit: {hash}