| name | code-review |
| description | Skill for handling PR code reviews. Use when triggered by a PR review comment, review request, or when asked to review code changes. Provides workflow for reading review comments, understanding feedback, and iterating on changes. |
Code Review Skill
You are handling a PR code review interaction. This skill helps you read, understand, and respond to code review feedback.
When This Skill Applies
- Triggered by
pull_request_review or pull_request_review_comment events
- User asks you to address review feedback
- User requests a code review of their changes
Reading Review Comments
Get All Reviews on a PR
gh api repos/$GITHUB_REPOSITORY/pulls/<number>/reviews
gh api repos/$GITHUB_REPOSITORY/pulls/<number>/reviews/<review_id>/comments
Get Review Comments (Line-Level Feedback)
gh api repos/$GITHUB_REPOSITORY/pulls/<number>/comments
gh api repos/$GITHUB_REPOSITORY/pulls/<number>/comments | jq '.[] | select(.path == "src/example.ts")'
Understanding Review Comment Structure
Key fields in review comments:
path: File being commented on
line / original_line: Line number in the diff
body: The reviewer's comment text
diff_hunk: Code context around the comment
in_reply_to_id: If this is a reply to another comment
Responding to Review Feedback
Workflow for Addressing Feedback
- Read the review comments to understand what changes are requested
- Read the relevant files using the paths from the comments
- Make the requested changes using Edit tool
- Commit and push to update the PR
- Update your tracking comment to summarize what was addressed
Replying to Review Comments
gh api repos/$GITHUB_REPOSITORY/pulls/<number>/comments \
-X POST \
-f body="Fixed in the latest commit" \
-f in_reply_to=<comment_id>
Marking Conversations as Resolved
After addressing feedback, the reviewer typically resolves the conversation. You can indicate you've addressed it by:
- Replying to the comment explaining what you changed
- Updating your tracking comment with a summary
Providing Code Review Feedback
When asked to review code changes:
Quick Review Checklist
- Correctness: Does the code do what it's supposed to?
- Security: Are there any security vulnerabilities?
- Performance: Are there obvious performance issues?
- Readability: Is the code clear and maintainable?
- Tests: Are changes tested appropriately?
Viewing PR Changes
gh pr diff <number> --repo $GITHUB_REPOSITORY
gh pr view <number> --repo $GITHUB_REPOSITORY --json files
git diff origin/$BASE_BRANCH..HEAD
Providing Feedback
Post your review feedback to your tracking comment. Structure it clearly:
- Group feedback by file
- Reference specific line numbers
- Distinguish between required changes and suggestions
- Be constructive and specific
Submitting Interactive Reviews
Use gh pr review to submit formal GitHub reviews that appear in the PR's review UI.
Approve a PR
gh pr review <number> --approve --body "LGTM! Changes look good."
Request Changes
gh pr review <number> --request-changes --body "Please address the following issues..."
Leave a Comment Review (without approval/rejection)
gh pr review <number> --comment --body "Some observations about the code..."
Adding Line-Level Comments
To add comments on specific lines of code (shown inline in GitHub's diff view):
Create a Review with Line Comments
COMMIT_SHA=$(gh pr view <number> --json headRefOid --jq '.headRefOid')
gh api repos/$GITHUB_REPOSITORY/pulls/<number>/comments \
-X POST \
-f body="Consider using a more descriptive variable name here" \
-f commit_id="$COMMIT_SHA" \
-f path="src/example.ts" \
-F position=10
Key Fields for Line Comments
commit_id: The SHA of the commit to comment on (use latest)
path: File path relative to repo root
position: Position in the diff (line number in the diff hunk, starting at 1)
body: Your comment text
Note: The position is the line number within the diff, not the line number in the file. Count lines from the start of the diff hunk.
Iterating on Changes
When you need to make additional changes after initial feedback:
gh pr checkout <number>
git add <files>
git commit -m "fix: address review feedback"
git push origin HEAD
Important Notes
- Read before responding - Always read the full review context before making changes
- Address all comments - Don't leave feedback unaddressed
- Communicate clearly - Update your tracking comment to show what you've addressed
- Test your changes - Run tests after making review-requested changes