すべてのスキル

pr (mattpocock/skills)

レビュー担当者に向けて変更内容を伝えるプルリクエスト本文を書きます。

pr:純粋なフォーマットのスキルです。対照群は3セクションのPR本文を一切生成せず(1.7/5)、スキルと一文プロンプトはどちらも生成します(5.0 と 4.95)。追加トークンはありません。

推奨安全

Codex CLI · gpt-6-astra

29.0 / 30

スキルなしに対するリフト:+3.33 · 推奨 · 18 実行

推奨:合計 29.0/30 が 22 以上、出力品質 5.0 が 3.5 以上、リフト +3.33 が +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
スキルなしに対するリフト
5.0
出力品質
5.0
トークンと時間のコスト
5.0
インストールと移植性
4.0
安全性
5.0

セキュリティレビュー

安全

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

インストール

npx skills@latest add mattpocock/skills --skill pr

ソース

固定コミット: 4ae2317ddb22b046e26455e4f9c9b3aaaf62212d

テスト済み: 2026-11-02

テスト内容

  • キャッシュ用のPR本文 — プルリクエストを作成します。change.diff の変更内容の PR 本文を PR.md に書いてください。実行前後のテスト出力は tests_before.txt と tests_after.txt にあります。
  • カラム削除用のPR本文 — 私のプルリクエストをまとめてください。change.diff の変更内容の PR 本文を PR.md に書いてください。実行前後のテスト出力は tests_before.txt と tests_after.txt にあります。
  • コピー変更用のPR本文 — PR 説明文を書いてください。change.diff の変更内容の PR 本文を PR.md に書いてください。実行前後のテスト出力は tests_before.txt と tests_after.txt にあります。

長所

  • スキルなしと比べ平均スコアを 1.67 から 5.0 に引き上げ(+3.33)。
  • スキルは名前を出さずとも採用されました:スキルあり群 6/6 実行でスキルファイルが読み込まれました。
  • トークンのオーバーヘッドなし:スキルなしの 1.0 倍。
  • スキルありの絶対品質は高水準:5 点中 5.0。

短所

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

レビュー

専用の Windows テスト PC 上で Codex CLI 0.166(gpt-6-astra、低推論)、実行ごとに新規の一時プロジェクトと一時 HOME/TMPDIR/キャッシュを使用、スキルをインストール(スキルあり群)、スキルなし(対照群)、またはスキルの中核要件をプロンプト末尾に付けた一文に圧縮(一文プロンプト群)、タスクごとに各群 2 実行、ネットワーク無効、/tmp への書き込みはブロック。プロンプトはスキル名に一切言及しません(以下で注記する表現を除く)。3つのタスクは、いずれも「change.diff の変更内容の PR 本文を PR.md に書く」というもので、tests_before.txt / tests_after.txt が隣に置かれています。キャッシュの変更(戻せる変更)、カラムを削除するマイグレーション(戻せない変更)、コピーの変更。対照群にはその一文のみが与えられます。一文プロンプト群にはテンプレート全体を説明する一文が追加されます。スキルあり群にもフォーマットは伝えられません。

3群の比較

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

Codex CLI で 18 実行を計測し、LLM 判定なしのルールベースのチェックで採点。合計 29.0 / 30、判定は 推奨。

判定:推奨(29.0 / 30)。 ソース:mattpocock/skills、skills/engineering/pr、コミット 4ae2317 に固定。インストール:npx skills@latest add mattpocock/skills --skill pr。ライセンス: MIT(リポジトリの LICENSE)。

概要

pr スキル(mattpocock/skills)は、差分を固定の 3 部構成のプルリクエスト本文に変換します:概要(最小で有用な図、疑似コード、またはコールツリー)、根拠(テスト出力付きの 変更前:/変更後:)、マージの危険性(ドア: 一方通行または双方向、および一言の 影響範囲:)。プロジェクトの用語集の言葉で書きます。短い SKILL.md 1 つです。

テスト方法

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

3 つのタスクは、それぞれ「change.diff の PR 本文を PR.md に書く」というもので、tests_before.txt / tests_after.txt が隣にあります:キャッシュの変更(双方向のドア)、カラムを削除するマイグレーション(一方通行のドア)、コピーの変更。対照群にはその一文のみを与えます。一文プロンプト群には、テンプレート全体を明示する一文が 1 つ追加されます。スキルあり群にもフォーマットは伝えません。

  1. キャッシュの PR 本文 — プルリクエストを作成します。change.diff の変更の PR 本文を PR.md に書いてください。変更前/変更後のテスト出力は tests_before.txt と tests_after.txt にあります。
  2. カラム削除の PR 本文 — プルリクエストをまとめてください。change.diff の変更の PR 本文を PR.md に書いてください。変更前/変更後のテスト出力は tests_before.txt と tests_after.txt にあります。
  3. コピー変更の PR 本文 — PR の説明を書いてください。change.diff の変更の PR 本文を PR.md に書いてください。変更前/変更後のテスト出力は tests_before.txt と tests_after.txt にあります。

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

結果

第 3 の群に与えた一文プロンプト:"PR 本文を 3 つの短いセクションで書いてください:概要(最小で有用な図、疑似コード、またはコールツリー。前置きなし)、根拠(テスト出力付きの 変更前: と 変更後:)、マージの危険性(ドア: 一方通行または双方向、および一言の 影響範囲:)。用語集の言葉を使うこと。"

タスク対照群スコア一文プロンプトスキルあり対照群トークン一文プロンプトトークンスキルありトークンスキルの読み込み
t1-cache1.675.05.082k83k79k2/2
t2-migration1.674.835.082k91k79k2/2
t3-copy1.675.05.081k91k87k2/2

平均スコア:スキルなし 1.67 に対しスキルあり 5.0(差 +3.33)。1実行あたりのトークン:82k に対し 82k(1.00 倍)。所要時間 37 秒に対し 34 秒。一文プロンプト群:4.95(一文プロンプトに対するスキルの上乗せ:+0.05、スキルなしに対する一文プロンプトの上乗せ:+3.28)。一文プロンプトのトークンは 1実行あたり 89k で、スキルは一文プロンプトの 0.92 倍のトークンを消費します。

何が起きたか

  • 対照群 1.67、一文プロンプト 4.95、スキルあり 5.00(それぞれ n=6)。対照群は明快で正確な散文の PR を書きましたが、6 実行のいずれも 3 つのセクション、図や疑似コードのブロック、変更前/変更後のラベル、ドア、影響範囲を使いませんでした。モデルが推測できないフォーマットなので、フォーマットを伝えられた群は高得点になります。チェック群はフォーマット準拠を測定しており、文章の質ではありません。
  • スキルは名前を出さずともトリガーされ(6/6 読み込み)、一文プロンプトも同じ情報を伝えます。両者の差は 0.05 ポイントです(1 実行がテンプレートセクションの正規表現を外しました。マイグレーションの一文プロンプト実行は 3 セクション中 2 つしか一致しませんでした)。1実行あたりのトークンは対照群 82k、一文プロンプト 89k、スキルあり 82k で、オーバーヘッドはありません。
  • 判断の中身は、重要なところで正しく見えます。マイグレーションでは、スキルありの実行はドアを一方通行とし、コードを戻しても削除したカラムは復元できないと述べ、影響範囲を明示しました。キャッシュとコピーのタスクは双方向でした。対照群のマイグレーション PR も 0041 を先に適用するよう警告しましたが、ドアも影響範囲もなかったため、レビュアーが流し読みで見つけることはできません。
  • スキルはごく小さい(数行)ため、読み込みのコストはかかりません。その価値は、テンプレートを毎回貼り付けずに済むことです。

ディメンション別スコア

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

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

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

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

3_トリガー5.0スキルあり群 6/6 実行でスキルファイルが読み込まれました。
4_指示の移植性4テンプレート付きの短い SKILL.md 1 つ。スクリプトなし。
5_効率性5トークン 1.00 倍(1実行あたり 82k に対し 82k)、時間 0.93 倍(34 秒に対し 37 秒)。
6_安全性と衛生5テキストのみ。指摘なし。

本テストの限界

  • ルールベースのフォーマットチェックのみです(セクションの存在、変更前/変更後、ドアの値が正しいか、影響範囲、図/疑似コードブロック)。図が「最小で有用」か、文章が良いかは判定していません。
  • 対照群は構造上、フォーマットチェックで必ず不合格になります。この結果が示すのは、スキルが社内フォーマットの再記述を不要にすることであり、モデルがより良い PR を書くようになることではありません。
  • 小さなフィクスチャ 3 つ。実際のリポジトリや git 履歴はありません。
  • タスク・群ごとに n=2。1 ポイント未満の差はノイズです。
  • ルールベースの採点はチェックが検出できるものだけを測ります。センスや、結果が最善かどうかは判定できません。

セキュリティ

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

結論

この PR フォーマットが欲しいなら、スキルは最初の試行で無償で(82k トークン、スキルなしと同じ)提供します。テンプレートを一文として貼り付けるのと同等です。チーム全体で一貫させるためにインストールしてください。文章の質の向上は期待しないでください。

トランスクリプト

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

t1-cache control-1: スコア 1.67, トークン 82698, 秒 35.7, チェック 4/9, 開いたファイルなし
t1-cache control-2: スコア 1.67, トークン 82765, 秒 30.9, チェック 4/9, 開いたファイルなし
t1-cache oneliner-1: スコア 5.0, トークン 83654, 秒 32.5, チェック 9/9, 開いたファイルなし
t1-cache oneliner-2: スコア 5.0, トークン 84007, 秒 38.4, チェック 9/9, 開いたファイルなし
t1-cache treatment-1: スコア 5.0, トークン 70378, 秒 33.8, チェック 9/9, 開いたファイル pr
t1-cache treatment-2: スコア 5.0, トークン 88915, 秒 35.0, チェック 9/9, 開いたファイル pr
t2-migration control-1: スコア 1.67, トークン 81748, 秒 33.8, チェック 4/9, 開いたファイルなし
t2-migration control-2: スコア 1.67, トークン 82290, 秒 36.5, チェック 4/9, 開いたファイルなし
t2-migration oneliner-1: スコア 5.0, トークン 100647, 秒 37.7, チェック 9/9, 開いたファイルなし

18 実行、3 成果物

サンプル出力

SOTA · With the skill: PR.md (t1-cache, run 1, Codex)

## Summary Cache free slots by Room and day to avoid repeated database queries. Creating a Reservation invalidates the matching cache entry. ```text free_slots(Room, day) cache hit → return cached free slots cache miss → query Reservations → compute and cache free slots create Reservation insert Reservation → invalidate cache for Room and day ``` ## Evidence - **Before:** `tests/test_availability.py::test_free_slots_not_queried_twice` failed: `db.query called 2 times, expected 1`. Suite: 1 failed, 14 passed in 0.9s. **After:** Supplied test output reports 15 passed in 0.8s. ## Merge Danger **Door:** two-way Reverting restores a database query on each availability request; no schema or stored-data changes. **Blast Radius:** availability Cached free slots affect Members checking Room availability. Invalidation covers Reservation creation in the current process; other mutation paths or processes can leave cached results stale. The cache has no size limit or expiry.

Pro を見る