ai-reviewlisted
Install: claude install-skill SanHsien/agent-astromech
# /ai-review — 跨模型二審
把剛做完的東西(程式碼、文案、研究報告)交給**另一個模型家族**看一眼,
把它的意見**消化進**你的最終回報 —— 而不是自己審自己。
> 🤖 Astromech 時刻:R2 與 C-3PO 吵了六集,但每次都是那個「跟你看法不同的傢伙」
> 補上你漏掉的那一半。自己檢查自己,只會確認自己本來就相信的事。
## 為什麼需要
自審有結構性上限:**判準是自己定的,推理自洽就過關**。同一個模型跑「再檢查���次」,
多半只會把原本的結論換句話說 —— 它沒有理由懷疑自己的前提。
換一個模型家族來看,它不受你的推理路徑約束,會抓到你抓不到的東西:
被自己判成「顯然沒問題」的假設、沒標��源的宣稱、會反轉結論的漏洞。
這支 skill 是 [`damage-report`](../damage-report/SKILL.md) 的**升級路徑**:
damage-report 是自審五問,接上 ai-review 就變成**自審+異質視角**。
## 動作
1. **決定送什麼**:要被審的那份東西(檔案,或用 `-` 讀 stdin)。
🔒 送出去就是給第三方模型看 —— 憑證、金鑰、個資、客戶資料**自己判斷不要送**。
2. **選 rubric**:`code`(程式碼)/`copy`(對外文案)/`research`(研究與決策文件),
或直接給你自己的 rubric 檔路徑。
3. **跑**:
```bash
<本skill目錄>/scripts/ai-review.sh <檔案> --rubric code --context "這東西要解什麼"
```
常用選項:`--model`/`--effort low|medium|high`/`--timeout <秒>`(預設 600)/`--strict`/`--soft-fail`/`--no-save`。
⚠️ **一律用完整路徑呼叫,不要打裸的 `ai-review`** —— `ai-review` 是個很容易撞名的名字,
你的 `PATH` 上可能已經有另一支同名執行檔(別的工具、你自己寫的、或這支 skill 的私人變體)。
打裸命令名會叫到那一支,而且它可能**看起來也在做二審**,你不會發現叫錯了。
4. **看狀態**:除用法錯誤(exit 1,訊息在 stderr)外,stdout 最後一行一定是 `AI_REVIEW_STATUS: <狀態>`。
- `ok` → 進第 5 步。
- `skipped_*` → **本次沒有二審**(沒裝/沒登入);腳本已在畫面上印好逐步引導,
照著做或跳過都行。**回報時明講「本次僅自審」**,不要假裝審過。
- `failed_*` → 後端出錯(額度/網路/逾時/政策/版本/空回覆),原始錯誤已印在畫面上。
5. **消化,不要轉述**:把二審意見**併進**你原本的回報(哪幾條採納、哪幾條不採納與理由),
🚫 不要另開一段「二審說……」把責任外包給它 —— 判斷還是你的。
## 狀態與退出碼
**設計原則:狀態走 stdout,退出碼只分「真失敗」。**
沒裝二審後端是**預期中的降級**,不是錯誤 —— 若它回非零,在 `set -e`、skill runner
或 `$(…)` 裡會直接中止上層流程,「正常降級」根本輪不到人處理。
| 狀態 | 意思 |