debate-review について
debate-review は、2 つのモデルによる PR または MR のレビューを調整し、インラインコメント付きのレビューを 1 件投稿するスキルです。差分の確認やリクエストの編集を自ら行わず、Agent がレビューを進行する用途に向いています。
主な機能
- 012 つのレビュー担当による討論
- 02メイン担当が最終判断
- 03PR または MR にインラインコメント
- 04ローカル実行とドライラン
- 05承認なしのレビューを投稿
活用シーン
- 01変更を投稿する前のモデルレビュー
- 02フォージに接続せずローカル差分を確認
- 03公開前にライブレビューをプレビュー
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ amelnagdy/ review-skills --skill debate-reviewインストール後、Claude Code で/debate-reviewを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/prompts/review-debate.mdreview-main.mdreview-rebuttal.mdreferences/comment-format.mdschema.mdscripts/review-pr.mjsscripts/lib/diff.mjsdispatch.mjsforge.mjslocal.mjsrender.mjsshell.mjsvalidate.mjs詳細
debate-review
何かを投稿する前に、2つのモデルが議論します。メインレビュアーが問題を見つけ、ディベートレビュアーがそれらに反論し、独自の問題を追加することもあります。その後、メインレビュアーが最終判断を下し、インラインコメント付きのレビューが1件、PR または MR に投稿されます。ユーザー自身の gh、glab、または az アカウントから、承認ではないレビューまたはコメントとして投稿されます。承認も変更リクエストも行いません。
あなたはオーケストレーターです。コマンドを1つ実行して、結果を伝えます。差分を自分でレビューしたり、PR に手を加えたりはしません。
実行方法
node "<skill-dir>/scripts/review-pr.mjs" --local [--base <ref>]
node "<skill-dir>/scripts/review-pr.mjs" <pr-url | number> [--dry-run]
- ユーザーがレビューを希望していて、PR/MR の URL がない場合は、リポジトリ内(または
--repo-dir)から--localを実行してください。URL をでっち上げてはいけません。標準出力を伝えてください。--localはフォージに接続せず、UTF-8 以外の Git パスは損失を伴うデコードをせずに拒否します。 <pr-url>は、GitHub の/pull/N、GitLab の/-/merge_requests/N、または Azure DevOps の/_git/<repo>/pullrequest/NURL(dev.azure.comまたは従来の*.visualstudio.com)です。単独の番号は、cwd のoriginを基準に解決されます。これには Azure DevOps の https およびssh.dev.azure.com:v3/リモートも含まれます。--dry-runは、投稿せずに PR レビューをライブ表示します。--localとは併用できません。- Azure DevOps では、プロジェクトへのアクセス権がある状態で
azにログイン(az login)している必要があります。拡張機能は不要です。スクリプトはaz restを通じて REST API を呼び出します。Azure DevOps には単一のレビューオブジェクトがないため、レビューは N 個のインラインコメントスレッドと、クローズ済みのサマリースレッド1つになります。アラートの引用ブロックは通常の引用として表示されますが、問題なく読めます。 - レビュアーは、
review-mainとreview-debateという2つの delegate-skills レーンです。どちらかがない場合、スクリプトがその旨を知らせます。delegate-setupで追加してください。異なる2つの実装者を選んでください。2番目のモデルが1番目のモデルと同じ盲点を持たない場合にのみ、議論に価値があります(メインにclaudeまたはgrok、ディベートに高い effort のcodexを使う組み合わせがおすすめです)。一時的に変更する場合は、--main <implementer>または--debate <implementer>を渡してください。--read-onlyを備えた relay を持つ実装者のみが受け入れられます。この2つのレーンはレビュアー専用です。plan-debate レーンなど、ほかの作業に使うレーンを指定しないでください。 --checkは各レビュアーに1行の読み取り専用ブリーフを渡して実行し、役割ごとに理由とともにokまたはFAILを表示します。いずれかが失敗した場合は終了コード1になります。レーンを設定した後、各マシンで1回実行してください。これにより、PR が待たされる前に、レビュアーが未インストール、未ログイン、クォータ超過、またはサンドボックスによる拒否の状態にあることを検出できます。- 終了コード
3は、この head sha に対してすでに debate-review があることを意味します。再投稿するには--forceを付けて再実行してください。 - 実行には数分かかります。実装者セッションを2〜3回続けて実行するためです。バックグラウンドで実行し、完了したら表示された URL を報告してください。短い間隔でポーリングしないでください。
すべてのフラグ:--help。仕様:references/schema.md。投稿内容:references/comment-format.md。レビュアー向けブリーフは assets/prompts/ にあり、スクリプトが値を埋め込みます。読む必要はありません。
投稿後
投稿された各コメントには `` マーカーが付いています。babysit-pr は GitHub と GitLab のラウンド(検証、ブロッカーの修正、返信、解決)に対応しています。Azure DevOps の情報はまだ取得できないため、見つかった内容をユーザーに直接伝えてください。依頼がない限り、指摘事項に自分で対応しないでください。
成果物
~/.cache/debate-review/<owner>__<repo>/<N>/<head>/ には、run.json(3つすべてのドキュメント、タイミング、投稿内容)と、main/、debate/、final/ が保存されます。各ディレクトリには、送信されたブリーフと relay の result.json が入っています。
--local は代わりに ~/.cache/debate-review/local/<repo>/<branch>/<head>/ 以下に書き込みます。