council は何をしますか?
複数のモデルファミリーが、1つのアーティファクトを制限されたラウンドで審査します。ファイルとHerdrペインを通じて会話し、人間のクリップボードを経由することはありません。
スクリプト: node <this skill dir>/scripts/council.mjs (<this skill dir> = このSKILL.mdがインストールされているディレクトリ) シート転送: references/herdr-seats.md
事前準備 (厳格)
- アーティファクトファイルが存在すること: 計画、仕様、差分 (
git diff > .ramos/council/review.diff)、または1ページの問題提起。アーティファクトがない場合は、まず問題文を書くか、停止します。アーティファクトのない評議会は開始されません。 herdrが利用可能でHERDR_ENV=1が設定されていること。さらに、異なるファミリーから少なくとも2つのハーネスバイナリ (claude、codex、agyまたはgemini、opencode) が利用可能であること。不足している場合は、それぞれのインストール手順を表示して停止します。- ユーザーが評議会を依頼したか、
/crucibleがアーキテクチャ上の分岐を検出した場合のみ開始します。ルーティンワークには招集しません。
決定木
council.mjs init --artifact <file> --seats claude,codex,agy→ 実行時にrun_idと、round1.prompt.mdおよびround2.prompt.mdを含む実行ディレクトリを出力します。- シート: ペインは既に実行中ですか? → それを再利用します。そうでない場合 →
references/herdr-seats.mdに従って起動します。あなた(議長)も1つのシートです。他のシートのファイルを読む前に、自分のラウンド1のファイルを書き終えてください。 - 各シートに送信:
Read <dir>/round1.prompt.md and follow it exactly.(send-text、次にEnter、そしてペインを再度読み込んで送信されたことを確認)。 council.mjs status --dir <dir>で状況を確認します。正確な完了マーカーで終わっているファイルのみがカウントされます。- シートがレート制限、クラッシュ、または設定した期限までに応答がない場合 →
council.mjs missing --dir <dir> --round 1 --seat <s> --reason "<why>"を実行します。他のシートで続行します。永遠に待ったり、応答したふりをしてはいけません。 - 各ラウンドでは、少なくとも2つの完了したレビュー が必要です。それより少ない場合、別のファミリーから代替シートを配置するか、停止して
blockedを報告します。不足シートを記録するだけでは評議会は完了しません。
- シートがレート制限、クラッシュ、または設定した期限までに応答がない場合 →
- ラウンド1が終了 →
round2.prompt.md(反対尋問)を送信します。シートが生産的に意見を異にするようなレンズを割り当てます。1つは複雑性と脆弱性を攻撃、1つはコストと検証を攻撃、1つはユーザビリティを擁護します。 - ラウンド2が終了 → 議長が
<dir>/SYNTHESIS.mdを書きます:- 合意(全シート、譲歩の後)
- 不同意(各立場、その最も強力な証拠、実際のトレードオフ)
- 人間への決定事項(最大5つ、各々に推奨回答付き)
- 各項目の 決定責任者
- 統合結果を人間に提示します。フォローアップのためにペインを生きたままにしておきます。2ラウンドが上限です。新しい、より絞り込んだ質問がある場合のみ、3ラウンド目を行います。
ルール
- シートは自分のファイルのみを作成します。各シートはファイルを自分のマーカーで終了します。
- 議長はシートのファイルを編集せず、すべての主張をシートに帰属させます。
- シートが測定で裏付けられない数値は、統合結果で未検証とラベル付けされます。
完了条件
council.mjs status が complete: true を報告する(すべてのラウンドが少なくとも2つの完了レビューで終了、SYNTHESIS.md が存在、problems が空)こと、かつ人間が決定リストを入手していること。そうでない場合は blocked と problems リストを報告します。