pr-comments · diff
git:20260525.2b74e19 to git:20260711.4b7f2b7
4 added, 4 removed. Audit A to A.
---
name: pr-comments
description: Export, preprocess, and fix GitHub PR review comments. Use when user wants to export PR comments, evaluate code reviews, or fix review feedback from CodeRabbit/Gemini/Devin bots.
argument-hint: <action> [args...]
disable-model-invocation: true
allowed-tools: Bash(gh *), Bash(jq *), Bash(mkdir *), Bash(sed *), Bash(git *), Read, Edit, Glob, Grep
---
# PR Comments Skill
Export GitHub PR review comments, preprocess for evaluation, and fix or reject each review.
## Actions
### 1. Export: `/pr-comments export <owner/repo> <pr-number>`
Export all review comments from a PR to individual markdown files.
```bash
- bash .agents/skills/pr-comments/scripts/export.sh $1 $2 $3
+ bash .claude/skills/pr-comments/scripts/export.sh $1 $2 $3
```
**Output:** `docs/pr-comments/pr-{number}/` with one file per comment.
### 2. Preprocess: `/pr-comments preprocess <input-dir>`
Clean exported comments for agentic evaluation (removes `<details>` blocks, adds evaluation prompt).
```bash
- bash .agents/skills/pr-comments/scripts/batch-preprocess.sh $1
+ bash .claude/skills/pr-comments/scripts/batch-preprocess.sh $1
```
**Output:** `{input-dir}-tasks/` with cleaned task files.
### 3. Analyze: `/pr-comments analyze <tasks-dir>`
Show comments grouped by source file with recommended processing order.
```bash
- bash .agents/skills/pr-comments/scripts/analyze.sh $1
+ bash .claude/skills/pr-comments/scripts/analyze.sh $1
```
**Output:** Table showing which files have multiple comments and line numbers (sorted for bottom-up fixing).
### 4. Fix: `/pr-comments fix <task-file.md>`
Evaluate a single PR review comment. Read the source file, determine if valid, then fix or explain.
Follow instructions in [review-fix.md](review-fix.md).
### 5. Batch: `/pr-comments batch <tasks-dir>`
Process all task files in a directory. **Groups comments by source file** and fixes bottom-up to avoid line number shifts.
**Critical:** Multiple comments often target the same file. Batch mode:
1. Groups tasks by source file
2. Sorts by line number descending (bottom-up)
3. Fixes all comments for one file before moving to next
Follow instructions in [review-batch.md](review-batch.md).
### 6. Resolve: `/pr-comments resolve <owner/repo> <pr-number> <comment-id> [task-file]`
Resolve a PR review thread on GitHub and move task to completed folder.
```bash
- bash .agents/skills/pr-comments/scripts/resolve-thread.sh $1 $2 $3 $4
+ bash .claude/skills/pr-comments/scripts/resolve-thread.sh $1 $2 $3 $4
```
**Example:**
```bash
/pr-comments resolve donghaozhang/qcut 102 2742327370 docs/pr-comments/pr-102-tasks/comment.md
```
**What it does:**
1. Resolves the PR conversation thread on GitHub
2. Moves the task file to `{tasks-dir}_completed/`
**When to use:**
- After FIXED → Resolve and move to completed
- After ALREADY_FIXED → Resolve and move to completed
- NOT_APPLICABLE → Don't resolve (leave comment explaining why)
### 7. Git: Commit and push after fixing
After resolving, commit the modified source files and push to the current branch. **Do not script this** — the agent should do it directly because it knows which files were changed and why.
1. `git add` the modified source file(s) (NOT task/docs files)
2. `git commit` with a meaningful message based on what was fixed (use conventional commit format)
3. `git push` to the current remote branch
**Commit message format:** `fix: <what was fixed>` or `refactor: <what was refactored>` — derived from the review comment and the actual change made.
**When to git:**
- After FIXED → Commit and push
- After ALREADY_FIXED → Skip (no code changes)
- NOT_APPLICABLE → Skip (no code changes)
## Complete Workflow
```bash
# Step 1: Export comments from PR
/pr-comments export donghaozhang/qcut 102
# Step 2: Preprocess into task files
/pr-comments preprocess docs/pr-comments/pr-102
# Step 3: Analyze (see file groupings)
/pr-comments analyze docs/pr-comments/pr-102-tasks
# Step 4a: Fix single comment
/pr-comments fix docs/pr-comments/pr-102-tasks/comment.md
# Step 4b: Or batch fix all
/pr-comments batch docs/pr-comments/pr-102-tasks
# Step 5: Resolve thread and move task to completed
/pr-comments resolve donghaozhang/qcut 102 2742327370 docs/pr-comments/pr-102-tasks/comment.md
# Step 6: Agent commits and pushes modified source files
# (done automatically by the agent — no script needed)
```
## Output Structure
```
docs/pr-comments/
├── README.md
├── pr-102/ # Raw exported comments
│ ├── coderabbitai[bot]_file_L42_123.md
│ ├── devin-ai-integration[bot]_file_L30_789.md
│ └── gemini-code-assist[bot]_file_L50_456.md
├── pr-102-tasks/ # Preprocessed for evaluation (pending)
│ └── coderabbitai[bot]_file_L50_456.md
└── pr-102-tasks_completed/ # Resolved tasks
└── coderabbitai[bot]_file_L42_123.md
```
## Supporting Files
- [review-fix.md](review-fix.md) - Single comment evaluation instructions
- [review-batch.md](review-batch.md) - Batch processing instructions
## Requirements
- GitHub CLI (`gh`) - installed and authenticated
- `jq` - JSON processing