Skip to content
cccskills
FreePublished on GitHub

pr-feedback

Address unresolved PR review comments from Copilot and teammates

The English summary is being prepared. Showing the original description.

AllYourBot/hostedgpt513 stars(GitHub 513 + cccskills 0)
Works withGitHub

Run score Not tested

See how to install

Files included (1)

  • SKILL.md4.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

/pr-feedback

Reads all unresolved PR review comments, triages them, and resolves each thread with reasoning.

User context

User-provided context for this invocation: $ARGUMENTS

If non-empty, treat it as triage guidance — e.g. it may tell you which reviewers to prioritize, which categories of comment to skip, or specific threads to focus on. Apply it during Step 3 (triage) when forming your recommendations.

Step 1: Find the PR

  1. Get the current branch: git branch --show-current.
  2. Find the open PR for this branch: gh pr view --json number,url,title.
  3. If no PR exists, stop — nothing to address.

Step 2: Fetch unresolved comments

  1. Fetch all review comments:
    gh api repos/{owner}/{repo}/pulls/{number}/comments
    
  2. Also fetch review threads to check resolution status:
    gh api graphql -f query='{ repository(owner:"{owner}", name:"{repo}") { pullRequest(number:{number}) { reviewThreads(first:100) { nodes { id, isResolved, comments(first:10) { nodes { body, path, line, author { login } } } } } } } }'
    
  3. Filter to unresolved threads only. If all threads are resolved, say so and stop.

Step 3: Triage each comment

For each unresolved comment, read the referenced code and understand the suggestion. Display a table:

#ReviewerFileSuggestionRecommendation
1copilotpath/to/file.rb:42SummaryFIX — reason
2teammatepath/to/other.js:10SummaryIGNORE — reason

Ask the user which recommendations to proceed with before making any changes.

Step 4: Address each comment

Process comments one at a time. For each approved fix:

  1. Make the code change.
  2. Stage and commit with a message describing the fix.
  3. Push: git push.
  4. Reply to the PR comment thread with the commit SHA linked:
    gh api repos/{owner}/{repo}/pulls/{number}/comments/{comment_id}/replies -f body="Fixed in <commit_sha> — <what was changed>"
    
  5. Resolve the thread using the thread's node ID from Step 2, and confirm it actually resolved:
    gh api graphql -f query='mutation { resolveReviewThread(input: {threadId: "<thread_node_id>"}) { thread { isResolved } } }' --jq '.data.resolveReviewThread.thread.isResolved'
    

For each approved ignore:

  1. Reply to the PR comment thread explaining why:
    gh api repos/{owner}/{repo}/pulls/{number}/comments/{comment_id}/replies -f body="Won't fix — <reasoning>"
    
  2. Resolve the thread, confirming it resolved the same way:
    gh api graphql -f query='mutation { resolveReviewThread(input: {threadId: "<thread_node_id>"}) { thread { isResolved } } }' --jq '.data.resolveReviewThread.thread.isResolved'
    

The mutation must print true. GraphQL reports a bad node ID, a stale thread, or a permissions problem as an errors array with HTTP 200, so an unresolved thread looks identical to a resolved one unless you read the result. Anything other than true means that thread is still open: say so in your reply to the user and leave it out of the "resolved" count rather than assuming it landed.

Step 5: Update PR description

If any code changes were made in Step 4, rewrite the description to reflect the current state of the code:

  • Update the summary so it reads as though the PR were just created.
  • Update the test plan:

IMPORTANT: Before rewriting, fetch the current PR body first with gh pr view --json body and check which test plan items are currently checked (- [x]). You MUST preserve this information:

  1. Uncheck all items.
  2. For any item that existed before, is unchanged, and was previously checked, append "🔄" to indicate it needs re-verification.
  3. Remove items that are no longer relevant and add new ones if needed.
gh pr edit {number} --body "<rewritten body>"

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use when asked about Turbo (Turbo Drive, Turbo Frames, Turbo Streams, ActionCable-broadcasted streams) or Stimulus (controllers, targets, actions, values, outlets) — including "how do I do X with Turbo/Stimulus", debugging a Turbo Stream broadcast, or wiring up a Stimulus controller. Always consult the official Hotwire docs rather than answering from memory alone, since Turbo/Stimulus APIs and idioms have shifted across versions and this project has no SPA framework — all interactivity goes through Hotwire.

The English summary is being prepared. Showing the original description.

AllYourBot/hostedgpt513Updated Oct 23, 2026

pr

Free

Create or update a pull request

The English summary is being prepared. Showing the original description.

AllYourBot/hostedgpt513Updated Oct 23, 2026

Catch up on the team's merges since you last checked in

The English summary is being prepared. Showing the original description.

AllYourBot/hostedgpt513Updated Oct 23, 2026

Review the branch against project guidelines, fix what it finds, strip non-load-bearing comments, and keep .claude/rules fresh

The English summary is being prepared. Showing the original description.

AllYourBot/hostedgpt513Updated Oct 23, 2026

Use when asked about any Rails-specific topic — ActiveRecord, routing, controllers, views, mailers, jobs, Action Cable, Action Text, Active Storage, migrations, validations, callbacks, associations, caching, security, or Rails internals — including "how do I do X in Rails", debugging Rails behavior, or checking whether an API/option still exists or changed in a given Rails version. Always consult the official guides and API docs rather than answering from memory alone, since trained knowledge can be stale or wrong about version-specific details.

The English summary is being prepared. Showing the original description.

AllYourBot/hostedgpt513Updated Oct 23, 2026

Build and maintain Ruby or Rails applications with the RubyLLM AI framework. Use for chats, agents, tools, structured output, media generation, transcription, OCR, moderation, embeddings, reranking, Rails integration, and RubyLLM upgrades; not for contributing to the framework itself.

The English summary is being prepared. Showing the original description.

AllYourBot/hostedgpt513Updated Oct 23, 2026

See all skills by AllYourBot

Report a problem with this skill