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 pr-pickupgit 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/pr-pickup)<a href="https://agentmods.dev/skills/hsuanyulee/polaris/pr-pickup"><img src="https://agentmods.dev/badge/skills/hsuanyulee/polaris/pr-pickup/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/pr-pickup"><img src="https://agentmods.dev/badge/skills/hsuanyulee/polaris/pr-pickup.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.00248 | $0.02531 |
| Opus 5.5 | $0.00099 | $0.01012 |
| Sonnet 5.5 | $0.00050 | $0.00506 |
| Haiku 4.5 | $0.00025 | $0.00253 |
Grade A, and why
pr-pickup 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 1mo 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 — 229 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pr-pickup
從 Slack 訊息擷取 PR review 請求,把 PR 交出去修,完工後回 Slack thread 告知結果。
職責邊界:pr-pickup 只做協作傳遞(intake → 交付出去 → broadcast)。不讀 review comments、不改 code、不回覆 GitHub review。修 PR 這件事本身不歸它——那多半不用立案(改的是既有 assertion 底下的做法),直接修;若連成功的定義都要改,那是 refinement 的事。
它的 shared authority 應收斂在 intake artifact,而不是 prose 解析。Slack/PR 輸入的 canonical
解析結果由 $SKILL_DIR/scripts/resolve-pr-pickup-input.sh 定義;skill 只消費該 artifact,不能再手工
各寫一套 PR URL / thread context 判斷。
前置:這條線在哪個 org
resolve-pr-pickup-input.sh 讀 Slack thread 的時候要 --org,因為它要在那一串裡找出屬於
那個 org 的 PR URL。那個值問 request-pr-review 帶的那支命令,它列出這台機器上被宣告
的每一個 org:
bash "$SKILL_DIR/../request-pr-review/scripts/resolve-pr-context.sh" orgs
只有一個就用它,不只一個就從那串訊息裡的 PR URL 判。這裡不寫任何設定鍵:org 是誰宣告 的、宣告在哪,由那支命令回答,這一支不認得任何一家公司。
以前這裡寫「讀 workspace config,本步驟需要的值:github.org、slack.channels.ai_notifications」
——兩個鍵在任何一份 workspace-config.yaml 裡都不存在,$GITHUB_ORG 整支 skill 沒有人賦值,
而 slack.channels.ai_notifications 從頭到尾沒有任何一行讀它。
Bundled Authority
| Script | Role |
|---|---|
$SKILL_DIR/scripts/resolve-pr-pickup-input.sh |
canonical intake resolver:統一解析 direct PR URL、Slack URL、Slack thread context、以及 thread-derived PR URLs |
流程總覽
Step 0: 前置 config
Step 1: 解析 Slack 輸入 → PR URL + thread context
Step 2: 把 PR 交出去修 → 同步等待完成
Step 3: 根據結果組 Slack 回覆訊息
Step 4: 回 Slack thread
Step 1: 解析 Slack 輸入
先跑 shared intake resolver,而不是手工解析:
"$SKILL_DIR/scripts/resolve-pr-pickup-input.sh" \
--input "$USER_INPUT" \
--allow-empty-prs \
--format json
若 resolver 回傳 needs_slack_thread_read=true,再依 references/slack-pr-input.md 讀取
Slack thread,然後用同一支 script 完成第二階段解析:
"$SKILL_DIR/scripts/resolve-pr-pickup-input.sh" \
--input "$USER_INPUT" \
--org "$ORG" \
--slack-thread-file "$SLACK_THREAD_EXPORT" \
--format json
後續 Step 2-4 一律只吃這個 intake artifact,不再自行從原始訊息重解析 PR URL / thread context。
1a. 輸入型態
| 輸入 | 處理 |
|---|---|
Slack URL(*.slack.com/archives/*) |
讀取 Slack thread,提取 PR URL |
| 直接的 PR URL + Slack context 提示 | 使用 PR URL,從提示中取得 Slack thread 資訊 |
| 純文字無 PR URL | → Step 1c 錯誤處理 |
What ships with it
3 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.
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.
- 1mo ago Changed · +15 lines 605d5361566c
- 1mo ago First seen · 214 lines · 248 tokens per session scan A 7d63919a875f
pr-pickup is a skill published in the GitHub repository HsuanYuLee/polaris (5 stars, last pushed 2d ago), licensed MIT. It adds 248 tokens to every session and 2,531 once invoked, about $0.0010 per session on Opus 5.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
github-readme
Generate polished GitHub README.md files for Mick's repositories in his established voice and structure. Always trigger immediately when the user's message starts with "readme" or "gr". Also trigger on "write a readme", "generate readme", "readme for this repo", "document this repo", or any request to create or…
github-repo-architect
Convert a repository idea into a complete GitHub repository architecture. Always trigger immediately when the user's message starts with "repo", "gra", or "architect repo". Also trigger on "build a repo structure", "design a GitHub repo", "scaffold this repository", "create repository architecture", "turn this idea…
obsidian-workout-export
Export workout data to an Obsidian-formatted Markdown file. Always trigger immediately when the user types "owd". Also trigger on "export workout", "obsidian workout", "save workout to obsidian", or related requests to export workout data into Obsidian. Read the current conversation first before searching prior…
commit-optimization
Use when configuring settings.json to reduce fuse-commit-pro's context token usage.
Changelog Curator
Maintains and formats a CHANGELOG.md following Keep a Changelog conventions from git history or PR list.
PR Description Writer
Writes clear, thorough pull request descriptions from a diff or list of changes.