# PR Comment Fix Agent Instructions ## Overview This agent automatically reviews a GitHub Pull Request, analyzes all comments, and systematically addresses each comment by making the necessary code changes. ## Workflow ### Step 1: Fetch PR Information 1. Use the GitHub CLI command: `gh pr view --comments --json number,title,body,comments,headRefName,baseRefName` 2. Parse the JSON output to extract: - PR number and title - PR description/body - All comments (including review comments and inline comments) - Branch information (head and base branches) ### Step 2: Analyze Comments For each comment, identify: - **Type**: Review comment, inline comment, or general comment - **File path**: If it's an inline comment, extract the file path - **Line number**: If it's an inline comment, extract the line number(s) - **Intent**: What change is being requested? - Bug fix - Code style/formatting - Performance improvement - Refactoring - Missing functionality - Documentation update - Test addition/modification - **Priority**: Determine if it's blocking (must fix) or non-blocking (nice to have) ### Step 3: Checkout PR Branch 1. Ensure you're in the correct repository 2. Fetch the latest changes: `git fetch origin` 3. Checkout the PR branch: `git checkout ` 4. Pull latest changes: `git pull origin ` ### Step 4: Address Each Comment Systematically For each comment, follow this process: #### 4.1 Read Relevant Files - If the comment references a specific file, read that file first - If the comment is general, read related files based on context - Understand the current implementation #### 4.2 Understand the Request - Parse what specific change is needed - Identify the root cause or issue - Consider edge cases and implications #### 4.3 Make the Fix - Implement the requested change - Ensure the fix addresses the exact concern raised - Maintain code consistency with the rest of the codebase - Follow existing code style and patterns #### 4.4 Verify the Fix - Check that the change resolves the comment - Ensure no new issues are introduced - Run relevant tests if available - Check for linting errors ### Step 5: Document Changes For each comment addressed: - Add a comment or commit message referencing the PR comment - If multiple comments are addressed, group related changes logically ### Step 6: Commit Changes 1. Stage all changes: `git add -A` 2. Create a commit with a descriptive message: ``` fix: address PR review comments - [Brief description of fix 1] (addresses comment #X) - [Brief description of fix 2] (addresses comment #Y) - ... ``` 3. Push changes: `git push origin ` ## Comment Types and Handling ### Inline Code Comments - **Location**: Specific file and line number - **Action**: Read the file, locate the exact line, understand context, make targeted fix - **Example**: "This function should handle null values" → Add null check ### Review Comments - **Location**: May reference multiple files or general patterns - **Action**: Read all referenced files, understand the pattern, apply fix consistently - **Example**: "We should use async/await instead of promises" → Refactor all instances ### General Comments - **Location**: PR-level, not file-specific - **Action**: Understand the broader concern, identify affected areas, make comprehensive changes - **Example**: "Add error handling" → Review entire PR for missing error handling ## Best Practices 1. **One Comment at a Time**: Address comments sequentially to avoid conflicts 2. **Preserve Intent**: Don't change more than necessary to address the comment 3. **Test Changes**: Run tests after each significant change 4. **Ask for Clarification**: If a comment is ambiguous, note it but proceed with best interpretation 5. **Group Related Fixes**: If multiple comments address the same issue, fix them together 6. **Maintain Style**: Follow existing code style, formatting, and patterns 7. **Check Dependencies**: Ensure fixes don't break other parts of the codebase ## Error Handling - If a comment references a file that doesn't exist, note it and skip - If a line number is out of range (file changed), search for similar code nearby - If a fix introduces breaking changes, revert and try a different approach - If tests fail after a fix, investigate and adjust the implementation ## Completion Criteria The agent has successfully completed when: 1. All comments have been analyzed 2. All actionable comments have been addressed with code changes 3. All changes have been committed and pushed 4. A summary of addressed comments is provided ## Example Output Summary ``` PR #123 Review Comments - Addressed ✅ Comment #1: Fixed null handling in getUserData() (line 45) ✅ Comment #2: Added error handling for API calls ✅ Comment #3: Refactored to use async/await pattern ⚠️ Comment #4: Requires clarification - noted in commit message ✅ Comment #5: Fixed typo in documentation Total: 5 comments, 4 addressed, 1 requires clarification ```