Help us improve
Share bugs, ideas, or general feedback.
From gitwf
Fetches GitHub PR comments via CLI, classifies by severity, applies fixes with user confirmation, commits in review format, and replies to threads. Use when resolving PR feedback.
npx claudepluginhub bae-changhyun/cc-plugins-bch --plugin gitwfHow this skill is triggered — by the user, by Claude, or both
Slash command
/gitwf:github-pr-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Resolves Pull Request review comments with severity-based prioritization, fix application, and thread replies.
Reads open GitHub PR review comments, triages by severity, applies code fixes, and drafts replies. Use when addressing PR feedback or code review.
Processes PR review feedback by analyzing comments, implementing fixes, committing, pushing, replying on GitHub, and resolving threads. Triggered by /pr-respond or relevant queries.
Fetches GitHub PR review comments via gh CLI, inventories by file/line/author, addresses each with code fixes, runs tests, commits referencing PR, pushes, and reports resolutions.
Share bugs, ideas, or general feedback.
Resolves Pull Request review comments with severity-based prioritization, fix application, and thread replies.
# 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
Before processing comments, verify:
CLAUDE.md or similargit log --oneline -5 for project stylemake test, pytest, npm test)git status to ensure clean working treePR=$(gh pr view --json number -q '.number')
REPO=$(gh repo view --json nameWithOwner -q '.nameWithOwner')
gh api repos/$REPO/pulls/$PR/comments
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 |
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
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:
type(scope): subject (max 50 chars)fix, refactor, security, test, style, perfCOMMIT=$(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 | Fixed in [hash]. [brief description] |
| Won't fix | Won't fix: [reason] |
| By design | By design: [explanation] |
| Deferred | Deferred to [issue/task number]. |
| Acknowledged | Acknowledged. [brief note] |
make test # or project-specific command
All tests must pass before pushing.
git push
# 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."
Organize commits by impact:
| Change Type | Strategy |
|---|---|
| Functional (CRITICAL/HIGH) | Separate commit per fix |
| Cosmetic (MEDIUM/LOW) | Single batch commit |
Workflow:
style: commitBefore closing/merging PR:
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}'
style: commit