agentsclimarketplace

Handle pr feedback

Skill corticalstack/flow/.claude/skills/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

Install
npx -y skills add corticalstack/flow --skill handle-pr-feedback

Assembled 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-review label 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.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.