すべてのスキル

receiving-code-review (obra/superpowers)

コードレビューの指摘を鵜呑みにせず、技術的に正しいか確かめてから反映します。

receiving-code-review:エージェントが誤ったレビューコメントを盲目的に適用するのを防ぎます(対照群 3.4、スキル 3.7、一文プロンプト 4.2)。ただし料金タスクでは、正しい項目を実装する前に立ち止まって質問しました。トークンはほぼ同じです。

状況次第安全

Codex CLI · gpt-6-astra

23.9 / 30

スキルなしに対するリフト:+0.29 · 状況次第 · 18 実行

状況次第:リフト +0.29 が +1.0 未満。推奨には合計 22/30、出力品質 3.5、リフト +1.0 が必要です。

SOTA

合格

Codex でテスト済み。

カバー対象 Codex, Claude Code

Codex CLI 0.166(SOTA ティア):採点対象 18 実行。当ティアのルールでは、ここでの合格は Claude Code もカバーします。第2ティアについては何も述べません。

スコア

各ディメンションは 0〜5 点で、6 つの合計が 30 点満点の合計スコアになります。すべてのディメンションで 5 が最良です。コスト 5 は低コストで高速、インストール 5 は簡単であることを意味します。

トリガーの信頼性
5.0
スキルなしに対するリフト
2.3
出力品質
3.7
トークンと時間のコスト
5.0
インストールと移植性
4.0
安全性
4.0

セキュリティレビュー

安全

静的スキャン:CRITICAL 0 / HIGH 0 / MEDIUM 0。手動レビュー:ネットワーク無効のサンドボックスで実行しても安全(指摘なし)。クリーンなスキャン結果はスキルの安全性を証明しません。

インストール

npx skills@latest add obra/superpowers --skill receiving-code-review

ソース

固定コミット: 2ce8aa15d05bd57213e6f746f953aafb7ded7a8b

テスト済み: 2026-11-02

テスト内容

  • 誤ったデッドコード指摘のあるレビュー — pricing.py について REVIEW.md のレビューフィードバックに対処してください。テスト: python -m unittest。
  • numpy と丸めに関する誤った提案のあるレビュー — report.py について REVIEW.md のレビューフィードバックに対処してください。テスト: python -m unittest。
  • リネームと時期尚早なロックのあるレビュー — inventory.py について REVIEW.md のレビューフィードバックに対処してください。テスト: python -m unittest。

長所

  • スキルは名前を出さずとも採用されました:スキルあり群 6/6 実行でスキルファイルが読み込まれました。
  • トークンのオーバーヘッドなし:スキルなしの 1.02 倍。

短所

  • スキルなしに対する有意なリフトなし(+0.29、ノイズの範囲内)。
  • 一文プロンプトは 4.21、スキルありは 3.66(-0.55)。
  • テスト上の注意:料金タスクではスキルの設計上の挙動が減点されます。スキルは実装前に立ち止まって質問しますが、チェックは有効な項目を一括で実装することにのみ加点します。質問されることを好むレビュアーならこのスキルをより高く評価するでしょう。そのため一文プロンプトはスキルを 0.55 上回りました。
  • タスク・群ごとに n=2。1 ポイント未満の差はノイズです。

レビュー

専用の Windows テスト PC 上で Codex CLI 0.166(gpt-6-astra、低推論)、実行ごとに新規の一時プロジェクトと一時 HOME/TMPDIR/キャッシュを使用、スキルをインストール(スキルあり群)、スキルなし(対照群)、またはスキルの中核要件をプロンプト末尾に付けた一文に圧縮(一文プロンプト群)、タスクごとに各群 2 実行、ネットワーク無効、/tmp への書き込みはブロック。プロンプトはスキル名に一切言及しません(以下で注記する表現を除く)。3つの小さな Python モジュール(pricing、report、inventory)。それぞれに、正しい項目と誤った・不明瞭な項目が混在するコメントを記した REVIEW.md があります(例: まだ使われている関数の削除、Redis キャッシュ、「もっと堅牢にする」、利用できない環境での numpy、呼び出し元を壊すリネーム)。プロンプトは「REVIEW.md のレビューフィードバックに対処する」という指示とテストコマンドのみです。一文プロンプトは「実行前に評価する」原則を述べます。

3群の比較

群平均スコア(0〜5)1実行あたりのトークン
スキルなし3.3884k
一文プロンプト4.2190k
スキルあり3.6686k

Codex CLI で 18 実行を計測し、LLM 判定なしのルールベースのチェックで採点。合計 23.9 / 30、判定は 状況次第。

開示事項 pricing タスクは、スキルの設計上の挙動(実装前に立ち止まって質問する)に対して減点します。一方でチェックは、有効な項目を一括で実装することのみを加点します。質問されることを好むレビュアーなら、このスキルをより高く評価するでしょう。一文プロンプトがこのスキルを 0.55 上回ったのはそのためです。

判定:状況次第(23.9 / 30)。 ソース:obra/superpowers、skills/receiving-code-review、コミット 2ce8aa1 に固定。インストール:npx skills@latest add obra/superpowers --skill receiving-code-review。ライセンス: MIT(リポジトリの LICENSE)。

概要

receiving-code-review スキル(obra/superpowers)は、コードレビューのフィードバックへの対応方法を定めます:各コメントをコードと照合して検証する、正しいものだけを実装する、誤りや不要な項目には具体的な理由を挙げて反論する、不明な点は質問する、そしておざなりの同意をしない。何かが不明な場合は 'STOP - do not implement anything yet' と述べます。

テスト方法

専用の Windows テスト PC 上で Codex CLI 0.166(gpt-6-astra、低推論)、実行ごとに新規の一時プロジェクトと一時 HOME/TMPDIR/キャッシュを使用、スキルをインストール(スキルあり群)、スキルなし(対照群)、またはスキルの中核要件をプロンプト末尾に付けた一文に圧縮(一文プロンプト群)、タスクごとに各群 2 実行、ネットワーク無効、/tmp への書き込みはブロック。プロンプトはスキル名に一切言及しません(以下で注記する表現を除く)。

3 つの小さな Python モジュール(pricing、report、inventory)それぞれに、正しい項目と誤り・不明瞭な項目が混在するコメントの REVIEW.md を用意しました(例:まだ使われている関数の削除、Redis キャッシュ、'make this more robust'、利用できない環境での numpy、呼び出し側を壊すリネーム)。プロンプトは「REVIEW.md のレビューフィードバックに対応する」とテストコマンドのみです。一文プロンプトは、行動前に評価する原則を述べます。

  1. 誤ったデッドコード指摘を含むレビュー — pricing.py について、REVIEW.md のレビューフィードバックに対応してください。テスト:python -m unittest。
  2. 誤った numpy と丸めの提案を含むレビュー — report.py について、REVIEW.md のレビューフィードバックに対応してください。テスト:python -m unittest。
  3. リネームと時期尚早なロックを含むレビュー — inventory.py について、REVIEW.md のレビューフィードバックに対応してください。テスト:python -m unittest。

採点はプログラム的(隠しテスト/仕込み問題の検出/制約チェック/該当する場合はレンダリング+OCR)で、実行ごとに 0〜5 点。スコアはどの LLM 判定者も決めていません。

結果

第 3 の群に与えた一文プロンプト:"各レビューコメントを行動前に技術的に評価してください:コードと照合し、正しいものだけを実装し、誤りや不要なものには具体的な理由を挙げて反論し、不明な点は質問し、'you're absolutely right' のようなおざなりの同意から始めないこと。"

タスク対照群スコア一文プロンプトスキルあり対照群トークン一文プロンプトトークンスキルありトークンスキルの読み込み
t1-pricing4.54.52.8684k101k62k2/2
t2-report3.884.624.6283k84k91k2/2
t3-inventory1.753.53.584k83k102k2/2

平均スコア:スキルなし 3.38 に対しスキルあり 3.66(差 +0.29)。1実行あたりのトークン:84k に対し 86k(1.02 倍)。所要時間 41 秒に対し 34 秒。一文プロンプト群:4.21(一文プロンプトに対するスキルの上乗せ:-0.55、スキルなしに対する一文プロンプトの上乗せ:+0.83)。一文プロンプトのトークンは 1実行あたり 90k で、スキルは一文プロンプトの 0.95 倍のトークンを消費します。

何が起きたか

  • 対照群 3.38、スキルあり 3.66、一文プロンプト 4.21(それぞれ n=6)。スコアは、有効な項目の隠しテスト、誤った項目が適用されたか、最終メッセージが技術的な理由で反論しているかを組み合わせたものです。
  • 在庫タスク:対照群は 2/2 実行で誤ったリネームを適用し(それぞれ壊れたパターンが 11 件一致)、6 つの隠しテスト中 0 件しか合格しませんでした。スキルありと一文プロンプトは両方の実行で 3.5 を取り、リネームを適用しませんでした。これが最も明確な利点です。
  • 価格タスク:対照群 4.0 と 5.0、一文プロンプト 4.5、スキルありは両方の実行で 2.86。スキルありの最終メッセージは、レガシー関数がまだ invoice.py で使われており Redis は不要だと正しく述べています。しかし、ある項目('make this more robust')が不明瞭だったため、スキルの 'STOP - do not implement anything yet' に従ってファイルを変更せず、質問を返しました。その結果、有効な項目の隠しテストは 7 件中 4 件しか合格しませんでした。
  • レポートタスク:スキルあり 4.25 と 5.0、一文プロンプト 4.25 と 5.0、対照群 3.5 と 4.25。誤った項目への理由付きの反論は、どの群にとっても弱点でした(numpy はほとんどの実行で見落とされました)。
  • どの群もおざなりの同意で始めませんでした。トークンはほぼ同じです(1実行あたりスキルあり 86k、一文プロンプト 90k、対照群 84k)。スキルはスキルあり群 6/6 実行で読み込まれました。

ディメンション別スコア

ディメンションスコア理由
1_出力品質3.66

スキルありの平均スコア 3.66/5(プログラム的チェック。タスク別の表を 参照)。

2_スキルなしに対するリフト2.29

スキルなし 3.38 に対して +0.29 ポイント(タスクごとに n=2。約 1 ポ イント未満の差はノイズ)。

3_トリガー5.0スキルあり群 6/6 実行でスキルファイルが読み込まれました。
4_指示の移植性4superpowers 形式の SKILL.md。
5_効率性5トークン 1.02 倍(1実行あたり 86k に対し 84k)、時間 0.84 倍(34 秒に対し 41 秒)。
6_安全性と衛生4テキストのみ。security.md を参照。

本テストの限界

  • 価格タスクのスコアは、スキルの意図的な「停止して質問する」振る舞いを減点します。人間はその振る舞いを好むかもしれません。チェックは単に、有効な項目が 1 回のパスで実装されるかを見ています。
  • 最終メッセージの再現チェックと、有効な項目の隠しユニットテストです。変更のコード品質は判定していません。
  • 各フィクスチャの反論用正規表現は、他の妥当な言い回しを見落とす可能性があります。
  • セルごとに n=2。小さなモジュールです。
  • タスク・群ごとに n=2。1 ポイント未満の差はノイズです。
  • ルールベースの採点はチェックが検出できるものだけを測ります。センスや、結果が最善かどうかは判定できません。

セキュリティ

security.md を参照。スキャン:CRITICAL 0 / HIGH 0 / MEDIUM 0。判定:実行しても安全(ネットワーク無効のサンドボックス)。クリーンなスキャン結果はスキルの安全性を証明しません。

結論

スキルは誤ったコメントの適用を防ぎます(在庫)が、価格のケースではエージェントを停止させます。そのため、無ガイドに対する正味の利得は小さく、同じ原則を述べた一文の方がここでは高得点でした。推測せず質問させたいなら価値があります。1 回のパスで済ませたいなら価値はありません。

トランスクリプト

実行ログ:receiving-code-review (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.)
列:タスク、群-回、スコア(0-5)、トークン、秒、合格したチェック、エージェントが開いたスキルファイル。

t1-pricing control-1: スコア 4.0, トークン 85197, 秒 42.6, チェック 3/4, 開いたファイルなし
t1-pricing control-2: スコア 5.0, トークン 83652, 秒 43.0, チェック 4/4, 開いたファイルなし
t1-pricing oneliner-1: スコア 4.5, トークン 101150, 秒 36.6, チェック 4/4, 開いたファイルなし
t1-pricing oneliner-2: スコア 4.5, トークン 102032, 秒 46.3, チェック 4/4, 開いたファイルなし
t1-pricing treatment-1: スコア 2.86, トークン 53744, 秒 22.9, チェック 2/4, 開いたファイル receiving-code-review
t1-pricing treatment-2: スコア 2.86, トークン 71964, 秒 26.2, チェック 2/4, 開いたファイル receiving-code-review
t2-report control-1: スコア 3.5, トークン 83153, 秒 37.1, チェック 3/4, 開いたファイルなし
t2-report control-2: スコア 4.25, トークン 83546, 秒 35.9, チェック 3/4, 開いたファイルなし
t2-report oneliner-1: スコア 5.0, トークン 83745, 秒 34.1, チェック 4/4, 開いたファイルなし

18 実行、3 成果物

サンプル出力

SOTA · With the skill: final message (t1-pricing, run 1, Codex)

Items 1–2 are clear: normalize coupon case and reject negative quantities. Item 3 is incorrect: `invoice.py` calls `legacy_fee`; deleting it would break invoicing. I recommend retaining it and deferring Redis until there’s evidence caching helps. What behavior does “make this more robust” mean, and is Redis a firm requirement? No files changed. Baseline `python -m unittest`: 2 tests passed. The [receiving-code-review skill](.agents/skills/receiving-code-review/SKILL.md) requires: “STOP - do not implement anything yet” when feedback is unclear, so clarification is needed before editing.

Pro を見る