一键导入
address-pr-comments
Fetch review comments on the current branch's PR, judge whether each (including outdated ones) still applies, and walk through fixes
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Fetch review comments on the current branch's PR, judge whether each (including outdated ones) still applies, and walk through fixes
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the project issue tracker. Use when the user wants to convert a plan into issues, create implementation tickets, or break down work into issues.
Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.
Capture rough notes locally with zero ceremony, then export them to their right permanent home. Use when the user wants to jot/park/stash a thought mid-task without derailing ("note to self", "remember to", "journal this"), or when they later want to export/file/route parked notes into an issue, spec, ADR, CONTEXT term, or docs. Capture is local and gitignored; export delegates to whichever existing skill owns the note's permanent home.
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/spec asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X".
Implement a piece of work based on a spec or set of tickets.
Plan a huge chunk of work — more than one agent session can hold — as a shared map of investigation tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.
| name | address-pr-comments |
| description | Fetch review comments on the current branch's PR, judge whether each (including outdated ones) still applies, and walk through fixes |
| allowed-tools | Bash(git:*), Bash(gh pr:*), Bash(gh api:*), Bash(gh repo view:*), Bash(.claude/skills/address-pr-comments/scripts/fetch-review-threads.sh:*) |
| user-invocable | true |
Walk through unresolved review feedback on the current branch's PR. For every comment — including ones GitHub has marked outdated — judge whether the underlying concern still applies to the current code, then propose and implement fixes. Do not reply to comment threads. The user will handle replies manually.
Run each step in order. Stop and report if any step fails.
Pick the tool once with gh auth status, then fetch the PR plus all three comment surfaces — line-level threads, conversation comments, and review summaries (reviewers use all three and they don't overlap).
gh available and authenticated — run the bundled script for the threads (it exposes the isResolved/isOutdated state the REST endpoints don't), then the two surfaces it doesn't cover:
gh pr view --json number,title,headRefName,baseRefName # identify PR; stop if none exists
.claude/skills/address-pr-comments/scripts/fetch-review-threads.sh # review threads + resolved/outdated state
gh api "repos/{owner}/{repo}/issues/<PR_NUMBER>/comments" --paginate # conversation comments
gh api "repos/{owner}/{repo}/pulls/<PR_NUMBER>/reviews" --paginate # review summaries
Derive {owner}/{repo} from gh repo view --json nameWithOwner -q .nameWithOwner.
gh missing or unauthenticated — use the GitHub MCP server instead, all via pull_request_read: method: get to identify the PR, get_review_comments for the threads (same is_resolved/is_outdated state, so no script needed), get_comments for conversation comments, and get_reviews for review summaries.
Either path yields review threads carrying isResolved/isOutdated plus each comment's body, path, line/originalLine, diffHunk, and author. An outdated thread (isOutdated: true) is no longer anchored to a current line, but the concern may still apply (see step 3).
in_reply_to_id — keep the whole chain together and treat the latest message as the current state of the thread.isResolved field from the step 1 output) — it's the authoritative source.An outdated comment is one whose original line no longer exists at the same position in HEAD — usually because the code around it was rewritten, reformatted, or moved. GitHub hides these behind a "show outdated" toggle, but the reviewer's concern may still apply. Do not auto-dismiss them.
For every outdated comment, do this analysis:
diff_hunk — that's the exact code context the reviewer saw. It shows the lines immediately around the comment.State your classification explicitly for each outdated comment before proposing a fix. Do not silently skip outdated comments.
Before making any changes, show the user a structured summary:
path, then by reviewerUse this format:
<file>:<line> — <reviewer>
Comment: "<excerpt from body>"
Status: <active | outdated>
Classification: <one of the 5 above>
Proposed fix: <plain-words description of the change — no code or diffs>
If there are many comments (>8), ask the user whether they want to go one-by-one or have you implement all the clearly-valid ones in a batch and only interrupt on unclear ones.
Make the code changes. Commit at logical boundaries (not one commit per comment — group related fixes). Use the repo's commit convention (/commit skill).
Comment asks to file a follow-up ticket? Search the tracker first (gh issue list --search "<keywords>") and reuse any match — never open a duplicate.
Do not post replies to any comment thread. The user will reply manually after reviewing your fixes. Your job ends at the code change + commit.
List the comments addressed (with file:line and one-line summary of the fix), the ones you classified as already-addressed or obsoleted (with reasoning), and any you flagged as unclear. Include the commit SHAs so the user can reference them in their manual replies.