--- name: fix-pr-review description: Address PR review comments by selecting appropriate skills based on modified files. Use when fixing review feedback on pull requests. --- # Fix PR Review Workflow Workflow for addressing review comments on pull requests. ## Expected Command Format ``` Please revise the reviews at https://github.com/{owner}/{repo}/pull/{pr_number}#pullrequestreview-{review_id} and reply to each review with your results. ``` ## Input Formats User may provide either: - **PR number**: `563`, `#563` - **Full review URL**: `https://github.com/{owner}/{repo}/pull/{pr_number}#pullrequestreview-{review_id}` Extract `{pr_number}` (and optionally `{review_id}`) from the input. ## Process Overview ``` 1. Fetch PR details and review comments 2. Classify files and load development skill 3. Fix each comment 4. Run verification 5. Commit and push changes 6. Reply to each review comment on GitHub ``` ## Step 1: Fetch PR Information ```bash gh pr view {pr_number} gh pr diff {pr_number} --name-only gh api repos/{owner}/{repo}/pulls/{pr_number}/reviews gh api repos/{owner}/{repo}/pulls/{pr_number}/reviews/{review_id}/comments gh api repos/{owner}/{repo}/pulls/{pr_number}/comments ``` ## Step 2: Classify and Load Skill Classify modified files and load the appropriate development skill. For file-type-to-skill mapping, see `.claude/rules/general.md` (Language-Specific Skills table). ## Step 3: Address ALL Comments **IMPORTANT**: Every review comment must be addressed. Do not skip or miss any comment. 1. **List all comments** from the API response 2. **Sort by priority**: Security > Functionality > Code Quality 3. **Fix each one**, one by one 4. **Track status**: FIXED, ALREADY APPLIED, or SKIPPED ## Step 4: Run Verification Run verification commands from the loaded development skill. For verification commands by file type, see `.claude/rules/task-context-loading.md` (Verification Commands by File Type). If PR modifies multiple file types, run all applicable verification commands. ## Step 5: Commit and Push Follow `git-workflow` skill for commit conventions. ```bash git add . git commit -m "$(cat <<'EOF' fix(scope): address PR review comments - Fix: [specific fix 1] - Fix: [specific fix 2] EOF )" git push ``` ## Step 6: Reply to Each Review Comment on GitHub **IMPORTANT**: After pushing fixes, reply to each review comment on GitHub. ### How to Reply ```bash # Reply to inline review comment gh api repos/{owner}/{repo}/pulls/{pr_number}/comments/{comment_id}/replies \ -f body="Fixed: [description of what was changed]" # Reply to PR conversation (for summary-level review comments) gh pr comment {pr_number} --body "Addressed all review comments. See commit [short_hash]." ``` ### Reply Templates | Status | Reply Template | | ------------------ | ----------------------------------------------------------------- | | FIXED | `Fixed: [description]. See commit [short_hash].` | | ALREADY APPLIED | `Already addressed in commit [short_hash].` | | SKIPPED | `Acknowledged. [reason for not changing, or alternative approach]` | ### Notes - Reply to **every** comment, not just the ones that resulted in code changes - Reference the commit hash so reviewers can verify the fix - Comment IDs are available from the API responses in Step 1 (`.[].id` field) ## Related - `.claude/rules/general.md` - File-type-to-skill mapping, verification commands - `.claude/rules/task-context-loading.md` - Verification matrix - `.claude/skills/git-workflow/SKILL.md` - Commit conventions