Fetches unresolved PR comments, categorizes them (must-fix, suggestion, question, nit), proposes fixes or replies for each, and executes approved actions. Use when addressing PR review feedback or when someone requests changes on your PR.
Scanned 9/19/2026
Install to Claude Code
npx -y skills add mostafa-drz/claude-skills --skill address-pr-comments --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Address Pr Comments?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/mostafa-drz-address-pr-comments)More formats (shields.io, HTML) on the badges page.
---
name: address-pr-comments
description: >-
Fetches unresolved PR comments, categorizes them (must-fix, suggestion, question, nit),
proposes fixes or replies for each, and executes approved actions. Use when addressing
PR review feedback or when someone requests changes on your PR.
argument-hint: <PR number or URL>
disable-model-invocation: true
allowed-tools:
- AskUserQuestion
- Bash
- Read
- Write
- Edit
- Glob
- Grep
- WebFetch
- mcp__claude_ai_Linear__get_issue
- mcp__claude_ai_Linear__list_issues
- mcp__claude_ai_Linear__update_issue
- mcp__claude_ai_Linear__create_comment
metadata:
trigger: "Addressing PR review feedback or when someone requests changes on your PR."
tags: "git, code review, github"
---
# Address PR Comments
Fetch unresolved PR comments, understand the code context, categorize feedback, and address each item interactively.
## Preferences
_Read `~/.claude/skills/address-pr-comments/preferences.md` using the Read tool. If not found, no preferences are set._
## Context
_On startup, use Bash to detect: current git branch and repo name (`gh repo view --json nameWithOwner -q .nameWithOwner`). Skip any that fail._
## Command routing
Check `$ARGUMENTS`:
- **`help`** → display help then stop
- **`config`** → interactive setup then stop
- **`reset`** → delete `~/.claude/skills/address-pr-comments/preferences.md`, confirm, stop
- **anything else** → process as PR review
### Help
```
Review PR — Address PR review comments interactively
Usage:
/address-pr-comments <number> Review PR in current repo
/address-pr-comments <number> <repo> Review PR in specific repo
/address-pr-comments <github-url> Review PR from URL
/address-pr-comments config Set defaults
/address-pr-comments reset Clear preferences
/address-pr-comments help This help
What it does:
1. Fetches all unresolved review and conversation comments
2. Reads code context for each comment
3. Categorizes: must-fix, suggestion, question, nit
4. Presents summary with proposed actions
5. Executes approved fixes, posts replies
6. Commits and pushes changes
Comment sources:
- Inline review comments
- PR conversation comments
- Automated review tools (Claude, Copilot)
Current preferences:
(shown above under Preferences)
```
### Config
Use **`AskUserQuestion`**:
**Q1** — "Default repository?" (Current repo (detect), Always ask)
**Q2** — "Which comments to include?" (Unresolved only (default), All comments, Latest review round only)
**Q3** — "Auto-commit after fixes?" (Yes — commit and push (default), No — stage only, Ask each time)
Save to `~/.claude/skills/address-pr-comments/preferences.md`.
## First-time detection
If no preferences file exists, show:
"First time using /address-pr-comments? Run `/address-pr-comments config` to set defaults, or continue — I'll review unresolved comments in the current repo."
Then proceed.
## Steps
### 1. Parse input
From `$ARGUMENTS`:
- **PR number**: Numeric ID
- **Repository**: From URL, second arg, or current git remote
- **Organization**: From URL or git remote
If only a number, detect repo from pre-injected context above.
### 2. Gather context (parallel)
**PR details:**
```
gh pr view <number> --repo <org/repo> --json title,body,headRefName,baseRefName,state,reviewDecision,files
```
**Review comments (inline):**
```
gh api repos/<org>/<repo>/pulls/<number>/comments --paginate
```
**Conversation comments (top-level):**
```
gh api repos/<org>/<repo>/issues/<number>/comments --paginate
```
**Changed files:**
```
gh pr diff <number> --repo <org/repo> --name-only
```
**Branch check:** Note if you're on the PR branch or not.
### 3. Filter and categorize
**Filter:**
- Exclude resolved review threads
- Exclude purely informational bot comments (CI, deploy URLs)
- Include automated review tools (Claude Code Review, Copilot) — they have actionable feedback
**Categorize each comment:**
1. Read the code at the commented location
2. Understand the suggestion
3. Assess category:
- **Must-fix**: Bugs, security issues, logic errors, breaking changes
- **Suggestion**: Improvements, better patterns, refactoring
- **Question**: Reviewer needs clarification
- **Nit**: Style, naming, minor preferences
4. Draft action: code change, reply, or explanation
### 4. Present summary
```
PR #N: [title]
Branch: [branch]
Comments: X unresolved (Y must-fix, Z suggestions, W questions, V nits)
Must-fix:
1. [file:line] @reviewer — "issue description"
→ Proposed fix: [change]
Suggestions:
2. [file:line] @reviewer — "description"
→ Proposed change: [change]
Questions:
3. [file:line] @reviewer — "question"
→ Draft reply: [explanation]
Nits:
4. [file:line] @reviewer — "nit"
→ Proposed change: [change]
```
### 5. Confirm actions
Use **`AskUserQuestion`** (multiSelect: true):
- One option per comment action
- "Address all"
- "Skip all"
### 6. Execute
**For code changes:**
1. Read current file at relevant lines
2. Apply the edit
3. Show diff
4. Batch changes in same file
**For replies:**
```
gh api repos/<org>/<repo>/pulls/<number>/comments --method POST --field body="<reply>" --field in_reply_to=<comment_id>
```
**After all actions** (based on preference):
- Stage changed files
- Commit with message referencing the review
- Push to PR branch
- Optionally reply to addressed comments
### 7. Summary
```
Review complete for PR #N
Applied: X changes
Replied: Y comments
Skipped: Z items
Changes committed: [hash] "[message]"
Pushed to: [branch]
Remaining unresolved: [count]
```
### 8. Learn
If user consistently skips nits, note preference.
If user prefers certain reply styles, save pattern.
## Principles
- **Read before acting**: Always read code context before proposing fixes.
- **Respect the reviewer**: Treat each comment as valid. Explain disagreements respectfully.
- **Atomic changes**: Minimal, targeted fixes. Don't refactor surrounding code.
- **Batch smartly**: Group changes in the same file.
- **Don't auto-resolve**: Let reviewers resolve their own comments.
- **Preserve intent**: Don't change the approach unless explicitly asked.
- **Never edit original reviewer comments**: Always add replies to comment threads, never modify someone else's feedback.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!