Process GitHub PR review comments, extract and prioritize action items by severity (blocking/important/suggestion), summarize feedback, and delegate fixes to coding agents. Use when the user asks to process PR comments, address PR feedback, fix review issues, or respond to pull request reviews. Handles inline code comments, general review feedback, and review decisions.
/plugin marketplace add fzymgc-house/fzymgc-house-skills/plugin install fzymgc-house-pr-auto-responder-pr-auto-responder@fzymgc-house/fzymgc-house-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/gh_cli_patterns.mdscripts/fetch_pr_comments.pyscripts/parse_action_items.pyProcess GitHub pull request review comments, extract actionable items, prioritize by severity, and systematically address feedback.
CRITICAL REQUIREMENT: You MUST use the provided scripts (scripts/fetch_pr_comments.py and scripts/parse_action_items.py) for ALL comment fetching and parsing. These scripts are NON-NEGOTIABLE and ensure complete comment text is captured without truncation. Do NOT use gh CLI commands directly or implement your own parsing logic.
You MUST get the PR number from the user (or infer from current context if on a PR branch).
MANDATORY: You MUST use the provided script to fetch PR comments. Do NOT use gh pr view directly or any other method.
scripts/fetch_pr_comments.py <pr-number> [repo]
The script fetches the COMPLETE, UNTRUNCATED text of all comments including:
body fieldbody fieldIf no repo specified, uses current directory's repo. Save output to a file for processing:
scripts/fetch_pr_comments.py 123 > pr_data.json
Why this script is mandatory: The gh CLI can truncate long output. This script ensures complete comment text is captured and properly structured for parsing.
MANDATORY: You MUST use the provided parsing script. Do NOT manually parse or filter the JSON output.
scripts/parse_action_items.py pr_data.json > action_items.json
Or pipe directly:
scripts/fetch_pr_comments.py 123 | scripts/parse_action_items.py > action_items.json
The parser preserves COMPLETE comment text while classifying items into severity levels:
You MUST create a clear summary showing:
PR #<number>: <title>
Review Status: <reviewDecision>
Branch: <headRefName>
Action Items Summary:
- Blocking: X items
- Important: Y items
- Suggestions: Z items
Blocking Issues:
1. [Author] File:Line - <full comment text>
2. ...
Important Issues:
1. [Author] File:Line - <full comment text>
2. ...
Suggestions:
1. [Author] - <full comment text>
2. ...
For each item, you MUST include:
Before proceeding, ask which items to address:
You MUST use TodoWrite to create a todo item for each action item being addressed.
gh pr checkout <pr-number>
You MUST verify you're on the correct branch before making changes.
For each action item to address:
Use the Task tool with appropriate subagent for each item:
general-purpose or domain-specific agentsYou MUST present each fix to the user for approval before moving to the next item. Show:
If multiple action items are independent (different files, no shared state), launch multiple Task agents in parallel:
I'm going to address these 3 independent issues in parallel:
1. Fix type error in auth.ts
2. Add validation to api.ts
3. Update test in user.test.ts
Use a single message with multiple Task tool calls to maximize efficiency.
After each fix is approved:
git add <affected-files>
git commit -m "fix: <brief description of what was addressed>
Addresses review feedback from @<reviewer>
<optional: link to comment>"
git push origin HEAD
You MUST use conventional commit format. You SHOULD reference the reviewer and comment when relevant.
After EVERY commit that addresses a comment or review, you MUST acknowledge it with a thumbs-up reaction. This is NON-NEGOTIABLE.
# For review comments (get comment ID from action items JSON)
gh api repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions \
-X POST -f content='+1'
# For review summaries (get review ID from action items JSON)
gh api repos/{owner}/{repo}/pulls/{pr_number}/reviews/{review_id}/reactions \
-X POST -f content='+1'
CRITICAL: You MUST acknowledge EVERY processed comment/review. Skipping acknowledgment is a workflow violation.
You MUST use TodoWrite to mark items completed as you go. You SHOULD update the user periodically:
ā
Addressed 3/5 blocking items
ā³ Working on: "Add error handling in fetchUser"
After all commits are pushed, you MUST post a summary comment to the PR:
gh pr comment <pr-number> --body "$(cat <<'EOF'
## š¤ Review Comments Processed
I've addressed the following feedback:
### Blocking Issues (X addressed)
- ā
[Issue description] - [commit hash]
- ā
[Issue description] - [commit hash]
### Important Issues (Y addressed)
- ā
[Issue description] - [commit hash]
### Skipped
- āļø Z suggestions (per user request)
All changes have been committed and pushed. Ready for re-review.
---
š¤ Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
EOF
)"
The summary MUST include:
Present options to the user:
Summary of Changes:
- ā
Fixed X blocking issues
- ā
Fixed Y important issues
- āļø Skipped Z suggestions (user choice)
All changes committed, pushed, and summarized on PR #<number>
Would you like me to:
1. Request re-review from specific reviewers?
2. Continue with remaining items?
3. Close this session?
You MUST process the ENTIRE content of each comment without truncation, summarization, or excerpting:
This ensures nothing is missed and the full context is preserved for addressing feedback.
The parser uses keyword detection:
Reviews with CHANGES_REQUESTED state default to "important" severity.
For inline review comments, the parser extracts:
file: Path to the fileline: Line number (or approximate position)context: The diff hunk showing surrounding codeYou SHOULD use this information to precisely locate what needs fixing.
When delegating to agents, consider:
Following the user's preference for "manual review per fix":
You MUST NOT batch-commit without showing each change.
gh CLI usage patternsUser: "Process comments on PR 123"