adversarial-review について
adversarial-reviewは、反対側のモデルのCLIでレビュアーを起動し、作業を検証するレビュー用スキルです。指摘をまとめて結論を示し、対象には変更を加えません。
主な機能
- 01反対側モデルのCLIでレビューを実行
- 02変更規模に応じたレビュアー構成
- 03原則に基づくレビュー用プロンプト
- 04結論とリード判断の統合
活用シーン
- 01リリース前の変更内容への異論検討
- 02作業が意図を満たすかの確認
- 03異なる視点からの指摘の統合
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pedronauck/ skills --skill adversarial-reviewインストール後、Claude Code で/adversarial-reviewを入力して読み込まれたか確認します。
同梱ファイルreferences/reviewer-lenses.md
詳細
敵対的レビュー
反対側のモデルでレビュアーを起動し、作業に異議を唱えさせます。レビュアーは、脳の原則に基づく異なる観点からレビューします。成果物は統合された判定です。変更は加えないでください。
**厳守事項:**レビュアーは、反対側のモデルの CLI(codex exec または
claude -p)を通じて実行する必要があります。サブエージェント、Agent ツール、または内部の委任メカニズムをレビュアーとして使用しないでください。それらは あなた自身の モデルで実行されるため、目的に反します。
ステップ 1 — 原則を読み込む
brain/principles.md を読みます。すべての [[wikilink]] をたどり、リンク先の原則ファイルをそれぞれ読みます。
これらがレビュアーの判断基準になります。
ステップ 2 — 範囲と意図を特定する
コンテキスト(最近の差分、参照されている計画、ユーザーメッセージ)からレビュー対象を特定します。
意図、つまり作者が達成しようとしていることを特定します。これは重要です。レビュアーが検証するのは、作業が 意図を適切に達成しているか であり、意図自体が正しいかどうかではありません。先に意図を明示してください。
変更規模を評価します。
| 規模 | しきい値 | レビュアー |
|---|---|---|
| 小 | 50 行未満、1~2 ファイル | 1 人(懐疑論者) |
| 中 | 50~200 行、3~5 ファイル | 2 人(懐疑論者+アーキテクト) |
| 大 | 200 行以上または 5 ファイル以上 | 3 人(懐疑論者+アーキテクト+ミニマリスト) |
レンズの定義については references/reviewer-lenses.md を読みます。
ステップ 3 — モデルを判定してレビュアーを起動する
レビュアーの出力用に一時ディレクトリを作成します。
REVIEW_DIR=$(mktemp -d /tmp/adversarial-review.XXXXXX)
自分がどのモデルかを判定し、反対側のモデルでレビュアーを起動します。
あなたが Claude の場合 → codex exec で Codex のレビュアーを起動します。
codex exec --skip-git-repo-check -o "$REVIEW_DIR/skeptic.md" "prompt" 2>/dev/null
レビュアーがテストを実行する必要がある場合に限り、--profile edit を使用します。デフォルトは読み取り専用です。
run_in_background: true で実行し、block: true, timeout: 600000 を指定した TaskOutput で監視します。
あなたが Codex の場合 → claude CLI で Claude のレビュアーを起動します。
claude -p "prompt" > "$REVIEW_DIR/skeptic.md" 2>/dev/null
run_in_background: true で実行します。
各出力ファイルにはレンズ名を付けます:skeptic.md、architect.md、minimalist.md。
レビュアープロンプトのテンプレート
各レビュアーには、次の内容を含む単一のプロンプトを渡します。
- 明示した意図(ステップ 2 で示したもの)
- 割り当てられたレンズ(
references/reviewer-lenses.mdの全文) - そのレンズに関連する原則(要約ではなくファイルの内容)
- レビュー対象のコードまたは差分
- 次の指示:「あなたは敵対的レビュアーです。あなたの役割は、作業を肯定することではなく、実際の問題を見つけることです。具体的に、ファイル名、行番号、具体的な失敗シナリオを挙げてください。指摘ごとに重大度を評価してください:高(リリースを妨げる)、中(修正すべき)、低(留意する価値がある)。出力ファイルに、番号付きの Markdown リストで指摘を記述してください。」
すべてのレビュアーを並行して起動します。
ステップ 4 — 検証して判定を統合する
レビュアーの出力を読む前に、使用した CLI を記録し、出力ファイルが存在することを確認します。
echo "reviewer_cli=codex|claude"
ls "$REVIEW_DIR"/*.md
出力ファイルが欠落しているか空の場合は、その失敗を判定に記載します。レビュアーを黙って省略してはいけません。
$REVIEW_DIR/ から各レビュアーの出力ファイルを読み込みます。重複する指摘をまとめます。
単一の判定を作成します。
## Intent
<what the author is trying to achieve>
## Verdict: PASS | CONTESTED | REJECT
<one-line summary>
## Findings
<numbered list, ordered by severity (high → medium → low)>
For each finding:
- **[severity]** Description with file:line references
- Lens: which reviewer raised it
- Principle: which brain principle it maps to
- Recommendation: concrete action, not vague advice
## What Went Well
<1–3 things the reviewers found no issue with — acknowledge good work>
判定の基準:
- PASS — 重大度の高い指摘がない
- CONTESTED — 重大度の高い指摘があるが、レビュアー間で意見が一致していない
- REJECT — 重大度の高い指摘について、レビュアー間で意見が一致している
ステップ 5 — 判断を示す
レビュアーの内容を統合した後、自分自身でも判断します。明示した意図と脳の原則を基準として、どの指摘を受け入れ、どの指摘を退けるか、そしてその理由を述べます。レビュアーは意図的に敵対的な設計です。すべての指摘に対応する必要があるわけではありません。誤検知、行き過ぎ、実質ではなくスタイルを問題視している指摘を明確に示してください。
判定に次の内容を追記します。
## Lead Judgment
<for each finding: accept or reject with a one-line rationale>