何のために
NDF を開発ワークフローに特化させ、範囲外の Skill を新プラグイン toolbox へ移す。
Skill 一覧の総量を減らして発動精度を上げ、cross-refactoring(#113)の追加余地を作る。
関連: #113
前提の確認: 予算の実体
先に、逼迫していると言われている frontmatter 予算の中身を確認した。ハード制約には
達していない。
| 指標 | 現在 | 上限 | 出典 |
|---|
| Claude Code の初期一覧 | 5,855 | 8,000 | ランタイム公式(コンテキスト長不明時) |
| Codex の初期一覧 | 5,443 | 8,000 | ランタイム公式(コンテキスト長不明時) |
| 全 Skill の frontmatter 合計 | 10,612 | 11,200 | 本リポジトリの運用値 |
3 番目の 11,200 は外部仕様ではない。scripts/check-skill-frontmatter.py のコメントにある
とおり、v7.0.0 時点の実測 10,559 文字に約 6% の余裕を足した数字で、
**「Skill を増やすときは実測しなおして更新する」**前提の歯止めである。
# v7.0.0 時点の実測 10,559 文字(ndf 30 個 + playwright-kit 4 個、2026-08-14)を基準に、# 約 6% の余裕を足して 11,200 とした。Skill を増やすときは実測しなおして更新する。FRONTMATTER_TOTAL_MAX=11200
つまり cross-refactoring を追加するだけなら、この値を上げれば通る。それでも本 issue を
先に検討する理由は、予算ではなく焦点にある。
- 一覧が長いほど、依頼文とトリガ語の突き合わせが薄まり発動精度が落ちる
- NDF を導入する利用者の大半は開発ワークフローが目的で、Google Drive 連携や Skill 自体の
計測ツールまで常に一覧へ載せる必要がない - v7.0.0 でブラウザ自動テスト 4 個を
playwright-kit へ分離した前例がある
現状
plugins/ndf-shared/skills/ に 30 個。配布は Claude Code 26 / Codex 24 / Kiro 25。
利用実績は docs/specifications/ndf-skill-inventory.md
の台帳(2026-05-20 〜 2026-08-07 の 1,943 セッション)による。
移動対象(8 個 → toolbox)
開発ワークフローから外れる 8 個を、1 つのプラグインにまとめて移す。
**いずれも「削除」ではなく「移動」**なので、台帳の維持判定とは矛盾しない。
| Skill | 役割 | 起動 | 機会 | 配布 | frontmatter |
|---|
google-auth | Google 認証情報の取り回し | 4 | 157 | 未配布 | 230 |
google-drive | Drive API 操作 | 1 | 104 | 未配布 | 250 |
docker-container-access | コンテナ内での作業 | 6 | 33 | CXK | 233 |
deploy | 環境ブランチへのデプロイ | 0 | 測定不能 | CXK | 288 |
skill-stats | Skill 利用実績の測定 | 0 | 1 | 未配布 | 225 |
official-skills-autoloader | 公式 Skill の取り込み | 0 | 97 | C | 380 |
statusline | Claude Code の表示設定 | 3 | 16 | CK | 275 |
ml-model-structure | 分析リポジトリのモデル構造規約 | 2 | 94 | 未配布 | 264 |
| 合計 | | | | | 2,145 |
分類すると 4 系統になるが、いずれも「開発の手順そのものではない」点で共通する。
- 外部サービス連携 —
google-auth / google-drive - 実行環境の操作 —
docker-container-access / deploy - AI ツール自体の管理 —
skill-stats / official-skills-autoloader / statusline - 特定リポジトリの規約 —
ml-model-structure
8 個のうち 4 個は現在どこにも配布されていない(google-auth / google-drive /
skill-stats / ml-model-structure)ため、移動しても既存の利用者に影響がない。
移動しないと判断したもの
| Skill | 理由 |
|---|
qa-security-scan | セキュリティレビューは開発ワークフローの一部。pr-review との統合を別途検討する |
logging-guidelines | 実装時のガイドラインであり開発ワークフローに属する |
効果
frontmatter の合計は変わらない
check-skill-frontmatter.py は plugin family を跨いで合計する(利用者の環境には複数の
プラグインが同時に入るため)。toolbox も同じ構造で作る以上、検査の合計値は 10,612 のまま
減らない。cross-refactoring の追加はこの運用値を実測しなおして更新することで通す。
効くのは「開発ワークフローだけ欲しい利用者」の一覧
初期一覧は導入したプラグインの分だけ積み上がる。未配布 4 個も配布するため、両方を入れる
利用者では増える。
| 利用者の構成 | Claude Code の初期一覧 |
|---|
| 現在(NDF のみ。未配布 4 個は使えない) | 5,855 |
| 移動後・NDF のみ | 約 5,140 |
移動後・NDF + toolbox | 約 6,420 |
この分離で得られるのは「必要なものだけを入れられる」ことであり、全部入れる利用者の
総量削減ではない。 開発ワークフローだけが目的の利用者は、Google Drive 連携や表示設定を
一覧に載せずに済む。あわせて、これまでどこにも配布されず使えなかった 4 個が使えるように
なる。
| 指標 | 現在 | 移動後 |
|---|
| NDF の Skill 数 | 30 | 22 |
toolbox の Skill 数 | — | 8 |
| 配布されている Skill の総数(Claude Code) | 26 | 22 + 8 = 30 |
決めたこと
プラグイン名は toolbox
中身が 4 系統にまたがるため機能名では括れない。「開発ワークフロー本体ではない道具箱」
という位置づけをそのまま名前にする。
plugins/toolbox-shared/ # 共通編集元(skills + manifests)
plugins/toolbox-claude/ # Claude Code 版
plugins/toolbox-codex/ # Codex 版
plugins/toolbox-kiro/ # Kiro CLI 版 installer
配布先
未配布だった 4 個を含め、原則 3 ランタイムすべてに配布する。
ランタイム依存の実装を持つ 2 個だけ例外とする。
| Skill | 現在 | toolbox での配布 | 備考 |
|---|
google-auth | 未配布 | CXK | ランタイム非依存 |
google-drive | 未配布 | CXK | ランタイム非依存 |
ml-model-structure | 未配布 | CXK | ランタイム非依存 |
skill-stats | 未配布 | CXK | 解析対象は Claude Code のログのみ(下記) |
docker-container-access | CXK | CXK | 現状維持 |
deploy | CXK | CXK | 現状維持 |
official-skills-autoloader | C | C | ~/.claude/skills/ を読むため Claude Code 限定 |
statusline | CK | CK | 現状維持 |
⚠ skill-stats は Claude Code の会話ログに依存する。
~/.claude/projects/**/*.jsonl を走査する実装であり、Codex / Kiro では解析対象が存在
しない。3 ランタイムへ配布した場合、Codex / Kiro から起動しても結果が得られない。
次のどちらかを決める必要がある。
- Claude Code 限定の配布にする(
official-skills-autoloader と同じ扱い) - 3 ランタイムへ配布し、
description と本文に「解析できるのは Claude Code のログのみ」
と明記する。Codex / Kiro のログ形式への対応は別 issue とする
決めたいこと
実施順序
#113 に先立って実施するか、cross-refactoring の追加と同時に行うか。
作業の見込み
playwright-kit の分離(v7.0.0)と同じ手順になる。
plugins/toolbox-shared/(skills + manifests)とランタイム別配布物
plugins/toolbox-{claude,codex,kiro}/ を作る.claude-plugin/marketplace.json へ登録する- NDF の 3 つの manifest から移動対象を外し、
bash scripts/build-runtime-plugins.sh で同期 check-skill-frontmatter.py の運用値を実測しなおして更新- README /
docs/ndf-plugin-reference.md / 棚卸台帳を更新 - NDF のバージョンを上げる(Skill 数が変わるため破壊的変更として扱う)
移行期間の扱い(旧プラグインに対応表を残すか、即時削除か)も v8.0.0 の前例に合わせて決める。
何のために
NDF を開発ワークフローに特化させ、範囲外の Skill を新プラグイン
toolboxへ移す。Skill 一覧の総量を減らして発動精度を上げ、
cross-refactoring(#113)の追加余地を作る。関連: #113
前提の確認: 予算の実体
先に、逼迫していると言われている
frontmatter予算の中身を確認した。ハード制約には達していない。
3 番目の 11,200 は外部仕様ではない。
scripts/check-skill-frontmatter.pyのコメントにあるとおり、v7.0.0 時点の実測 10,559 文字に約 6% の余裕を足した数字で、
**「Skill を増やすときは実測しなおして更新する」**前提の歯止めである。
つまり
cross-refactoringを追加するだけなら、この値を上げれば通る。それでも本 issue を先に検討する理由は、予算ではなく焦点にある。
計測ツールまで常に一覧へ載せる必要がない
playwright-kitへ分離した前例がある現状
plugins/ndf-shared/skills/に 30 個。配布は Claude Code 26 / Codex 24 / Kiro 25。利用実績は
docs/specifications/ndf-skill-inventory.mdの台帳(2026-05-20 〜 2026-08-07 の 1,943 セッション)による。
移動対象(8 個 →
toolbox)開発ワークフローから外れる 8 個を、1 つのプラグインにまとめて移す。
**いずれも「削除」ではなく「移動」**なので、台帳の維持判定とは矛盾しない。
google-authgoogle-drivedocker-container-accessdeployskill-statsofficial-skills-autoloaderstatuslineml-model-structure分類すると 4 系統になるが、いずれも「開発の手順そのものではない」点で共通する。
google-auth/google-drivedocker-container-access/deployskill-stats/official-skills-autoloader/statuslineml-model-structure8 個のうち 4 個は現在どこにも配布されていない(
google-auth/google-drive/skill-stats/ml-model-structure)ため、移動しても既存の利用者に影響がない。移動しないと判断したもの
qa-security-scanpr-reviewとの統合を別途検討するlogging-guidelines効果
frontmatter の合計は変わらない
check-skill-frontmatter.pyは plugin family を跨いで合計する(利用者の環境には複数のプラグインが同時に入るため)。
toolboxも同じ構造で作る以上、検査の合計値は 10,612 のまま減らない。
cross-refactoringの追加はこの運用値を実測しなおして更新することで通す。効くのは「開発ワークフローだけ欲しい利用者」の一覧
初期一覧は導入したプラグインの分だけ積み上がる。未配布 4 個も配布するため、両方を入れる
利用者では増える。
toolboxこの分離で得られるのは「必要なものだけを入れられる」ことであり、全部入れる利用者の
総量削減ではない。 開発ワークフローだけが目的の利用者は、Google Drive 連携や表示設定を
一覧に載せずに済む。あわせて、これまでどこにも配布されず使えなかった 4 個が使えるように
なる。
toolboxの Skill 数決めたこと
プラグイン名は
toolbox中身が 4 系統にまたがるため機能名では括れない。「開発ワークフロー本体ではない道具箱」
という位置づけをそのまま名前にする。
配布先
未配布だった 4 個を含め、原則 3 ランタイムすべてに配布する。
ランタイム依存の実装を持つ 2 個だけ例外とする。
toolboxでの配布google-authgoogle-driveml-model-structureskill-statsdocker-container-accessdeployofficial-skills-autoloader~/.claude/skills/を読むため Claude Code 限定statusline決めたいこと
実施順序
#113 に先立って実施するか、
cross-refactoringの追加と同時に行うか。作業の見込み
playwright-kitの分離(v7.0.0)と同じ手順になる。plugins/toolbox-shared/(skills + manifests)とランタイム別配布物plugins/toolbox-{claude,codex,kiro}/を作る.claude-plugin/marketplace.jsonへ登録するbash scripts/build-runtime-plugins.shで同期check-skill-frontmatter.pyの運用値を実測しなおして更新docs/ndf-plugin-reference.md/ 棚卸台帳を更新移行期間の扱い(旧プラグインに対応表を残すか、即時削除か)も v8.0.0 の前例に合わせて決める。