协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
cross-review-project【开发与工程】Conduct a structured cross-project code review between two Claude Code instances via the cross-review-mcp broker. Each agent reads its own codebase, reviews the peer's code, and engages in evidence-backed dialogue — with QSG scaling laws enforcing review quality through minimum bandwidth constraints and phase-gated progression.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
2 つの Claude Code インスタンスが、cross-review-mcp ブローカーを介した構造化された成果物交換を通じて互いのプロジェクトをレビューする。ブローカーは Quantized Simplex Gossip (QSG) スケーリング則を強制する — レビューバンドルは選択領域(Γ_h ≈ 1.67)に留まるため最低 5 つの所見を含まなければならず、これにより浅いコンセンサスが合意として通るのを防ぐ。
cross-review-mcp ブローカーが起動し、両インスタンスで MCP サーバーとして設定されているブローカーが起動し両インスタンスから到達可能であることを確認する。
claude mcp list | grep cross-review
get_status を呼んでブローカーが応答的で古いエージェントが登録されていないことを検証cross-review://protocol のプロトコルリソースを読む — レビュー次元と QSG 制約を記述した markdown ドキュメント期待結果: ブローカーが get_status に空のエージェントリストで応答する。プロトコルリソースが markdown として読める。
失敗時: ブローカーが設定されていなければ追加する: claude mcp add cross-review-mcp -- npx cross-review-mcp。前セッションからの古いエージェントがあれば、進む前に各々について deregister を呼ぶ。
このエージェントをブローカーに登録する。
register を呼ぶ:
agentId: 短く一意な識別子(例: プロジェクトディレクトリ名)project: プロジェクト名capabilities: ["review", "suggest"]get_status を呼んで登録を検証 — エージェントが phase "registered" で現れるはず"registered" で wait_for_phase を呼ぶ期待結果: 両エージェントがブローカーに登録された。get_status は phase "registered" の 2 エージェントを示す。
失敗時: register が "already registered" で失敗するなら、エージェント ID は前セッションから取られている。先に deregister を呼んでから再登録する。
自分のコードベースを読み、構造化されたブリーフィングをピアに送る。
Briefing 成果物を構成するsend_task を呼ぶ:
from: 自分のエージェント IDto: ピアのエージェント IDtype: "briefing"payload: JSON エンコードされたブリーフィング"briefing" で signal_phase を呼ぶ期待結果: ブリーフィングが送られフェーズが信号された。ブローカーはレビューに進む前にブリーフィング送信を強制する。
失敗時: send_task がブリーフィングを拒否する場合、from フィールドが登録済みエージェント ID と一致するか確認する。自分宛は拒否される。
ピアのブリーフィングを待ち、彼らのコードをレビューして所見を送る。
"briefing" で wait_for_phase を呼ぶpoll_tasks を呼んでピアのブリーフィングを取得するack_tasks を呼ぶ — これは必須(peek-then-ack パターン)pattern_transfer — ピアが採用しうる、自分のプロジェクトにあるパターンmissing_practice — ピアに欠けている実践(テスト、検証、エラー処理)inconsistency — ピアのコードベース内の内部矛盾simplification — 削減可能な不要な複雑性bug_risk — 潜在的ランタイム失敗またはエッジケースdocumentation_gap — 欠落または誤解を招くドキュメントid: 一意な識別子(例: "F-001")category: 上記 6 カテゴリのいずれかtargetFile: ピアのプロジェクト内のパスdescription: 何を見つけたかevidence: なぜこれが有効な所見か(コード参照、パターン)sourceAnalog(推奨): 自分のプロジェクトでそのパターンを示す等価物 — 真のクロスポリネーションの唯一の機構"review_bundle" と JSON エンコードされた所見配列で send_task を呼ぶ"review" で signal_phase を呼ぶ期待結果: レビューバンドルがブローカーに受け入れられる。所見が 5 未満なら拒否される。
失敗時: バンドルが所見不足で拒否されたなら、より深くレビューする。制約は浅いレビューが支配するのを防ぐために存在する。本当に 5 つの問題を見つけられないなら、このプロジェクトペアにクロスレビューが正しい道具か再考する。
自分のプロジェクトに関する所見を受け取り、証拠裏付けの判定で応答する。
"review" で wait_for_phase を呼ぶpoll_tasks を呼んで自分のプロジェクトに関する所見を取得するack_tasks を呼ぶFindingResponse を作る:
findingId: 所見の ID と一致verdict: "accept"(有効、対応する)、"reject"(無効、反証付き)、"discuss"(明確化が必要)evidence: なぜ受け入れる/拒否するか — 空であってはならないcounterEvidence(任意): 所見と矛盾する具体的なコード参照"response" ですべての応答を send_task で送る"dialogue" で signal_phase を呼ぶ注: "discuss" 判定はプロトコルでゲートされていない — 自動サブ交換ではなく、手動フォローアップ用のフラグとして扱う。
期待結果: すべての所見に証拠付き判定で応答した。空応答はブローカーに拒否される。
失敗時: 所見について意見が形成できない場合、追加で必要な文脈を説明する証拠付き "discuss" を既定とする。
受け入れた所見と計画した行動をまとめる統合成果物を作る。
"dialogue" で wait_for_phase を呼ぶSynthesis 成果物をコンパイル:
"synthesis" と JSON エンコードされた統合で send_task を呼ぶ"synthesis" で signal_phase を呼ぶ"complete" で signal_phase を呼ぶderegister を呼ぶ期待結果: 両エージェントが "complete" に到達。ブローカーは complete に進むのに最低 2 つの登録エージェントを要求する。
失敗時: ピアが既に登録解除されていても、ローカルで完了できる。受け取った所見から統合をコンパイルする。
"complete" フェーズに到達したpoll_tasks の後で ack_tasks が呼ばれたack_tasks を忘れる: ブローカーは peek-then-ack 配信を使う。タスクは承認まで queue に残る。ack を忘れると次のポールで重複処理を引き起こす。from パラメータを忘れる: send_task は自分のエージェント ID と一致する明示的な from フィールドを要求する。自分宛は拒否される。sourceAnalog をスキップ: sourceAnalog フィールドは任意だが、真のクロスポリネーションの唯一の機構 — 推奨しているパターンの 自分の 実装を示す。ソース類似物が存在するなら常に埋める。discuss をブロッキングとして扱う: プロトコルには未解決議論の解決を complete の条件とするものはない。discuss 判定はセッション後の手動フォローアップ用のフラグとして扱う。α ≈ 1 - reject_rate)し、カテゴリごとの受け入れ率を確認する。scaffold-mcp-server — ブローカー自体を構築または拡張するimplement-a2a-server — ブローカーが引き継ぐ A2A プロトコルパターンreview-codebase — 単独エージェントレビュー(このスキルはそれをクロスエージェント構造化交換へ拡張する)build-consensus — スワームコンセンサスパターン(QSG が理論基盤)configure-mcp-server — Claude Code でブローカーを MCP サーバーとして設定するunleash-the-agents — ブローカー自体を解析するために使える(バトルテスト済: 40 エージェント、10 仮説ファミリー)