/council
數個模型家族針對 一個產出物 進行限定回合審查,透過檔案與 Herdr 窗格(panes)溝通,絕不使用人類的剪貼簿。
腳本:node <此技能目錄>/scripts/council.mjs(<此技能目錄> 為此 SKILL.md 安裝所在目錄)。座位傳送機制:references/herdr-seats.md。
前置檢查(嚴格)
- 存在一個產出物檔案:計畫、規格、diff(
git diff > .ramos/council/review.diff)或一頁問題陳述。無產出物 → 先撰寫問題陳述,或停止。沒有產出物的審議委員會不會啟動。 herdr可用且設定HERDR_ENV=1,此外至少要有兩個來自不同家族的模型二進位檔(claude、codex、agy或gemini、opencode)。缺少時 → 印出每個模型的安裝說明並停止。- 使用者要求召開審議委員會,或
/crucible標記出架構分歧點。不要為例行工作召集。
決策流程
council.mjs init --artifact <檔案> --seats claude,codex,agy→ 印出run_id與執行目錄,內含round1.prompt.md和round2.prompt.md。- 座位:窗格是否已在執行?→ 重複使用。否則 → 依
references/herdr-seats.md啟動。你(主席)也是一個座位。在閱讀任何其他座位的檔案之前,先撰寫你的第一輪檔案。 - 傳送給每個座位:
Read <目錄>/round1.prompt.md and follow it exactly.(使用傳送文字,然後按 Enter,再重新讀取窗格以確認它已提交)。 - 輪詢
council.mjs status --dir <目錄>。只有以完全符合的完成標記結尾的檔案才算數。- 某個座位受到速率限制、當機或在你設定的截止時間前無回應 → 執行
council.mjs missing --dir <目錄> --round 1 --seat <座位> --reason "<原因>"。繼續處理其他座位。永遠不要無限期等待,也不要假裝它回答了。 - 每個回合需要至少 2 份完成的審查。如果能夠完成的數量更少,則從另一個家族安排替代座位,或停止並回報
blocked。僅記錄缺失座位永遠無法完成審議委員會。
- 某個座位受到速率限制、當機或在你設定的截止時間前無回應 → 執行
- 第一輪關閉 → 傳送
round2.prompt.md(交叉審問)。分配讓座位能產生建設性分歧的視角:一個攻擊複雜性與脆弱性,一個攻擊成本與驗證,一個捍衛可用性。 - 第二輪關閉 → 主席撰寫
<目錄>/SYNTHESIS.md:- 達成共識(所有座位,在讓步之後)
- 未達成共識(每個立場、其最有力的證據、真正的權衡)
- 留待人類決定的事項(最多 5 項,每項附帶建議答案)
- 每個事項的決策負責人
- 向人類呈報綜合報告。保留窗格以供後續追問。最多兩回合。只有在產生新的、更狹義的問題時,才進行第三回合。
規則
- 座位只撰寫自己的檔案。每個座位以其完成標記結束其檔案。
- 主席不編輯座位檔案,並將每個主張歸因於某個座位。
- 座位無法以測量數據支持的數值,在綜合報告中標註為未經驗證。
完成條件
council.mjs status 回報 complete: true(每個回合已關閉且至少有 2 份完成的審查,SYNTHESIS.md 存在,problems 為空),且人類已收到決策清單。否則回報 blocked 並附上 problems 清單。