challenge-plans 是做什麼的?
在執行前,透過多智能體對抗式審查來強化計劃/規格,以減少返工。可插入 writing-plans → challenge-plans → executing-plans 的流程中。
使用時機(路由訊號)
- 輸入是單一草稿成品(規格/計劃/差異/設計文件/ADR)+ 意圖為「審查 / 找出缺陷 / 能否執行 / 強化 / 品質保證」→ 使用此技能。
- 智能體已完成某項工作,且即將要求使用者做決定或進行品質保證 → 先執行此技能,再呈現交叉審查建議。
- 輸入是**≥2 個選項需要選擇** → 使用同系列技能
weigh-options(深思/投票),而非此技能。
執行
# 從 PyPI 安裝(pip install challenge-plans)後,即可直接使用指令:
challenge-plans doctor # 先檢查適配器登入狀態
challenge-plans run <artifact> --type spec --profile standard --sink markdown # 審查計劃/規格
challenge-plans run <artifact> --type spec --profile standard --sink markdown --lang zh # 本地化輸出
# code-diff 閘門: git diff > change.diff && challenge-plans run change.diff --type diff --sink markdown
# 從原始碼目錄執行(非 pip 安裝):PYTHONPATH=src python3 -m challenge_plans.cli <args>
--type spec|diff|plan(decision評量仍待實現 — 刻意以退出碼 2 終止)。diff審查原始git diff;plan審查任何計劃(旅行、產品發佈、招聘——不限於開發規格),採用領域中立的失敗類型(遺漏成功標準 / 忽略的限制 / 未處理的風險 / 排序缺口 / 未說明的假設 / 目標錯位 / 不可逆性 / 無備援方案),並透過可行性·風險·目標對齊等透鏡進行評估。所有類型都使用相同的判決流程。--profile fast|standard|deep,--sink stdout|markdown,--enforce(非批准判決以非零退出碼退出;預設為諮詢模式,退出碼為 0)。--lang <code>(預設en):以使用者語言撰寫審查內容,例如--lang zh。請根據使用者語言設定此參數,使整份審查報告本地化;JSON 鍵值 / 列舉 /L12-15錨點則保持不變。等同於設定環境變數CHALLENGE_PLANS_LANG。- 輸出:一個 6 級判決 + 遺留的反對意見。
[sev✓]= 跨系列驗證者確認,可能硬性阻擋;[sev?]= 未經驗證,僅供諮詢。
若後端尚未就緒
challenge-plans 需要至少一個已登入的訂閱 CLI(它本身沒有模型,也不使用任何 API 金鑰)。如果 doctor 顯示沒有任何 ready 狀態的後端,不要盲目重試——詢問使用者,然後路由:
- 擁有 Claude 或 ChatGPT 訂閱,但缺少 CLI 或未登入 → 引導使用者按照
doctor輸出的確切步驟操作(安裝它,或執行claude→/login,或登入codex)。 - 目前無訂閱但想要一個 → 引導其訂閱(Claude Pro/Max 或 ChatGPT),然後安裝並登入 CLI。
- 沒有訂閱且不想要 → 說明 challenge-plans 若無訂閱則無法執行,並停止——不要陷入迴圈。
doctor 已輸出每個後端的修復方法以及上述指引;請將此資訊呈現給使用者,而非默默地失敗。
呈現給使用者
將判決結果 + 遺留的反對意見(✓ 已驗證 vs ? 未驗證) + 遺漏的必要欄位,以「我的交叉審查建議」的形式呈現,然後讓使用者做決定——而不是直接給出一個光禿禿的決定。完整說明請參閱 README.md。
與規劃技能搭配使用
- superpowers (
writing-plans → executing-plans):在writing-plans儲存計劃檔案後(預設路徑為docs/superpowers/plans/<date>-<feature>.md——請讀取實際路徑),在executing-plans之前執行challenge-plans run <plan> --type spec。它佔據了 superpowers 內建plan-document-reviewer同一個執行前審查環節,但作為多 CLI 跨系列進行的審查。將遺留的反對意見反饋回計劃中,然後再執行。 - grill-me (mattpocock/skills):互補且更早執行——它會在計劃形成時以互動方式與使用者對齊(無檔案輸出)。請在書面計劃/PRD 存在之後執行 challenge-plans。
- 沒有任何機制會自動呼叫 challenge-plans;由呼叫端的智能體將其接入流程中。
--type plan/decision評量仍待實現——目前對於類似計劃的散文,請使用--type spec。