code-review
Original:🇺🇸 English
Translated
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.
4installs
Added on
NPX Install
npx skill4agent add letta-ai/letta-code-action code-reviewTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →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 or
pull_request_revieweventspull_request_review_comment - User asks you to address review feedback
- User requests a code review of their changes
Reading Review Comments
Get All Reviews on a PR
bash
# List all reviews (approved, changes requested, commented)
gh api repos/$GITHUB_REPOSITORY/pulls/<number>/reviews
# Get a specific review's comments
gh api repos/$GITHUB_REPOSITORY/pulls/<number>/reviews/<review_id>/commentsGet Review Comments (Line-Level Feedback)
bash
# All line-level review comments on the PR
gh api repos/$GITHUB_REPOSITORY/pulls/<number>/comments
# Filter by specific path
gh api repos/$GITHUB_REPOSITORY/pulls/<number>/comments | jq '.[] | select(.path == "src/example.ts")'Understanding Review Comment Structure
Key fields in review comments:
- : File being commented on
path - /
line: Line number in the difforiginal_line - : The reviewer's comment text
body - : Code context around the comment
diff_hunk - : If this is a reply to another comment
in_reply_to_id
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
bash
# Reply to a specific review comment
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
bash
# View the diff
gh pr diff <number> --repo $GITHUB_REPOSITORY
# View changed files list
gh pr view <number> --repo $GITHUB_REPOSITORY --json files
# Compare with base branch (use two dots for shallow clones in GitHub Actions)
git diff origin/$BASE_BRANCH..HEADProviding 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 to submit formal GitHub reviews that appear in the PR's review UI.
gh pr reviewApprove a PR
bash
gh pr review <number> --approve --body "LGTM! Changes look good."Request Changes
bash
gh pr review <number> --request-changes --body "Please address the following issues..."Leave a Comment Review (without approval/rejection)
bash
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
bash
# First, get the latest commit SHA
COMMIT_SHA=$(gh pr view <number> --json headRefOid --jq '.headRefOid')
# Create a review comment on a specific position in the diff
# Note: position is the line number in the diff (not the file), starting from 1
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=10Key Fields for Line Comments
- : The SHA of the commit to comment on (use latest)
commit_id - : File path relative to repo root
path - : Position in the diff (line number in the diff hunk, starting at 1)
position - : Your comment text
body
Note: The is the line number within the diff, not the line number in the file. Count lines from the start of the diff hunk.
positionIterating on Changes
When you need to make additional changes after initial feedback:
bash
# Ensure you're on the PR branch
gh pr checkout <number>
# Make changes, then commit
git add <files>
git commit -m "fix: address review feedback"
# Push to update the PR
git push origin HEADImportant 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