Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add HsuanYuLee/polaris --skill review-prgit clone --depth 1 https://github.com/HsuanYuLee/polarisWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/hsuanyulee/polaris/review-pr)<a href="https://agentmods.dev/skills/hsuanyulee/polaris/review-pr"><img src="https://agentmods.dev/badge/skills/hsuanyulee/polaris/review-pr/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/hsuanyulee/polaris/review-pr"><img src="https://agentmods.dev/badge/skills/hsuanyulee/polaris/review-pr.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00296 | $0.02144 |
| Opus 5 | $0.00148 | $0.01072 |
| Sonnet 5 | $0.00059 | $0.00429 |
| Haiku 4.5 | $0.00030 | $0.00214 |
Grade A, and why
review-pr scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 137 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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 就直接修(那不需要重簽成功的定義)。
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。
這支 skill 有沒有被叫對:evals/evals.json
上面那條界線(什麼走這支、什麼走 review-inbox / request-pr-review)不是只寫在散文裡,
它有一份具名的案例集:evals/evals.json,13 句真的會被打出來的話,7 句該觸發、6 句
不該。每一條帶著它為什麼在那裡(notes)。
它是給人讀的,不是給腳本跑的——這裡沒有 runner,也刻意不要有一支。它的用途是:改
frontmatter 的 description 之前先讀那 13 句,問「改完之後這 13 句的答案還一樣嗎」。負向
那 6 句尤其重要,因為觸發詞放寬的代價從來不出現在正向案例上。
什麼時候要更新它:這支 skill 被叫錯、或該叫沒叫到的那一刻——把那句原話補成第 14 條,
標好它該不該觸發。一句在真實對話裡走錯的話,比十句想像出來的案例有用。同一趟摩擦也記進
你手上那張單可以改的那部分(SKILL-UTILITY,見 driving-work-to-done),兩者不重複:那裡記
「這一趟它幫到還是擋到」,這裡記「這句話該路由到哪」。
Reference Loading
| Situation | Load |
|---|---|
| Any run | review-pr-entry-fetch-flow.md, pr-input-resolver.md, workspace-config.yaml |
| Analysis | review-pr-analysis-flow.md, library-change-protocol.md as needed |
| Writing findings up | review-comment-form.md |
| Submit and notify | review-pr-submit-flow.md, scripts/validate-language-policy.sh, external-write-gate.md, github-slack-user-mapping.md |
| Re-review | review-pr-rereview-learning-flow.md, review-lesson-extraction.md |
Large PR 分批 review 可派 sub-agent。 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。 - 用
scripts/fetch-pr-info.sh <owner/repo> <pr_number> [--my-user <username>]取得 metadata、 files、review strategy、existing reviews、approval state、re-review signal。它只放行 open 且非 draft 的 PR——已合併、已關閉、還在 draft 的一律拒絕並說出是哪一種狀態。 打--help問得到用法。 - 讀 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。
What ships with it
22 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- evals/evals.json 2.2 KB
- references/external-write-gate.md 2.6 KB
- references/github-slack-user-mapping.md 1.8 KB
- references/library-change-protocol.md 9.0 KB
- references/pr-input-resolver.md 2.8 KB
- references/review-comment-form.md 3.0 KB
- references/review-lesson-extraction.md 6.8 KB
- references/review-pr-analysis-flow.md 2.7 KB
- references/review-pr-entry-fetch-flow.md 2.1 KB
- references/review-pr-rereview-learning-flow.md 3.6 KB
- references/review-pr-submit-flow.md 4.5 KB
- scripts/fetch-pr-info.sh 9.3 KB runs code
- scripts/lib/github-rest.sh 10 KB runs code
- scripts/lib/main-checkout.sh 1.9 KB runs code
- scripts/lib/validate_language_policy_1.py 11 KB runs code
- scripts/lib/workspace-config-root.sh 2.6 KB runs code
- scripts/polaris-external-write-gate.sh 13 KB runs code
- scripts/pr-state-snapshot.sh 20 KB runs code
- scripts/resolve-pr-work-source.sh 9.6 KB runs code
- scripts/selftests/submit-pr-review-selftest.sh 16 KB runs code
- scripts/submit-pr-review.sh 13 KB runs code
- scripts/validate-language-policy.sh 9.2 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago Changed · +11 lines f978b753777b
- 6d ago Changed · +1 lines c5b212ebda02
- 11d ago First seen · 125 lines · 296 tokens per session scan A 8a03ce200a09
review-pr is a skill published in the GitHub repository HsuanYuLee/polaris (5 stars, last pushed today), licensed MIT. It adds 296 tokens to every session and 2,144 once invoked, about $0.0015 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
resolve-pr-comments
Evaluate, fix, answer, and reply to GitHub pull request review comments and conversation comments. Handles both change requests (fix or skip) and reviewer questions (explain using reasoning recalled from past Claude Code transcripts). Use when the user asks to "resolve PR comments", "fix review comments", "address PR…
fetch-pr-comments
Fetch and summarize review feedback and conversation from a GitHub PR (unresolved review threads, review bodies, and PR conversation comments) without making changes. Use when the user asks to "fetch PR comments", "show PR comments", "check PR for unresolved comments", "list review comments", "what comments are on the…
reply-to-pr-threads
Draft, confirm, and post replies to GitHub PR review threads. Handles per-category reply formatting, re-fetches thread resolution state so auto-resolved threads are skipped, and posts via GraphQL. Use when the user asks to "reply to PR threads", "post PR thread replies", or "draft PR reply messages".
reply-to-pr-conversation
Draft, confirm, and post a single conversational reply to GitHub PR conversation comments (issue comments). The reply addresses all tracked items in one natural-prose message. Use when the user asks to "reply to PR conversation", "post PR conversation replies", or "draft PR conversation messages".
review-pr
Review a pull request by fetching PR comments, running a comprehensive code review, evaluating findings, and dispatching to implementation. Use when the user asks to "review PR", "review pull request", "review this PR", "check PR before merging", or "full PR review".
code-quality-review
Checklist and method for reviewing code quality — readability, maintainability, SOLID, DRY, performance, and backward compatibility. Use when asked to review code, a diff, a branch, or a merge request for quality, or before finalizing significant changes. For GitHub PR review use the built-in /review; for…