界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

pr-review-triage

pr-review-triage

【开发与工程】Pull PR review comments and triage them — separate substantive feedback from bikeshedding, stale comments, misreads, AI slop, and other noise. Use this skill whenever the user asks to "review my PR comments", "triage feedback", "go through my PR", or wants help deciding what to address vs push back on. Make sure to use this skill anytime the user men…

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: pr-review-triage description: Pull PR review comments and triage them — separate substantive feedback from bikeshedding, stale comments, misreads, AI slop, and other noise. Use this skill whenever the user asks to "review my PR comments", "triage feedback", "go through my PR", or wants help deciding what to address vs push back on. Make sure to use this skill anytime the user mentions PR comments or code review feedback, even if they don't explicitly say "triage". Pulls comments via the gh CLI, classifies each, and proposes an action with a draft response. Do NOT use for writing PR descriptions, reviewing someone else's PR, or applying the changes — this skill triages and drafts only.

Pull review comments on a PR and triage each one. Figure out what's substantive, what's bikeshedding, and what's noise.

Get the comments

Default source: GitHub via the gh CLI.

If the user gives a PR number or URL, use it. Otherwise list their open PRs and ask which one.

gh pr view <number-or-url> --json reviews,reviewThreads,comments
gh api repos/{owner}/{repo}/pulls/{number}/comments

Pull both review-level comments and inline thread comments. For each, capture: author, body, file + line (if inline), thread resolution status, and the commit SHA the comment was made against. Where possible, note whether the code at that line has changed since the comment was posted.

Classify each comment

Apply labels. Multiple can apply.

Substantive

  • bug — real correctness, security, or data-integrity issue
  • design — concrete maintainability/readability point with specific reasoning
  • domain — surfaces context the author may be missing (constraint, prior decision, downstream impact)

Noise

  • bikeshed — style/naming/formatting preference, especially where a linter or formatter would settle it
  • stale — code at that line has changed since the comment; may no longer apply
  • misread — reviewer misunderstood what the code does
  • vague — "feels off", "have you considered", no concrete issue
  • ai-slop — pattern-matched suggestion that ignores context (often verbose, hedged, generic, or restates the diff)
  • scope-creep — asks for changes outside the PR's stated goal
  • unfounded — performance/security concern with no measurement or threat model

A comment is noise unless it survives this question: if I made the change they're asking for, would the code be meaningfully better, or just different?

The classification is a draft, not a verdict. The user knows their reviewer, codebase, and team norms — defer to their judgment when they push back.

Triage action

For each comment, recommend one:

  • Address — make the change
  • Push back — explain why not
  • Defer — file an issue, out of scope for this PR
  • Clarify — ask the reviewer for the missing context (concrete example, threat model, measurement)
  • Ignore — already resolved or stale; mark resolved without responding

Output

Per comment:

  • Reviewer + location (file:line or "review-level")
  • Comment quote (trimmed if long)
  • Labels
  • Recommended action + one-line reasoning
  • If push back or clarify: draft response — direct, no apologetic preamble, no "great point!", no "you're absolutely right"

Group by recommended action so the user can work Address items first, then send drafts.

End with a tally: e.g. "12 comments → 4 address, 5 push back, 2 defer, 1 ignore."

Do not apply code changes or post responses. This skill triages and drafts only.

我的收藏