How this skill is triggered — by the user, by Claude, or both
Slash command
/ai-tools:address-pr-commentsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Systematically address unresolved review comments on GitHub pull requests for the current branch.
Systematically address unresolved review comments on GitHub pull requests for the current branch.
gh CLI installed and authenticated (gh auth status)node ${CLAUDE_PLUGIN_ROOT}/skills/address-pr-comments/scripts/fetch-pr-comments.mjs
This returns JSON with:
If no PR found: Prompt user to push branch or create PR first.
Display comments in a numbered summary format, grouped by file:
## Unresolved Review Comments for PR #142
### src/components/Form.tsx
1. [C-1001] @alice (line 23): "Add aria-label for accessibility"
2. [C-1002] @bob (line 45): "Validation should happen on blur"
### src/utils/validate.ts
3. [C-1003] @alice (line 12): "Email regex is too permissive"
---
Total: 3 unresolved comments across 2 files
Sorting Priority:
If selection argument was provided, use it. Otherwise:
Selection Syntax:
1,3,5 - Select specific items1-5 - Select rangeall - Select all unresolvedskip - Skip and end skillFor each selected comment, display:
## Comment #1 - src/components/Form.tsx:23
### Code Context (lines 20-26):
```tsx
20: export function Form({ onSubmit }) {
21: const [email, setEmail] = useState('');
22:
23: return <input type="email" value={email} /> // <-- Comment here
24:
25: // ...
26: }
@alice (2 days ago):
Add aria-label for accessibility. Screen readers need this to identify the input.
@you (1 day ago):
Good catch, will fix.
### Step 5: Implement Fixes
For each selected comment, spawn a fix subagent:
Task: Address review comment on {filename}:{line}
Context:
Requirements:
Success: Comment feedback addressed appropriately
**Parallel Execution:**
- Use calculate-parallelism to determine MAX_PARALLEL
- Process multiple files concurrently when comments are in different files
- Process sequentially when multiple comments affect the same file
### Step 6: Verify Changes
After fixing each comment:
1. **Run related tests** (if any):
```bash
# Detect test framework and run tests for modified files
node ${CLAUDE_PLUGIN_ROOT}/skills/test-doctor/scripts/detect-test-environment.mjs
# Based on detected environment
pnpm exec prettier --check {files}
pnpm exec eslint {files}
pnpm exec tsc --noEmit
## Summary
✅ Addressed 3 comments:
- src/components/Form.tsx:23 - Added aria-label
- src/components/Form.tsx:45 - Changed validation to onBlur
- src/utils/validate.ts:12 - Improved email regex
Tests: PASS
Linting: PASS
Ready to commit? (y/n)
fetch-pr-comments.mjsFetches PR comments for the current branch:
node scripts/fetch-pr-comments.mjs [--open-only]
Output (JSON):
{
"pull_request": {
"number": 142,
"title": "Add form validation",
"html_url": "https://github.com/org/repo/pull/142",
"head_branch": "feature/validation",
"base_branch": "main"
},
"discussions": [...],
"open_discussions": [...]
}
parse-comments.mjsParses and formats comments for display:
node scripts/parse-comments.mjs < comments.json
Output: Formatted markdown summary
get-code-context.mjsGets code context around a specific line:
node scripts/get-code-context.mjs <file> <line> [--context=3]
Output: Code snippet with line numbers
CRITICAL: Do NOT work around script failures.
If any script in this skill produces no output, fails, or returns unexpected results:
If a script fails, ask the user how to proceed before continuing.
Common Errors:
| Error | Resolution |
|---|---|
| No PR found | gh pr create or push branch first |
| Auth failed | Run gh auth login |
| Rate limited | Wait and retry with backoff |
| File not found | Comment may be on deleted/renamed file - skip |
This skill is used by pr-doctor as part of the complete PR health workflow:
npx claudepluginhub waynebrantley/aitools --plugin ai-toolsFetches GitHub PR review comments via gh CLI, inventories by file/line/author, addresses each with code fixes, runs tests, commits referencing PR, pushes, and reports resolutions.
Reads open GitHub PR review comments, triages by severity, applies code fixes, and drafts replies. Use when addressing PR feedback or code review.
Fetches GitHub PR review comments via gh CLI and Python script, creates task checklists for threads, links commits to reviews, and blocks completion until all resolved. Use for systematic PR feedback handling.