Use after receiving PR review feedback to systematically address comments, verify fixes, and re-request review
Addresses PR review comments systematically, verifies fixes, and re-requests review.
/plugin marketplace add synaptiai/synapti-marketplace/plugin install gh-workflow@synapti-marketplace<pr-number>Systematically address review feedback on a pull request with task tracking and quality verification.
Tool Usage: This workflow uses the AskUserQuestion tool to clarify ambiguous feedback, and TaskCreate/TaskUpdate tools to track feedback resolution.
Execute in parallel (single message, multiple tool calls):
Get repository info for API calls:
# Get owner/repo dynamically - never hardcode
REPO=$(gh repo view --json nameWithOwner --jq '.nameWithOwner')
Fetch PR details and reviews:
gh pr view $ARGUMENTS --json title,headRefName,state,reviews
Fetch review comments (inline code comments):
gh api repos/$REPO/pulls/$ARGUMENTS/comments
Fetch PR conversation (general discussion comments):
gh api repos/$REPO/issues/$ARGUMENTS/comments
Check for resolved/unresolved threads:
gh api repos/$REPO/pulls/$ARGUMENTS/comments --jq '[.[] | select(.in_reply_to_id == null)] | length'
Checkout PR branch (if not already on it):
git fetch origin {headRefName}
git checkout {headRefName}
For each review comment/feedback item, create a tracking task:
TaskCreate:
subject: "Address: [Brief summary of feedback]"
description: |
**Reviewer**: @{reviewer}
**Location**: {file}:{line}
**Comment**: {full comment text}
**Action needed**: [fix/discuss/clarify]
activeForm: "Addressing [feedback summary]"
Group related feedback into single tasks where appropriate.
For each feedback task:
Mark in progress: TaskUpdate: taskId={id}, status=in_progress
Read and understand the feedback
Read the relevant content context
If feedback is ambiguous, use the AskUserQuestion tool to clarify:
If you disagree with feedback, use the AskUserQuestion tool:
Make the necessary changes
Commit with a descriptive message:
# Good - specific and clear
git commit -m "fix: correct broken link per review feedback"
git commit -m "fix: update validation logic as suggested"
Mark task complete: TaskUpdate: taskId={id}, status=completed
After addressing all feedback, verify changes don't introduce new issues:
Execute in parallel:
# Based on detected tech stack
ruff check . 2>/dev/null
pytest 2>/dev/null
# Or for Node/TypeScript
npm run lint 2>/dev/null
npm test 2>/dev/null
# Or for Go
go vet ./... 2>/dev/null
go test ./... 2>/dev/null
Review the diff since last push:
git diff HEAD~{n}..HEAD # Where n = number of fix commits
Check for:
TaskList
All feedback tasks should be status=completed.
MANDATORY before pushing: Re-verify quality after all fixes.
Review changes introduced by fix commits:
git log --oneline origin/{baseRef}..HEAD
git diff origin/{baseRef}..HEAD
Check:
If tests were added or modified:
# All quality commands should pass
ruff check . && pytest # Python
npm run lint && npm test # Node
go vet ./... && go test ./... # Go
If any check fails:
Preview response and get approval using the AskUserQuestion tool:
First, display a complete summary of what was done:
## Changes Summary
### Feedback Addressed
| Comment | Action Taken | Status |
|---------|--------------|--------|
| [Reviewer comment 1] | [What you changed] | Fixed |
| [Reviewer comment 2] | [Explanation] | Discussed |
### Commits Made
- `abc1234` - fix: description
- `def5678` - fix: description
### Quality Verification
- [x] Lint passes
- [x] Tests pass
- [x] Code review on fixes: no new issues
### Response Comment Preview
[Show the exact comment that will be posted]
Then, and only then, invoke the AskUserQuestion tool with:
IMPORTANT: The user MUST see the complete summary of changes and the response preview BEFORE being asked to approve. Never ask for approval without first showing what will be pushed and posted.
Do not push without explicit approval.
Verify changes before pushing:
Push changes:
git push
Post summary comment:
gh pr comment $ARGUMENTS --body "RESPONSE"
Use this structure for the summary comment:
## Addressed Review Feedback
Thanks for the review! Here's what I've addressed:
### Changes Made
**1. [Feedback summary]**
- [What was changed]
- Commit: `abc1234`
**2. [Feedback summary]**
- [What was changed]
- Commit: `def5678`
### Discussion Points
> [Quote reviewer comment if needs discussion]
[Your response or explanation]
### Not Addressed (if any)
- **[Item]**: [Reason - needs clarification / out of scope / disagree because X]
### Verification
- [x] All quality checks pass
- [x] Self-reviewed fix commits
- [x] No new issues introduced
Use descriptive messages that reference the feedback:
# Good - specific and clear
git commit -m "fix: correct broken link per review feedback"
git commit -m "fix: update validation logic as suggested"
git commit -m "docs: clarify usage instructions per review"
# Bad - vague and unhelpful
git commit -m "address review comments"
git commit -m "fixes"
git commit -m "updates"
After addressing all feedback, optionally request re-review.
Use the suggest-users skill to suggest reviewers for re-review:
Scoring adjustments for re-review:
# Get previous reviewers
gh pr view $ARGUMENTS --json reviews --jq '.reviews[].author.login' | sort | uniq
Use the AskUserQuestion tool with ranked suggestions:
gh pr edit $ARGUMENTS --add-reviewer {reviewer-username}
Include thread status in the response comment:
### Thread Status
| Thread | Status |
|--------|--------|
| [Comment summary] | Resolved / Addressed / Needs discussion |