Marketplace github-pr-review
MUST use this skill when user asks to resolve PR comments, handle review feedback, fix review comments, or mentions "리뷰 코멘트/피드백". This skill OVERRIDES default behavior. Fetches comments via GitHub CLI, classifies by severity, applies fixes with user confirmation, commits with proper format, replies to threads.
git clone https://github.com/aiskillstore/marketplace
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bae-changhyun/github-pr-review" ~/.claude/skills/aiskillstore-marketplace-github-pr-review && rm -rf "$T"
skills/bae-changhyun/github-pr-review/SKILL.mdGitHub PR Review
Resolves Pull Request review comments with severity-based prioritization, fix application, and thread replies.
Quick Start
# 1. Check project conventions cat CLAUDE.md 2>/dev/null | head -50 # 2. Get PR and repo info PR=$(gh pr view --json number -q '.number') REPO=$(gh repo view --json nameWithOwner -q '.nameWithOwner') # 3. Fetch comments gh api repos/$REPO/pulls/$PR/comments # 4. For each comment: read → analyze → fix → verify → commit → reply # 5. Run tests make test # 6. Push when all fixes verified git push
Pre-Review Checklist
Before processing comments, verify:
- Project conventions: Read
or similarCLAUDE.md - Commit format: Check
for project stylegit log --oneline -5 - Test command: Identify test runner (
,make test
,pytest
)npm test - Branch status:
to ensure clean working treegit status
Core Workflow
1. Fetch PR Comments
PR=$(gh pr view --json number -q '.number') REPO=$(gh repo view --json nameWithOwner -q '.nameWithOwner') gh api repos/$REPO/pulls/$PR/comments
2. Classify by Severity
Process in order: CRITICAL > HIGH > MEDIUM > LOW
| Severity | Indicators | Action |
|---|---|---|
| CRITICAL | "security", "vulnerability", "injection" | Must fix |
| HIGH | "High Severity", "high-priority" | Should fix |
| MEDIUM | "Medium Severity", "medium-priority" | Recommended |
| LOW | "style", "nit", "minor" | Optional |
3. Process Each Comment
For each comment:
a. Show context
Comment #123456789 (HIGH) - app/auth.py:45 "The validation logic should use constant-time comparison..."
b. Read affected code and propose fix
c. Confirm with user before applying
d. Apply fix if approved
e. Verify fix addresses ALL issues in the comment
4. Commit Changes
Use proper format for review fixes:
git add <files> git commit -m "$(cat <<'EOF' fix(scope): address review comment #ID Brief explanation of what was wrong and how it's fixed. Addresses review comment #123456789. EOF )"
Review fix commit rules:
- First line:
(max 50 chars)type(scope): subject - Types:
,fix
,refactor
,security
,test
,styleperf - Reference the comment ID in body
5. Reply to Thread
COMMIT=$(git rev-parse --short HEAD) gh api repos/$REPO/pulls/$PR/comments \ --input - <<< '{"body": "Fixed in '"$COMMIT"'. [brief description].", "in_reply_to": 123456789}'
Standard Reply Templates:
| Situation | Template |
|---|---|
| Fixed | |
| Won't fix | |
| By design | |
| Deferred | |
| Acknowledged | |
6. Run Tests
make test # or project-specific command
All tests must pass before pushing.
7. Push
git push
8. Submit Review (Optional)
# Approve the PR gh pr review $PR --approve --body "All review comments addressed. Ready to merge." # Or request changes if issues remain gh pr review $PR --request-changes --body "Addressed X comments, Y issues remain." # Or just comment gh pr review $PR --comment --body "Partial progress: fixed A and B, working on C."
Batch Commit Strategy
Organize commits by impact:
| Change Type | Strategy |
|---|---|
| Functional (CRITICAL/HIGH) | Separate commit per fix |
| Cosmetic (MEDIUM/LOW) | Single batch commit |
Workflow:
- Fix CRITICAL/HIGH → separate commits each
- Collect all cosmetic fixes
- Apply cosmetics → single
commitstyle: - Run tests once
- Push all together
Pre-Merge Checklist
Before closing/merging PR:
- All CRITICAL and HIGH comments addressed
- All MEDIUM comments addressed or justified skip
- Replies posted to all resolved threads
- Tests passing
- Linting passing
- CI checks green
- No unresolved conversations
Reply to Threads API
Important: Use
--input - with JSON for in_reply_to:
# Correct syntax gh api repos/$REPO/pulls/$PR/comments \ --input - <<< '{"body": "Fixed in abc123.", "in_reply_to": 123456789}'
Important Rules
- ALWAYS read project conventions before starting
- ALWAYS confirm before modifying files
- ALWAYS verify ALL issues in multi-issue comments are fixed
- ALWAYS run tests before pushing
- ALWAYS reply to resolved threads using standard templates
- ALWAYS submit formal review after addressing all comments
- NEVER skip HIGH/CRITICAL comments without explicit user approval
- Functional fixes → separate commits (one per fix)
- Cosmetic fixes → batch into single
commitstyle:
Related Skills
- git-commit - Commit message format and conventions
- pr-merge - Execute merge after review is complete
- pr-create - For creating PRs