| name | review-pr |
| description | Review someone else's PR as a code reviewer: read the PR diff, check against .claude/rules, leave inline comments on issues found, and submit a review with APPROVE or REQUEST_CHANGES. Use when the user asks the assistant to review a PR (subject omitted or = self), e.g.: "review PR", "review 這個 PR", "review 此 PR", "review 該 PR", "幫我 review 這個 PR" (without team subject), "review for me", "code review", or shares a PR URL with self-directed review intent. NOT for "請<同仁/大家/人名>幫我 review" (subject = others) — that is 催 review, route to check-pr-approvals. NOT for "review 大家的 PR" / "掃 PR" (object = others' PRs) — route to review-inbox. NOT for fixing review comments on your own PR — route to engineering revision mode. (use engineering revision mode for that).
|
| metadata | {"author":"Polaris","version":"2.1.0"} |
review-pr
以 reviewer 角色審查別人的單一 PR,依 repo rules / handbook / diff context 留 inline
comments,並提交 GitHub review。
Contract
此 skill 只處理單一 PR review。多 PR discovery 與 batch orchestration 交給
review-inbox;修自己的 PR review comments 交給 engineering revision mode。
Reviewer stance:prioritize bugs、behavior regressions、security、type safety、project
rule violations、missing tests。不要用 personal style preference 擋 merge。
reviewer-side 屬 read-only lane,但對 changes_requested、active unresolved comments、
awaiting_re_review、mergeable_ready 的語義必須與 author-side mutable lane 一致;不得自行重寫。
本 skill 可輸出 reviewer 結論(APPROVE / COMMENT / REQUEST_CHANGES),但不得把 reviewer
結論寫成 author-side stage authority;「可 merge / 可 release / 已完成」仍必須沿用 shared PR /
workflow state,而不是 reviewer prose。
Reference Loading
| Situation | Load |
|---|
| Any run | review-pr-entry-fetch-flow.md, pr-input-resolver.md, workspace-config-reader.md, shared-defaults.md |
| Analysis | review-pr-analysis-flow.md, repo-handbook.md, library-change-protocol.md as needed |
| Submit and notify | review-pr-submit-flow.md, workspace-language-policy.md, external-write-gate.md, github-slack-user-mapping.md |
| Re-review | review-pr-rereview-learning-flow.md, review-lesson-extraction.md, repo-handbook.md |
Large PR 分批 review 可派 sub-agent;所有 dispatch 必須注入 sub-agent-roles.md 的
Completion Envelope。Sub-agent 只做 analysis,不提交 review、不改檔。
Flow
- 從使用者輸入或 Slack context 解析 PR URL;找不到單一 PR 時停止或轉
review-inbox。
- 依
pr-input-resolver.md 解析 owner、repo、number、本地 project path;找不到本地 repo
時使用 remote read mode。
- 用 bundled fetch script 取得 metadata、files、review strategy、existing reviews、approval
state、re-review signal。
- 讀 repo rules、workspace handbook、PR description、changed files、diff、既有 review
comments,建立去重清單。
- Review changed files;large PR 依 reference 分組派 sub-agent fan-out。
- 合併 findings,依 severity 決定
APPROVE、COMMENT、或 REQUEST_CHANGES。
- Review body、inline comments、Slack notification 送出前跑 language gate。
- Submit GitHub review,查詢 approve status,輸出摘要。
- 若有 validated repo-specific pattern,依 standard-first rule 更新 handbook。
- Slack source 時回覆原始 thread。
Severity Boundary
must-fix 必須是可從 code / diff / rules 直接證明會造成 bug、安全風險、型別錯誤、
或違反關鍵規範。外部 API 行為、language/library behavior、或僅基於慣例的推論,在未驗證前
最多是 should-fix。
Write Rules
- GitHub review、inline comments、Slack replies 都是 external write。
- 使用
workspace-language-policy.md 或 external write gate 驗證 final text。
- 不重複留言已由其他 reviewer 指出的同語意問題。
- Suggested change 只在能精準替換 diff range 時使用。
Completion
輸出 PR、review result、must-fix / should-fix / nit counts、approve status、Slack
notification status,以及 handbook updates if any。
Post-Task Reflection (required)
Execute post-task-reflection-checkpoint.md before reporting completion.