調査のみ。実装 PR は含まない(brake 1 のコストを別セッションに送るため / Master 判断 2026-08-04)。
訂正(2026-08-04、Master 指摘): 初版は下表の「該当率」を根拠に「全 44 本の見直しは目標として正しくない / 低該当率群は現状が正解」と結論していた。該当率は測定値ではなく AI の推定であり、その上に除外判断を載せたのは誤り。 当該結論は撤回する。詳細は「該当率の検証状態」節。
前提(公式仕様、実測)
Agent Skills 公式ドキュメント:
The description is what Claude matches your request against when determining whether to trigger the Skill
照合面はユーザーのリクエスト。ターン途中での再照合に関する記述はない。skill は一度読み込むと当該セッションの context に残る(= 発火は「判断のたび」ではなく「セッションに一度、早期に」で足りる)。
本セッション(2026-08-04)の実測: description 一致で起動した Li+ skill はゼロ。唯一起動した evolution-decision-structure-write は AI が明示的に呼んだもの。非発火のまま手動代替した事象は issue 作成 3 回(operations-on-issue-format)、webhook 処理 6 回(operations-foreground-webhook-intake)、事実断定の誤り 1 件(model-source-check)。
該当率の検証状態(初版の誤りと部分測定)
下表の 3 列のうち、測定値は desc 文字数と body バイトのみ。「形状」は description 文面からの分類(literal 由来だが分類自体は判断)、「該当率」は未検証の推定。
初版はこの推定列を根拠に 38 本を除外したが、部分測定により推定の誤りが実際に検出された:
| 指標(2026-05-04〜2026-08-04、3 か月) |
実測 |
| issue 作成 |
261 件 |
| PR 作成 |
193 件 |
| release |
37 件 |
release は約 2.4 日に 1 回。wiki sync は release 後に必須(skills/operations-on-wiki-sync/SKILL.md)なので同頻度で発生する。
初版は operations-on-release を「低中」、operations-on-wiki-sync を「低」と推定していた。この 2 本の除外は根拠を欠く。 operations-on-wiki-sync は body 11,917 B(全 44 本中 3 位)を持ち、頻出操作の必須経路上にある。
残る未測
- 上表はカレンダー頻度であり、セッション単位の該当率ではない(セッション総数の分母が無い)
- 内面モーメント型(source-check 等)の該当率は「ほぼ毎セッション」と推定しているが、これも未測
- 過去セッションでの skill 発火履歴は残っていない(セッション履歴は運用上逐次削除される)
帰結
- 除外判断は行わない。 据え置く skill は「現状が正しいから」ではなく「まだ分からないから、対照群として保持する」。
- 優先順 6 本の根拠から該当率を外し、測定値のみ(desc 長 / body サイズ / 本セッションの非発火実績)に立て直す。
主要所見
所見1: 文字数は「照合面に映らない条件」に集中している
description 上位 6 本の合計 5,362 文字 = 全 18,984 文字の 28.2%。この 6 本はいずれも内面モーメント型で、リクエスト面に現れない。最も長い記述が、最も発火しない種類に付いている。
所見2: トリガ形状と記述長には相関がある
リクエスト形(外部に名前がある事象)は短く書ける。内面モーメント形は外部の呼び名が無いためインスタンスを列挙するしかなく、それが長さを生む。
- リクエスト形:
evolution-full-run 491 / operations-on-branch 304 / model-accepted-tradeoff 290
- 内面モーメント形:
model-source-check 1,019(7 モーメント列挙)/ model-trigger-check-gate-actions 790
3 か月で description 平均が 145 → 445 文字に伸びた(#1661)のは内面モーメントの精度を上げる作業であり、照合されない軸を磨いていたことになる。
所見3(重要な反証): 「広さ」だけでは発火しない
operations-foreground-webhook-intake は description 146 文字、トリガは「when a user turn starts」= 最大限に広い。それでも本セッションで 6 回とも不発火。
必要なのは広さではなくリクエストの内容に対応する形。「ターンが始まったら」は message の中身を指していないため照合対象が無い。是正方針は「抽象化して広くする」ではなく「リクエスト内容の形に書き換える」。
所見4: body サイズが早期ロードの可否を決める
早期ロード方針ではコストが description 常駐から body ロードへ移る。body は skill ごとに 2 桁違う。
model-source-check 6,364 B(約 1,600 tok)→ 早期ロード可
model-agentic-search 22,754 B(約 5,700 tok)→ 高い
evolution-parallel-agent-eval 22,174 B → 同上
全 44 本の一覧
desc 文字数 / body バイト = 測定値。形状 = 文面からの分類。該当率 = 未検証の推定(上記「検証状態」参照、除外根拠に使用しない)。
形状: R = リクエスト内容に現れる / T = タスク種別として turn 冒頭で判別可能 / I = 内面モーメントのみ
| desc |
body |
skill |
形状 |
該当率(推定) |
| 1025 |
22174 |
evolution-parallel-agent-eval |
T/I |
低 |
| 1019 |
22754 |
model-agentic-search |
R/I |
高 |
| 1019 |
6364 |
model-source-check |
I |
最高 |
| 790 |
4739 |
model-trigger-check-gate-actions |
I |
最高 |
| 760 |
3764 |
model-ambiguity-handling |
I |
高 |
| 749 |
3260 |
model-frame-check |
R/I |
中高 |
| 693 |
5423 |
model-human-interaction |
R |
中 |
| 691 |
4971 |
task-subagent-delegation |
T |
中 |
| 686 |
4599 |
evolution-impression-literal-detection |
I |
低 |
| 684 |
9280 |
task-subagent-prompt |
I |
中 |
| 621 |
4955 |
operations-on-release |
T |
要再評価(release 37件/3か月) |
| 600 |
4102 |
task-subagent-spawn |
I |
中 |
| 582 |
2123 |
task-subagent-state-labels |
T/I |
中 |
| 561 |
11917 |
operations-on-wiki-sync |
T |
要再評価(release 必須経路) |
| 527 |
2542 |
model-projection-discipline |
I |
低中 |
| 500 |
3736 |
operations-on-release-state |
T/R |
要再評価 |
| 491 |
3651 |
evolution-full-run |
R |
低 |
| 468 |
5944 |
operations-on-pr-review |
T |
中 |
| 457 |
1778 |
task-pr-review-judgment |
T |
中 |
| 430 |
5033 |
operations-on-sub-issue |
T |
中 |
| 428 |
9152 |
evolution-self-eval |
I |
高 |
| 352 |
2626 |
operations-on-issue-format |
T |
高(issue 261件/3か月) |
| 332 |
3414 |
model-loop-safety |
I |
中 |
| 326 |
2688 |
operations-on-docs-ownership |
T |
中 |
| 304 |
3115 |
operations-on-branch |
R |
中 |
| 298 |
700 |
operations-handoff-continuity |
I |
低 |
| 290 |
2554 |
model-accepted-tradeoff |
R |
中 |
| 290 |
2063 |
operations-on-merge |
T |
中(PR 193件/3か月) |
| 272 |
8616 |
evolution-decision-structure-write |
R/I |
中 |
| 271 |
677 |
operations-discussions |
T |
低 |
| 267 |
3088 |
evolution-persistence-tiering |
I |
中 |
| 261 |
1517 |
evolution-loop |
T |
低 |
| 248 |
472 |
operations-chat-output-limit |
I |
低 |
| 201 |
633 |
operations-notifications-api |
T |
低 |
| 174 |
894 |
evolution-judgment-learning |
I |
高 |
| 172 |
2945 |
operations-on-pr-creation |
T |
中(PR 193件/3か月) |
| 170 |
1163 |
model-requirement-deepening |
I |
中 |
| 159 |
3786 |
evolution-l1-update-gating |
T |
低 |
| 151 |
1358 |
operations-on-ci |
T |
中 |
| 146 |
855 |
model-pair-review |
T |
低 |
| 146 |
3756 |
operations-foreground-webhook-intake |
I |
最高 |
| 134 |
1561 |
operations-on-issue-maturity |
T |
中 |
| 133 |
571 |
model-review-output-partition |
I |
中 |
| 106 |
659 |
operations-on-commit |
T |
中 |
合計: desc 18,984 B / body 191,972 B / 44 本
第一バッチ候補(測定値のみを根拠に再構成)
該当率の推定を根拠から外し、本セッションで実際に非発火が観測された skill と 測定済みの desc 長 / body サイズのみで選ぶ。
| skill |
非発火の実測 |
desc |
body |
model-source-check |
あり(誤断定 1 件) |
1,019 |
6,364 |
operations-foreground-webhook-intake |
あり(6 回) |
146 |
3,756 |
operations-on-issue-format |
あり(3 回) |
352 |
2,626 |
evolution-judgment-learning |
なし(Master 提案の実例) |
174 |
894 |
model-trigger-check-gate-actions |
なし(source-check と同型) |
790 |
4,739 |
model-source-check は #1662(上限 1,024 まで残り 5 文字)も同時に解消する。
検証設計(段階実施の理由)
eval harness は無い。全 44 本を一度に書き換えると、発火率が変わっても原因を帰属できない。手を入れない skill が対照群になる。
- 据え置きは意図的に維持する(「時間ができたら残りも」と扱うと対照群が消える)
- 観測は複数セッション必要。1 セッションでは話題の偏りと区別できない
- 観測結果は
memory/self-evaluation_log.md と memory/self-evolution-observation.md(post-merge 2 週間サイクル)に落とす
未決
- セッション単位の該当率の測定手段(分母となるセッション数が取得できない)
- body 早期ロード総量の上限方針
- 内面モーメント記述を削った場合の recall 損失。本調査の観測は N=1 セッション
- 「見直し不要な skill が存在するか」自体が未検証。存在するとしても、その判定には該当率の測定が要る
関連
調査のみ。実装 PR は含まない(brake 1 のコストを別セッションに送るため / Master 判断 2026-08-04)。
前提(公式仕様、実測)
Agent Skills 公式ドキュメント:
照合面はユーザーのリクエスト。ターン途中での再照合に関する記述はない。skill は一度読み込むと当該セッションの context に残る(= 発火は「判断のたび」ではなく「セッションに一度、早期に」で足りる)。
本セッション(2026-08-04)の実測: description 一致で起動した Li+ skill はゼロ。唯一起動した
evolution-decision-structure-writeは AI が明示的に呼んだもの。非発火のまま手動代替した事象は issue 作成 3 回(operations-on-issue-format)、webhook 処理 6 回(operations-foreground-webhook-intake)、事実断定の誤り 1 件(model-source-check)。該当率の検証状態(初版の誤りと部分測定)
下表の 3 列のうち、測定値は desc 文字数と body バイトのみ。「形状」は description 文面からの分類(literal 由来だが分類自体は判断)、「該当率」は未検証の推定。
初版はこの推定列を根拠に 38 本を除外したが、部分測定により推定の誤りが実際に検出された:
release は約 2.4 日に 1 回。wiki sync は release 後に必須(
skills/operations-on-wiki-sync/SKILL.md)なので同頻度で発生する。初版は
operations-on-releaseを「低中」、operations-on-wiki-syncを「低」と推定していた。この 2 本の除外は根拠を欠く。operations-on-wiki-syncは body 11,917 B(全 44 本中 3 位)を持ち、頻出操作の必須経路上にある。残る未測
帰結
主要所見
所見1: 文字数は「照合面に映らない条件」に集中している
description 上位 6 本の合計 5,362 文字 = 全 18,984 文字の 28.2%。この 6 本はいずれも内面モーメント型で、リクエスト面に現れない。最も長い記述が、最も発火しない種類に付いている。
所見2: トリガ形状と記述長には相関がある
リクエスト形(外部に名前がある事象)は短く書ける。内面モーメント形は外部の呼び名が無いためインスタンスを列挙するしかなく、それが長さを生む。
evolution-full-run491 /operations-on-branch304 /model-accepted-tradeoff290model-source-check1,019(7 モーメント列挙)/model-trigger-check-gate-actions7903 か月で description 平均が 145 → 445 文字に伸びた(#1661)のは内面モーメントの精度を上げる作業であり、照合されない軸を磨いていたことになる。
所見3(重要な反証): 「広さ」だけでは発火しない
operations-foreground-webhook-intakeは description 146 文字、トリガは「when a user turn starts」= 最大限に広い。それでも本セッションで 6 回とも不発火。必要なのは広さではなくリクエストの内容に対応する形。「ターンが始まったら」は message の中身を指していないため照合対象が無い。是正方針は「抽象化して広くする」ではなく「リクエスト内容の形に書き換える」。
所見4: body サイズが早期ロードの可否を決める
早期ロード方針ではコストが description 常駐から body ロードへ移る。body は skill ごとに 2 桁違う。
model-source-check6,364 B(約 1,600 tok)→ 早期ロード可model-agentic-search22,754 B(約 5,700 tok)→ 高いevolution-parallel-agent-eval22,174 B → 同上全 44 本の一覧
desc 文字数 / body バイト = 測定値。形状 = 文面からの分類。該当率 = 未検証の推定(上記「検証状態」参照、除外根拠に使用しない)。
形状: R = リクエスト内容に現れる / T = タスク種別として turn 冒頭で判別可能 / I = 内面モーメントのみ
合計: desc 18,984 B / body 191,972 B / 44 本
第一バッチ候補(測定値のみを根拠に再構成)
該当率の推定を根拠から外し、本セッションで実際に非発火が観測された skill と 測定済みの desc 長 / body サイズのみで選ぶ。
model-source-checkoperations-foreground-webhook-intakeoperations-on-issue-formatevolution-judgment-learningmodel-trigger-check-gate-actionsmodel-source-checkは #1662(上限 1,024 まで残り 5 文字)も同時に解消する。検証設計(段階実施の理由)
eval harness は無い。全 44 本を一度に書き換えると、発火率が変わっても原因を帰属できない。手を入れない skill が対照群になる。
memory/self-evaluation_log.mdとmemory/self-evolution-observation.md(post-merge 2 週間サイクル)に落とす未決
関連
evolution-parallel-agent-evalの 1,024 文字上限超過rules/model/trigger-check-gate.mdTrigger firing(mid-turn 未保証の明記)