pr-pickuplisted
Install: claude install-skill HsuanYuLee/polaris
# pr-pickup
從 Slack 訊息擷取 PR review 請求,dispatch 給 engineering revision mode 處理,完工後回 Slack thread 告知結果。
**職責邊界**:pr-pickup 只做協作傳遞(intake → dispatch → broadcast)。不讀 review comments、不改 code、不回覆 GitHub review、不做 lesson 萃取——這些全部由 engineering revision mode 負責。
它的 shared authority 應收斂在 intake artifact,而不是 prose 解析。Slack/PR 輸入的 canonical
解析結果由 `$SKILL_DIR/scripts/resolve-pr-pickup-input.sh` 定義;skill 只消費該 artifact,不能再手工
各寫一套 PR URL / thread context 判斷。
## 前置:讀取 workspace config
讀取 workspace config(參考 `references/workspace-config-reader.md`)。
本步驟需要的值:`github.org`、`slack.channels.ai_notifications`。
若 config 不存在,使用 `references/shared-defaults.md` �� fallback 值。
## 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: Skill tool 呼叫 engineering(傳 PR URL)→ 同步等待完成
Step 3: 根據 engineering 結果組 Slack 回覆訊息
Step 4: 回 Slack thread
```
---
## Step 1: 解析 Slack 輸入
先跑 shared intake resolver,而不是手工解析:
```bash
"$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 完成第二階段解析:
```bash
"$SKILL_DIR/scripts/resolve-pr-pickup-input.sh" \
--input "$USER_INPUT" \
--org "$GITHUB_ORG" \
--slack-thread