跳到正文
cccskills
免费在 GitHub 公开

pr-feedback

Address unresolved PR review comments from Copilot and teammates

中文简介正在准备中。当前显示原文说明。

AllYourBot/hostedgpt星标 513(GitHub 513 + cccskills 0)
集成工具GitHub

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md4.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

/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>"

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

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.

中文简介正在准备中。当前显示原文说明。

AllYourBot/hostedgpt5132026年10月23日 更新

pr

免费

Create or update a pull request

中文简介正在准备中。当前显示原文说明。

AllYourBot/hostedgpt5132026年10月23日 更新

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

中文简介正在准备中。当前显示原文说明。

AllYourBot/hostedgpt5132026年10月23日 更新

pr-review

免费

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

中文简介正在准备中。当前显示原文说明。

AllYourBot/hostedgpt5132026年10月23日 更新

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.

中文简介正在准备中。当前显示原文说明。

AllYourBot/hostedgpt5132026年10月23日 更新

rubyllm

免费

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.

中文简介正在准备中。当前显示原文说明。

AllYourBot/hostedgpt5132026年10月23日 更新

查看 AllYourBot 的全部技能

报告此技能的问题