すべてのスキル

caveman-review (JuliusBrussee/caveman)

コードレビューを指摘ごとに1行、位置・問題・修正案だけに絞って書きます。

caveman-review:コードレビューを、指摘ごとの短い行へと導きます(対照群 3.3、スキルあり 4.2、一文プロンプト 4.8)。トークンは同じですが、スキル自身の L<line> 行フォーマットが守られたのは一部の実行のみでした。フォーマットの一文プロンプトの方が高得点です。

状況次第安全

Codex CLI · gpt-6-astra

25.1 / 30

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

状況次第:リフト +0.90 が +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.9
出力品質
4.2
トークンと時間のコスト
5.0
インストールと移植性
4.0
安全性
4.0

セキュリティレビュー

安全

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

インストール

npx skills@latest add JuliusBrussee/caveman --skill caveman-review

ソース

固定コミット: 9b68f7ed12b05e7efaff18e65c5a3fc2849fd0a4

テスト済み: 2026-11-02

テスト内容

  • 小さなサービスモジュールのレビュー — マージする前に orders_service.py をレビューしてください。見つけた問題を最も重大なものから順に列挙してください。ファイルは変更しないでください。
  • 認証ヘルパーのレビュー — auth_handlers.py をレビューしてください。ログインフローのために書いたばかりです。問題を最も重大なものから順に列挙してください。ファイルは変更しないでください。
  • 文書化された標準と仕様に対する最新コミットのレビュー — 最新コミット(HEAD~1 以降の変更)を CODING_STANDARDS.md と SPEC.md に照らしてレビューしてください。すべての逸脱を最も重大なものから順に列挙してください。ファイルは変更しないでください。

長所

  • スキルなしと比べ平均スコアを 3.26 から 4.16 に引き上げ(+0.90)。
  • スキルは名前を出さずとも採用されました:スキルあり群 6/6 実行でスキルファイルが読み込まれました。
  • トークンのオーバーヘッドなし:スキルなしの 1.02 倍。

短所

  • 一文プロンプトは 4.83、スキルありは 4.16(-0.67)。
  • タスク・群ごとに n=2。1 ポイント未満の差はノイズです。

レビュー

専用の Windows テスト PC 上で Codex CLI 0.166(gpt-6-astra、低推論)、実行ごとに新規の一時プロジェクトと一時 HOME/TMPDIR/キャッシュを使用、スキルをインストール(スキルあり群)、スキルなし(対照群)、またはスキルの中核要件をプロンプト末尾に付けた一文に圧縮(一文プロンプト群)、タスクごとに各群 2 実行、ネットワーク無効、/tmp への書き込みはブロック。プロンプトはスキル名に一切言及しません(以下で注記する表現を除く)。小さな Python ファイルに仕込まれた問題点がそれぞれ 8 つあるレビュータスクが 3 つ:注文サービス(SQL インジェクション、認可の欠落、ハードコードされたキーのログ出力、金額を float で扱うなど)、認証ハンドラーのファイル、そして CODING_STANDARDS.md と SPEC.md に照らした最新コミットのレビュー。プロンプトはレビューを求め、最も重大なものから順に挙げ、ファイルは変更しないよう求めます。一文プロンプト群は行フォーマットと、言い逃れをしないルールを一文で述べます。

3群の比較

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

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

判定:状況次第(25.1 / 30)。 出典:JuliusBrussee/caveman、skills/caveman-review、コミット 9b68f7e に固定。インストール:npx skills@latest add JuliusBrussee/caveman --skill caveman-review。ライセンス: MIT(リポジトリの LICENSE)。

概要

caveman-review スキル(JuliusBrussee/caveman):簡潔なコードレビュースタイルです。指摘は 1 行に 1 件、L<line>: <problem>. <fix>. の形式で書き、任意の重大度プレフィックス(bug、risk、nit、q)、バッククォートで囲んだ正確なシンボル名、具体的な修正を伴い、ためらいや称賛、コードの動作の言い換えはしません。

テスト方法

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

それぞれ 8 個の問題点を仕込んだ小さな Python ファイルに対するレビュータスクが 3 つ:注文サービス(SQL インジェクション、認可の欠落、ログに記録されるハードコードされたキー、float での金額など)、認証ハンドラのファイル、そして CODING_STANDARDS.md と SPEC.md に対する最新コミットのレビュー。プロンプトはレビューを求め、最も重大なものから順に挙げ、変更はしないよう指示します。一文プロンプトは行形式と「ためらい禁止」ルールを述べます。

  1. 小さなサービスモジュールのレビュー — マージ前に orders_service.py をレビューしてください。見つけた問題を、最も重大なものから順に挙げてください。ファイルは変更しないでください。
  2. 認証ヘルパーのレビュー — auth_handlers.py をレビューしてください。ログインフローのために今書いたものです。問題を、最も重大なものから順に挙げてください。ファイルは変更しないでください。
  3. 文書化された標準と仕様に対する最新コミットのレビュー — 最新コミット(HEAD~1 以降の変更)を CODING_STANDARDS.md と SPEC.md に照らしてレビューしてください。すべての逸脱を、最も重大なものから順に挙げてください。ファイルは変更しないでください。

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

結果

第 3 群に与えた一文プロンプト:「各指摘を 1 行で L<line>: <problem>. <fix>. の形式に書き、任意の重大度プレフィックス(bug、risk、nit、q)、バッククォートで囲んだ正確なシンボル名、具体的な修正を添える。ためらい、称賛、前置きはせず、コードの動作の言い換えもしない。」

タスク対照群スコア一文プロンプトスキルあり対照群のトークン一文プロンプトのトークンスキルありのトークンスキル読み込み
t1-orders3.064.664.1574k64k61k2/2
t2-auth3.194.923.3173k64k88k2/2
t3-diff3.534.925.059k50k60k2/2

平均スコア:スキルなし 3.26 に対しスキルあり 4.16(差 +0.9)。1実行あたりのトークン:69k 対 70k(1.02x)。時間:56s 対 54s。一文プロンプト群:4.83(一文プロンプトに対するスキルの上積み:-0.67。一文プロンプト自身のスキルなしに対する上積み:+1.57)。一文プロンプトのトークンは 1実行あたり 60k なので、スキルは一文プロンプトの 1.17 倍のコストになります。

何が起きたか

  • 対照群 3.26、スキル 4.16、一文プロンプト 4.83(各 n=6)。仕込まれた問題の検出は全群で同程度(8 個中 5〜7 個。レート制限の欠落はほぼすべての実行で見落とし)。違いは主に形式と長さです。
  • 形式:対照群は 6 実行のいずれでも L<n>: の行形式を使いませんでした(注文レビューは太字の重大度を伴う番号付きリスト)。スキルはコミットレビュータスク(両実行で 5.0)と 1 回の注文実行で形式を満たしましたが、認証タスクでは行が番号と太字の重大度で始まったため、形式チェックが 2/2 で不合格となり、スコアは 3.3 にとどまりました。一文プロンプトはほぼすべてで合格しました。
  • 簡潔さ:対照群のレビューは注文・認証タスクで 233〜332 語(220 語で満点)。スキルの認証レビューも約 300 語でしたが、一文プロンプトはほぼすべての実行で上限を下回りました。
  • どの群もためらい表現は使いませんでした。トークン:1実行あたりスキル 70k、一文プロンプト 60k、対照群 69k(対照群の 1.01x)。スキルあり群 6/6 実行でスキルが読み込まれました。

評価項目スコア

評価項目スコア理由
1_output_quality4.16

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

2_lift_vs_no_skill2.9

スキルなしの 3.26 に対し +0.90 点(タスクごとに n=2。約 1 点未満の差はノイズ)。

3_trigger5.0スキルあり群 6/6 実行でスキルファイルが読み込まれました。
4_instructions_portability4SKILL.md のみ。
5_efficiency5トークン 1.02x(1実行あたり 70k 対 69k)、時間 0.96x(54s 対 56s)。
6_safety_hygiene4散文のみ。security.md を参照。

このテストの限界

  • 最終メッセージに対するルールベースのチェック:仕込まれた問題の検出、L<n> 形式の行頭正規表現、単語数、ためらい表現のリスト。修正の質は評価していません。
  • 形式の正規表現は各行の先頭について厳格です。'- L17 - High: ...' のような箇条書きは一致とみなされますが、太字の重大度を伴う番号付きリストは一致しません。
  • 1 つのチェック(「ファイルを変更していない」)はすべてで合格したため表示していません。
  • セルごとに n=2。小さなファイルです。
  • タスクごとに各群 n=2。約 1 点未満の差はノイズです。
  • ルールベースの採点はチェックが見られるものだけを測ります。好みや、結果が可能な限り最善かどうかは判断できません。

セキュリティ

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

結論

このスキルはレビューを「1 行 1 指摘」の簡潔なスタイルへ近づけ、追加コストなしで同じカバレッジを保ちますが、常に形式を守るわけではありません。形式を説明する一文のほうがここでは効果的だったため、その恩恵は「ガイドなし」に対するものであり、良いプロンプトに対するものではありません。

トランスクリプト

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

t1-orders control-1: スコア 3.02, トークン 65430, 秒 62.1, チェック 4/5, 開いたファイルなし
t1-orders control-2: スコア 3.1, トークン 82622, 秒 61.8, チェック 4/5, 開いたファイルなし
t1-orders oneliner-1: スコア 4.66, トークン 64873, 秒 59.1, チェック 5/5, 開いたファイルなし
t1-orders oneliner-2: スコア 4.66, トークン 64681, 秒 49.6, チェック 5/5, 開いたファイルなし
t1-orders treatment-1: スコア 4.83, トークン 50257, 秒 52.3, チェック 5/5, 開いたファイル caveman-review
t1-orders treatment-2: スコア 3.47, トークン 72971, 秒 62.1, チェック 4/5, 開いたファイル caveman-review
t2-auth control-1: スコア 3.3, トークン 82305, 秒 67.1, チェック 4/5, 開いたファイルなし
t2-auth control-2: スコア 3.08, トークン 64757, 秒 55.3, チェック 4/5, 開いたファイルなし
t2-auth oneliner-1: スコア 5.0, トークン 64677, 秒 57.0, チェック 5/5, 開いたファイルなし

18 実行、3 成果物

サンプル出力

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

- L17 — **High: Missing authorization.** `cancel_order` ignores `current_user`, allowing cancellation of another user’s order by ID (CWE-862). Require ownership or explicit administrative permission before updating. - L9 — **High: SQL injection.** `order_id` is interpolated directly into SQL; input such as `0 OR 1=1` changes the query and can retrieve an unrelated order (CWE-89). Use `WHERE id = ?` with bound parameters. - L4, L48 — **High: Credential exposure.** `API_KEY` is hardcoded and included in the successful-charge log, exposing it through source access and logs (CWE-798/CWE-532). Load it from a secret store, remove it from logs, and rotate it if genuine. - L47–55 — **High:** Every `charge` call reaches `NotImplementedError`, which is swallowed into `None`; no payment can succeed. Implement `send_to_gateway` and surface explicit payment failures. - L24, L26 — **Medium:** Discount thresholds contradict the docstring: exactly 100 receives no discount, and exactly 500 receives only 10%. Change both comparisons to `>=`. - L39–41 — **Medium:** Opening the export with `"w"` truncates an existing file before querying or serializing succeeds. Prepare the export first, then write through a temporary file and replace the destination. - L39–42 — **Medium:** The export file is never explicitly flushed or closed; completion depends on object cleanup. Use `with open(...)` so writes and closure complete before returning.

Pro を見る