Address PR review feedback through focused surgical changes with Boy Scout Rule, feedback context recovery, ambiguity handling, pushback criteria, and re-review request patterns. Use when resolving reviewer comments on a pull request.
From flownpx claudepluginhub synaptiai/synapti-marketplace --plugin flowThis skill is limited to using the following tools:
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Domain skill for systematically addressing PR review comments.
EVERY FIX TRACES TO A SPECIFIC REVIEW COMMENT OR THE BOY SCOUT RULE. Untraceable changes that fail the proximity test are out-of-context changes.
If you can't point to the review comment or the Boy Scout proximity test that motivated a change, the change doesn't belong in this round.
When addressing feedback, fix what the feedback requires — and apply the Boy Scout Rule to files you're already modifying:
code-quality-principles)improve: commits, never mixed with feedback fixesFetch all review feedback:
PR_NUM=$ARGUMENTS
REPO=$(gh repo view --json nameWithOwner --jq '.nameWithOwner')
# Review comments with file:line context
gh api repos/$REPO/pulls/$PR_NUM/comments --jq '.[] | {id: .id, path: .path, line: .line, body: .body, author: .user.login}'
# Review summaries and states
gh pr view $PR_NUM --json reviews --jq '.reviews[] | {state: .state, body: .body, author: .author.login}'
# Root conversation threads (for grouping replies)
gh api repos/$REPO/pulls/$PR_NUM/comments --jq '.[] | select(.in_reply_to_id == null) | .id'
Categorize each comment:
| Category | Action |
|---|---|
| P1 — Must fix | Code bug, security issue, logic error |
| P2 — Should fix | Convention violation, missing test, unclear code |
| P3 — Consider | Style preference, optimization suggestion |
| Question | Needs response, not necessarily a code change |
| Resolved | Already fixed or no longer relevant |
Don't trust line numbers from review comments — code may have changed since the review:
# Find current location of reviewed code
grep -n "quoted_code_snippet" $FILE_PATH
For each feedback item (as TaskCreate):
fix(scope): address review — {summary}When feedback is unclear:
It's acceptable to push back on feedback when:
Always explain the reasoning when pushing back. Never ignore feedback silently.
| Excuse | Response |
|---|---|
| "While fixing this, I noticed something else to improve" | Does it pass the proximity test? If yes, fix it in a separate improve: commit. If no, create a follow-up issue with /flow:issue. |
| "The reviewer probably meant this broader change" | Don't guess. Address the literal comment. Clarify if unsure. |
| "I'll batch all fixes into one commit" | One commit per feedback item. Traceability requires it. |
After all feedback is addressed:
Post structured resolution summary using the template structure from templates/resolution-comment.md:
# Post resolution comment
gh pr comment $PR_NUM --body "$BODY"
BLOCKING: The resolution comment MUST be posted before re-requesting review. Push + resolution comment + re-request review is an atomic sequence — never skip the middle step.
# Re-request review
gh pr edit $PR_NUM --add-reviewer @{reviewer}
Before re-requesting review: