Handle pr feedback
Fetch PR review feedback, implement the requested changes, commit, push, and re-request review. Explicit-only; run only when invoked via /handle-pr-feedback or explicitly asked.From its SKILL.md
npx -y skills add corticalstack/flow --skill handle-pr-feedbackAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 8 commands, including `tracker pr-current --json number,title,headRefName 2>/dev/null` and 7 more.
SKILL.md
8.1 KB, ~2.0k tokens by cl100k_base, as published. Nobody here has run it
Handle PR Feedback
You are tasked with handling feedback from @claude's PR review. This command fetches review comments, updates the implementation plan to document the feedback, implements the requested changes, and pushes updates.
Command Usage
/handle-pr-feedback <pr-number>
# Or auto-detect from current branch:
/handle-pr-feedback
Steps to Follow
1. Identify the PR
If PR number provided:
- Use the provided PR number
If no PR number provided:
- Auto-detect from current branch:
tracker pr-current --json number,title,headRefName 2>/dev/null - If multiple PRs or unclear, ask user which PR to handle
2. Fetch PR Review Feedback
# Get PR reviews + comments. The author.login filter for "claude-code[bot]" / "@claude"
# is GitHub-Actions-specific; substitute for other trackers / review systems.
tracker pr-view <pr-id> --json reviews,comments | jq '.reviews[] | select(.author.login == "claude-code[bot]" or .body | contains("@claude"))'
# Also get inline review comments
tracker pr-review-comments <pr-id>
Parse the feedback:
- Look for @claude's review comments (both overall review and inline comments)
- Identify what changes were requested
- Categorize by type: security, bugs, style, architecture, edge cases
- Extract specific file locations and suggested fixes
If no feedback found:
- Check if review is still pending:
tracker pr-decision <pr-id> - If APPROVED: notify user "PR already approved, no changes needed"
- If CHANGES_REQUESTED but no comments: ask user to specify what to fix
- If pending: notify user to wait for review to complete
3. Find the Implementation Plan
# Look for plan file related to this PR
# Strategy 1: Check PR description for plan reference
tracker pr-view <pr-id> --json body | grep -o "flow/plans/[^)]*"
# Strategy 2: Get work-item id from PR title/body
tracker pr-view <pr-id> --json title,body | grep -o "#[0-9]*" | head -1
# Then find plan (gh-<n> filename prefix is a stable convention regardless of tracker):
ls flow/plans/*-gh-<work-item-id>-*.md 2>/dev/null
# Strategy 3: Check commits for plan references
tracker pr-view <pr-id> --json commits | grep -o "flow/plans/[^)]*"
If plan not found:
- List all recent plans:
ls -t flow/plans/*.md | head -5 - Ask user which plan to update
- If user says "none" or "skip", proceed without plan update (just implement changes)
4. Update the Implementation Plan
Read the plan file and add a "PR Review Updates" section (or append to existing one):
## PR Review Updates
### Review: <date> by @claude
**Review Decision:** CHANGES_REQUESTED
#### Changes Requested:
1. **[Category]** [Issue description]
- **Location:** `path/to/file.py:42`
- **Problem:** [What's wrong]
- **Solution:** [How to fix it]
- **Reason:** [Why this matters]
2. **[Category]** [Issue description]
...
#### Implementation Status:
- [ ] Change 1: [description]
- [ ] Change 2: [description]
Write the updated plan back to the file.
5. Implement the Changes
For each change requested:
Read relevant files:
- Use the Read tool to examine files mentioned in feedback
- Understand current implementation
- Identify what needs to change
Make the changes:
- Follow @claude's suggestions
- Ensure changes align with the codebase patterns
- Consider edge cases and related code that might need updates
- Maintain code style and consistency
Important:
- If feedback is unclear, make best judgment and note assumptions in commit message
- If multiple valid approaches exist, choose the simplest one
- Don't over-engineer - fix exactly what was requested
6. Verify the Changes
Run relevant tests/checks:
# If project has tests, run them
# Python example:
uv run pytest tests/
# If project has linting:
uv run ruff check .
# Or whatever test/check commands exist in the project
If tests fail:
- Fix the issues
- Re-run tests
- Repeat until passing
7. Update Plan Status
Update the implementation plan's "Implementation Status" section to mark completed items:
#### Implementation Status:
- [x] Change 1: Fixed SQL injection - COMPLETED
- [x] Change 2: Added null check - COMPLETED
8. Commit Changes
Create a clear commit message:
git add <changed-files>
git commit -m "$(cat <<'EOF'
Address @claude PR feedback: <brief summary>
Changes made:
- <change 1>
- <change 2>
- <change 3>
Review: <pr-url>
Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
EOF
)"
Also commit the updated plan:
git add flow/plans/<plan-file>.md
git commit --amend --no-edit
9. Push Updates
# Push to the PR branch (updates the existing PR)
git push
10. Request Re-review
# Comment on the PR to request re-review (the '@claude' tag triggers the
# Claude Code GitHub Action; substitute the equivalent for other systems).
tracker pr-comment <pr-id> "@claude I've addressed your feedback in the latest commit. Please re-review:
Changes made:
- <change 1>
- <change 2>
All tests passing β
"
11. Update Work-Item State (if PR is linked to a work item)
# Get linked work-item ids
tracker pr-closing-issues <pr-id>
# Keep work item in 'in-progress' (already there, no change needed)
12. Report Summary
Show the user:
β
PR Feedback Handled: PR #<number>
π Plan Updated: flow/plans/<plan-file>.md
- Added PR Review Updates section
- Documented <N> changes requested
π§ Changes Implemented:
- <change 1>
- <change 2>
- <change 3>
β
Tests: PASSING (or show failures if any)
π€ Pushed to: <branch-name>
π¬ Re-review requested from @claude
Next: Wait for @claude's re-review, or run `/handle-pr-feedback` again if more feedback arrives.
Important Notes
- Human oversight: While this command automates the process, you should review @claude's feedback before running it to ensure you agree with the changes
- Iteration limit: If this is the 3rd+ iteration of feedback on the same PR, consider adding
needs-human-reviewlabel and asking user to review - Plan updates are documentation: The primary goal is to keep the plan accurate as a historical record
- No new PRs: This updates the existing PR by pushing to the same branch
- Atomic changes: Each feedback item should be a logical, testable change
- Failed tests: If tests fail after changes, fix them before pushing
Edge Cases
Multiple reviewers:
- Focus on @claude's feedback specifically
- If human reviewers also left feedback, mention it but focus on @claude's automation-friendly review
Conflicting feedback:
- If @claude's suggestions conflict with each other, implement the most critical ones first (security > bugs > style)
- Note conflicts in commit message
Large architectural changes:
- If feedback requests major refactoring, update plan extensively
- Consider asking user if they want to proceed with large changes
- Might be better suited for a new issue/plan cycle
No plan file:
- Still implement the changes
- Note that plan wasn't found in commit message
- Suggest creating a plan retrospectively if changes are significant
Example Session
# User runs command
/handle-pr-feedback 42
# Output:
π₯ Fetching PR #42 feedback...
Found @claude review: CHANGES_REQUESTED
Changes requested:
1. Security: SQL injection in auth.py:42
2. Bug: Missing null check in user_validator.py:15
3. Style: Use list comprehension in data_processor.py:88
π Updating plan: flow/plans/2026-02-06-gh-42-add-auth.md
β
Plan updated with PR Review Updates section
π§ Implementing changes...
β
Fixed SQL injection - using parameterized queries
β
Added null validation before processing
β
Refactored to list comprehension
β
Running tests... PASSED
π€ Pushing changes to feature/42-add-auth
π¬ Re-review requested from @claude
Done! β
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most pr commit review skills give in ~2.0k tokens
Counted across 1,055 of the 1,911 authors here whose files we hold, read 2026-09-06
- Use conventional commit message formatin 150 of 1055, across 145 files
- Announce skill usage at startin 78 of 1055
- Use imperative mood for commit descriptionsin 54 of 1055, across 51 files
- Add directory to gitignore if not ignoredin 52 of 1055, across 41 files
- Use imperative mood for commit subjectin 52 of 1055
- Run tests to verify clean baselinein 42 of 1055, across 32 files
- Push branch to originin 40 of 1055, across 38 files
- Verify worktree directory is ignored before creationin 39 of 1055, across 32 files
- Delete branches after mergingin 38 of 1055, across 30 files
- Create worktree with new branchin 37 of 1055, across 32 files
- Wrap body text at 72 charactersin 36 of 1055, across 34 files
- Auto-detect and run project setupin 35 of 1055, across 27 files
Said here and by no other author read
- fetch review comments from the tracker
- locate the implementation plan file
- add a review updates section to the plan
- implement requested changes in the codebase
- update the implementation plan status
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.