すべてのスキル

domain-modeling (mattpocock/skills)

プロジェクトのドメインモデルを育て、用語集とアーキテクチャ決定記録を整えます。

domain-modeling:平易な『用語集をセットアップ/この決定を記録』という依頼を、短い GLOSSARY.md + ADR 形式に変換します(対照群 2.8、スキルあり 5.0)。一文プロンプトは 4.6。トークンのオーバーヘッドなし。

推奨安全

Codex CLI · gpt-6-astra

28.2 / 30

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

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

セキュリティレビュー

安全

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

インストール

npx skills@latest add mattpocock/skills --skill domain-modeling

ソース

固定コミット: 4ae2317ddb22b046e26455e4f9c9b3aaaf62212d

テスト済み: 2026-11-02

テスト内容

  • 多義語から用語集を作成 — 当社の図書館貸出アプリは、同じ人物(本を借りられる人)を 'member'、'patron'、'borrower'、'customer' と呼び分けています。'loan' は 'checkout' や 'rental' とも呼ばれます。'copy' は物理的な1冊を、'title' は抽象的な本を指します。プロジェクトのドメイン用語集をセットアップしてください…
  • 取り消しにくい決定を記録 — このアーキテクチャ決定をリポジトリに記録してください:金額は Postgres に NUMERIC/DECIMAL ではなく整数セントで保持します。決済パートナーの API が整数セントを使い、丸めバグに2度悩まされたためです。書き起こしてください。
  • ADR に値するものだけを記録 — 今日の会議での2つの決定:(a) 認証を自前のパスワードテーブルからサードパーティの ID プロバイダー(Auth0)へ移行します。取り消すには四半期分の作業が必要です。(b) CSS クラス .btn-main を .btn-primary にリネームしました。記録に値するものを記録してください…

長所

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

短所

  • テスト上の注意:チェックのファイル名グロブは、対照群のファイル名を確認した後に緩和し、同じ緩和ルールで全実行を再採点しました。
  • タスク・群ごとに n=2。1 ポイント未満の差はノイズです。

レビュー

専用の Windows テスト PC 上で Codex CLI 0.166(gpt-6-astra、低推論)、実行ごとに新規の一時プロジェクトと一時 HOME/TMPDIR/キャッシュを使用、スキルをインストール(スキルあり群)、スキルなし(対照群)、またはスキルの中核要件をプロンプト末尾に付けた一文に圧縮(一文プロンプト群)、タスクごとに各群 2 実行、ネットワーク無効、/tmp への書き込みはブロック。プロンプトはスキル名に一切言及しません(以下で注記する表現を除く)。形式を指定しない自然な表現の3つのタスク:『プロジェクトのドメイン用語集をセットアップ』(同じ人物を member/patron/borrower/customer と呼ぶ図書館アプリ)、『このアーキテクチャ決定を記録』(金額を整数セントで保持)、『会議で出た2つの決定。記録に値するものを記録』(取り消しにくい Auth0 移行と、そうではない CSS クラス名の変更)。開始時点のリポジトリには ADR 0001 と 0002 があります。一文プロンプト群=規約全体を一文にしたもの。

3群の比較

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

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

開示事項 チェックのファイル名 glob は、対照群のファイル名を確認した後に緩和し、全実行を同じ緩和後のルールで再採点しました。

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

概要

mattpocock/skills の domain-modeling スキル:プロジェクトのドメイン言語を鋭く保ちます。GLOSSARY.md を維持し(概念ごとに 1 つの正規の 太字 用語、簡潔な定義、_Avoid_: の同義語、汎用的なプログラミング用語は含めない)、docs/adr/ の下に ADR を書くのは、覆すのが難しく、意外性があり、実際にトレードオフを伴う決定に限り、連番付きの短い段落として書きます。

テスト方法

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

形式を名指ししない自然な言い回しの 3 タスク:「プロジェクトのドメイン用語集を設定する」(同じ人物を member/patron/borrower/customer と呼ぶ図書館アプリ)、「このアーキテクチャ決定を記録する」(金額は整数セントで)、「会議での 2 つの決定。記録に値するものだけを記録する」(覆すのが難しい Auth0 移行と、そうではない CSS クラス名の変更)。ADR 0001 と 0002 があるリポジトリから開始。一文プロンプト=慣例全体を一文にしたもの。

  1. 多義語から用語集を作成 — 当社の図書館貸出アプリは、同じ人物(本を借りられる人)を 'member'、'patron'、'borrower'、'customer' と呼びます。'loan' は 'checkout' や 'rental' とも呼ばれます。'copy' は物理的な 1 冊の本、'title' は抽象的な本です。プロジェクトの…を設定してください…
  2. 覆すのが難しい決定を記録 — このリポジトリのアーキテクチャ決定を記録:決済パートナーの API が整数セントを使い、丸めのバグに 2 度悩まされたため、Postgres では NUMERIC/DECIMAL ではなく整数セントで金額を保存する。書き留めてください。
  3. ADR に値するものだけを記録 — 今日の会議での 2 つの決定:(a) 認証を自前のパスワードテーブルからサードパーティの ID プロバイダー(Auth0)へ移行する。元に戻すには 4 分の 1 の工数が必要。(b) CSS クラス .btn-main を .btn-primary にリネームした。記録に値するものだけを…

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

結果

第 3 群に与えた一文プロンプト:"プロジェクトのドメイン言語を鋭く保つ:概念ごとに 1 つの正規の太字用語(簡潔な定義と _Avoid_: の同義語、汎用的なプログラミング用語は含めない)を持つ GLOSSARY.md を書き、覆すのが難しく、意外性があり、実際にトレードオフを伴う決定だけを、docs/adr/ に連番付きの短い ADR(テンプレートではなく 1 段落)として記録する。"

タスク対照群スコア一文プロンプトスキルあり対照群トークン一文プロンプトトークンスキルありトークンスキル読み込み
t1-glossary1.464.385.075k90k79k2/2
t2-adr2.55.05.091k74k69k2/2
t3-adr-numbering4.454.455.082k83k89k2/2

平均スコア:スキルなし 2.8 vs スキルあり 5.0(差分 +2.2)。1 実行あたりのトークン:83k vs 80k(0.96 倍)。時間:45s vs 35s。一文プロンプト群:4.61(一文プロンプトに対するスキルの上乗せ:+0.39。一文プロンプト自身のスキルなしに対する上乗せ:+1.8)。一文プロンプトのトークンは 1 実行あたり 83k、つまりスキルのコストは一文プロンプトの 0.96 倍。

何が起きたか

  • 対照群 2.80、一文プロンプト 4.61、スキルあり 5.00(各 n=6)。対照群は妥当なことをするものの、独自の形式です:表か文章で DOMAIN*GLOSSARY.md(GLOSSARY.md ではない)を作り、どちらの実行でも \_Avoid* 行を作らず、慣例が短い段落を求める箇所で Context/Decision/Consequences 見出し付きの 263 語・355 語の ADR を書きました。対照群の 1 つの ADR は docs/adr/ ではなく docs/decisions/ に置かれました。
  • スキルの 2 つの判断は正しい:3 つ目のタスクの両方のスキルあり実行で、Auth0 移行だけを ADR 0003 として記録し(既存の 0001/0002 に続く正しい番号)、CSS リネームは元に戻しやすいのでスキップしたと述べました。対照群と一文プロンプトもリネームをスキップしましたが、control-2 と one-liner-2 は私の正規表現が認識しない理由(定型的な変更のため未記録)を挙げたため、「理由を述べるか」チェックで過小評価されています。
  • 一文プロンプトは形式の大半を満たします(用語集 3.75 と 5.0、ADR 5.0、5.0)。ただし 1 つの一文プロンプトの用語集は異なるレイアウトを使ったため、_Avoid_ 構造チェックを逃しました。
  • コストなし:スキルは 1 実行あたり 80k トークン、対照群と一文プロンプトは 83k。スキルは名前を出さずともスキルあり群 6/6 実行で読み込まれました。

評価項目別スコア

評価項目スコア理由
出力品質5.0

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

スキルなしに対するリフト4.2

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

トリガー5.0スキルあり群 6/6 実行でスキルファイルが読み込まれました。
手順の移植性4短い SKILL.md と少数の参照テンプレート。スクリプトなし。
効率5トークン 0.96 倍(1 実行あたり 80k vs 83k)、時間 0.78 倍(35s vs 45s)。
安全性と衛生5文章のみ。security.md を参照。

このテストの限界

  • ファイル名、見出し、太字用語数、単語数、_Avoid_ 行に対するルールベースのチェック。いくつかは、形式を教えられなければ対照群が満たせない「形式チェック」です。チェックは、この社内慣例への適合を測るものであり、一般的な文章の質ではありません。
  • 対照群が DOMAIN_GLOSSARY.md を書き、一文プロンプトが箇条書きエントリを書いたのを見て、ファイル名とレイアウトのパターンを緩め(ファイル名は別チェックとして維持)、同じルールで全実行を再採点しました。「(b) をスキップした理由」の正規表現は今も厳格です。
  • 小さな合成リポジトリ。長期にわたって更新し続ける必要のある用語集はありません。
  • タスク・群ごとに n=2。約 1 ポイント未満の差はノイズです。
  • ルールベースの採点はチェックが捉えられる範囲を測るもので、センスや、その結果が最善かどうかは判定できません。

セキュリティ

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

結論

この用語集と ADR の慣例を導入したいチームにとって、このスキルは最初から正しく機能し、ADR を増やしすぎず、追加トークンもかかりません。一文の指示でも大半は達成できるため、このスキルの主な価値は、毎回慣例を貼り付ける手間を省くことです。

トランスクリプト

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

t1-glossary control-1: スコア 1.25, トークン 67501, 秒 45.5, チェック 2/7, 開いたファイルなし
t1-glossary control-2: スコア 1.67, トークン 82953, 秒 59.9, チェック 3/7, 開いたファイルなし
t1-glossary oneliner-1: スコア 5.0, トークン 99071, 秒 37.6, チェック 7/7, 開いたファイルなし
t1-glossary oneliner-2: スコア 3.75, トークン 82400, 秒 36.8, チェック 6/7, 開いたファイルなし
t1-glossary treatment-1: スコア 5.0, トークン 89157, 秒 40.7, チェック 7/7, 開いたファイル domain-modeling
t1-glossary treatment-2: スコア 5.0, トークン 70479, 秒 32.2, チェック 7/7, 開いたファイル domain-modeling
t2-adr control-1: スコア 3.12, トークン 99540, 秒 43.6, チェック 3/5, 開いたファイルなし
t2-adr control-2: スコア 1.88, トークン 82829, 秒 51.1, チェック 2/5, 開いたファイルなし
t2-adr oneliner-1: スコア 5.0, トークン 66964, 秒 43.7, チェック 5/5, 開いたファイルなし

18 実行、3 成果物

サンプル出力

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

# Library Lending The library-lending context describes people who can borrow books, the books available to borrow, and their loans. ## Language **Member**: A person who can borrow books from the library, whether or not they currently have a loan. _Avoid_: Patron, borrower, customer **Loan**: An instance of a member borrowing a physical copy of a title from the library. _Avoid_: Checkout, rental **Copy**: One physical book belonging to a title. Two physical books of the same title are two distinct copies. _Avoid_: Title (when referring to a physical book) **Title**: The abstract book represented by physical copies. Multiple copies of the same book share a title. _Avoid_: Copy (when referring to the abstract book)

Pro を見る