Claude Code のスキルは、入れるだけなら1分で終わります。公開されているものも数多くあります。
そうなると、やることは決まっています。片っ端から入れるのです。
自作47本を運用しながら1ヶ月ほど測った結果、増やすほど呼ばれなくなることが分かりました。
重くなるからではありません。入れたスキルの説明が、黙って消えるからです。
この記事は、これまで公開した検証記事6本を1つの流れにまとめ直し、
今週(2026-09-11)出た公式の評価コマンドを7つ目として足したものです。
1. 増やしても重くならない 80本足して +185トークン
2. 超えたぶんは説明が消える 自分の2本が 388字→0、350字→0
3. どれが消えるかは毎回変わる 同じ環境で実行ごとに違った
4. 効くスキルは確かに効く 出力 −43%(9回中9回)。ただし情報も減る
5. 指示書型と実装型は別もの 起動時トークンで約28倍の差
6. 制限モードでは全部消える ツール42→23、スキル47本→0本
7. 公式の評価コマンドが出た ただし「量」は測れない
検証環境: Windows 10 / Claude Code 2.1.247〜2.1.270 / 測定は 2026-08-19〜09-14
1. 増やしても、重くはならない
最初に、いちばん心配される点から確かめました。スキルを増やすとコンテキストを圧迫するのか。
自作47本の環境に、80本足して127本にしました。
| スキル本数 | 入力トークン |
|---|---|
| 47本 | 82,179 |
| 127本 | 82,364 |
増えたのは185トークン。 80本足して、この差です。
理由は、スキル一覧に文字数の予算があるからです。予算の範囲で各スキルの説明文を載せ、
超えたぶんは載せません。だから本数を増やしても、一覧の大きさはほとんど変わりません。
予算は設定で動かせます。skillListingBudgetFraction を上げて 100,000 まで広げたところ、
1,285トークン分の説明が戻ってきました。
/skill-doctor の予告とは、ずれます
/skill-doctor は「未使用19本が毎ターン載っている」と教えてくれます。
言われたとおり消すと、3,710トークン減りました。 ただし予告は約2,160でした。
予告と実測が1.7倍ずれます。 消す判断の材料にはなりますが、数字は自分で測り直すほうが安全です。
なお1本消してもプロンプトキャッシュは飛びませんでした。 ここは気にしなくてよさそうです。
→ 詳細: Claude Code にスキルを80本足しても、増えたトークンは185だった
2. 超えたぶんは、説明が消える
ここからが本題です。予算を超えると何が起きるのか。
GitHub でトレンド入りしていたスキル集37本(mattpocock/skills、255,313スター)を、
自作47本に足しました。
| 入力トークン | |
|---|---|
| 自作47本 | 82,255 |
| + スキル集37本(計84本) | 81,971 |
284トークン減りました。 足したのに減っています。
減った先を追うと、元から入れていた自作スキル2本の説明が、388文字→0、350文字→0 に
なっていました。
| 説明の文字数 | 呼び出し回数 | |
|---|---|---|
| よく使う2本 | 1文字も減らない | 42回 / 25回 |
| 消えた2本 | 388→0 / 350→0 | 0回 |
削られるのは、呼び出し回数が少ないものからでした。
入れたばかりのスキルは当然0回なので、真っ先に落ちます。
「新しく入れたスキルが呼ばれない」と感じるとき、説明が載っていない可能性があります。
エラーは出ません
一番厄介なのはここです。説明が消えても、名前は必ず残ります。
スキル一覧を見ても、47本すべての名前が並んでいます。画面上は正常です。
警告もログも出ません。
「入れたのに使われない」は、設定ミスではなく予算切れかもしれません。
予算いっぱいでなければ、普通に増えます
私の環境は、入れる前から予算いっぱいでした。 手持ちが少なければ、
足したぶんは普通にトークンが増えるはずです。予算に余裕がある環境では測っていないので、
そこは確かめていません。
→ 詳細: GitHubトレンドのスキル集を入れたら、自分のスキル2本の説明が消えた
3. どれが消えるかは、実行ごとに変わります
2の実験を4回繰り返して、もう1つ分かったことがあります。
同じ環境・同じスキル構成でも、削られる対象が回ごとに違いました。
ある回 decompose の説明 240文字(そのまま残った)
別の回 decompose の説明 58文字(削られた)
「このスキルは安全」と固定的に考えられません。
呼び出し回数が多いものは4回とも無傷でしたが、回数が中位のものは回ごとに揺れます。
運用として引き出せる結論は1つです。
本当に呼んでほしいスキルは、呼び出し実績を作っておく。 入れただけで放置すると、
別のスキルを足したときに真っ先に落ちます。
4. 効くスキルは確かに効く。ただし情報も減る
「増やすな」という話ばかりしてきましたが、効くものは効きます。
Hacker News で269ポイントを集めた ayghri/i-have-adhd(30,233スター、MIT、SKILL.md 1枚)を測りました。
エージェントの回答から前置きを取り、行動を先頭に置かせるスキルです。
同じ質問3問を、スキルあり・なしで各3回投げた結果です。
| 対照 | スキルあり | 差 | |
|---|---|---|---|
| Q1 git | 643字 | 348字 | −46% |
| Q2 CSV | 2,163字 | 1,593字 | −26% |
| Q3 Docker | 2,847字 | 1,256字 | −56% |
| 平均 | 1,884字 | 1,066字 | −43% |
9回中9回、スキルありのほうが短くなりました。 範囲も重なりません。
Q1 対照 620, 643, 744 スキル 238, 348, 350
Q2 対照 2119, 2163, 2367 スキル 1488, 1593, 1715
Q3 対照 2361, 2847, 2860 スキル 1178, 1256, 1617
ただし情報も減っています
各回答に技術キーワードがいくつ出るかを数えました。
| 対照 | スキルあり | 差 | |
|---|---|---|---|
| Q1 | 4.3個 | 3.0個 | −30% |
| Q2 | 6.0個 | 5.0個 | −17% |
| Q3 | 9.0個 | 8.3個 | −8% |
「短くなったのに情報は同じ」ではありません。
ただし文字数のほうが大きく減るので、密度は上がります。Q3 では1,000字あたり 3.2個 → 6.6個。
そして中身が入れ替わります。 Q1 では「-m はトレーラーを消す」という注意が増え、
代わりに git commit --amend --only が消えました。単に削られたのではありません。
→ 詳細: 3万スターの Claude Code スキルを入れたら、出力が43%短くなった
5. 指示書だけのスキルと、実装を持ち込むスキルは別もの
何を入れるかを決めるとき、中身の型でコストがまったく違います。
スター60,480の Agent Skill を入れて、自作の同種スキルと比べました。
| 自作 | 導入したもの | |
|---|---|---|
| 実装 |
SKILL.md 1本 |
Python 308ファイル / 32MB |
| 常時のトークン | — | 約103 |
| 起動時のトークン | 3,225 | 約90,000(約28倍) |
| 標準的な Windows | 動く | 動かない(Python 3.12+ が必須、手元は 3.11.9) |
約28倍の差がありました。しかも手元では動きませんでした。
入れる前にコストは見えます
claude plugin details <プラグイン名>
常時いくつ・起動時いくつのトークンを使うかが、導入前に表示されます。
後者かどうかは、これで分かります。
なお uninstall しても、キャッシュ32MBは残りました。
環境確認の落とし穴
「Python 3.12+ が必須」を見て、自分は要件を満たしていると誤認しました。
別の場所に入れた Python を見ていたからです。
「入っているか」ではなく「そのツールから見えるか」を確認する。 ここは自分のミスでした。
→ 詳細: スター6万のAgent Skillを入れたら、呼ぶたびに9万トークン必要だった
6. 制限モードでは、スキルが全部消えます
2.1.248 で --restricted(CLAUDE_CODE_RESTRICTED=1 でも同じ)が入りました。
| 通常 | --restricted |
|
|---|---|---|
| ツール | 42 | 23(45%減) |
| 自作スキル | 47本 | 0本 |
消えるのは Bash / PowerShell / WebFetch だけではありません。
公式の説明にない Workflow / Monitor / LSP と MCP ツール8個も消えます。
一方 Write / Edit / Agent / WebSearch は残ります。 読み取り専用モードではありません。
~/.claude/ 配下が丸ごと対象になります。 ユーザー設定を読まないモードなので
そうなっていると思われますが、公式にその理由までは書かれていません。
Skill ツール自体は残りますが、呼ぶ先がありません。
--tools で名前を挙げれば戻ります。default プリセットでは戻りません(公式の記述どおり)。
スキルを積んでいる人ほど、このモードでは何も残りません。
それが目的のモードなので正しい挙動ですが、「安全になる」より先に「手元の資産が全部消える」
と理解しておくほうが、事故が少ないと思います。
→ 詳細: Claude Code に制限モードが入った。自作スキル47本が0本になった
7. スキルの採点ツールは、構造しか見ていません
スキルの良し悪しを自動で採点するツールがあります。9次元のルーブリックで点を付けます。
測っているのは構造です。手順が明確か、具体的か、失敗時の分岐があるか、
チェックポイントがあるか。
書いてある内容が事実として正しいかは、どの次元にも入っていません。
しかも具体的に書かれた誤りほど、「具体性」の次元で高得点になります。
規格の条番号を間違えて書いたスキルが、間違えたまま点数を上げました。
点数とは別に「おかしいところはないか」と聞く
同じモデルに、ルーブリックを使わず**「問題があれば指摘して」**と頼むと、矛盾に気づきます。
点数には出ません。
ただしその指摘も鵜呑みにはできません。 2つのモデルが一致して指摘した項目のうち、
1件は誤りでした。
→ 詳細: スキルの採点ツールは、書いてある内容が正しいかを見ていない
8. 公式の評価コマンドが出ました。ただし「量」は測れません
ここだけ今週の話です。2.1.269(2026-09-11)に claude plugin eval が入りました。
プラグインを評価ケースに掛けて点数を出す公式コマンドです。実験設計が丁寧です。
One run of a non-deterministic agent tells you little, so each case runs three times by default.
Each case runs three times with your plugin and three times without it, so one case is six runs.
1ケース6ラン。 そして WITH と W/OUT の差 Δ がプラグインの寄与です。
高得点でも Δ が0なら、そのスキルは効いていません。
ケースと grader は claude plugin eval init が自動で書いてくれます。
grader は6種類。すべて pass/fail です
| 種類 | 何を見るか | 課金 |
|---|---|---|
regex |
返答やファイルに正規表現が一致するか | 無料 |
tool_used |
そのツールが呼ばれた回数が範囲内か | 無料 |
tool_order |
2つのツールの呼び出し順 | 無料 |
file_exists |
生成されたファイルがあるか | 無料 |
llm |
判定モデルが基準に照らして合否を出す | 課金 |
baseline |
参照トランスクリプトと比べて同等以上か | 課金 |
そして公式ドキュメントにこう書かれています。
There are no custom-code graders.
自作の検査を挟めません。
だから、この記事の数字は eval では出せません
ここまでに出した数字を思い出してください。
185トークン増えた 284トークン減った
説明が 388字 → 0 出力が 1,884字 → 1,066字(−43%)
ツールが 42 → 23 起動時トークンが 3,225 → 90,000
全部「量」です。 6種の grader はすべて合否で、量を返しません。
数を扱えるのは regex の match: "count:N"(ちょうどN回)と
tool_used の min / max(範囲内か)だけで、どちらも合否に潰れます。
claude plugin eval で言えるのは「短いと判定されたか」まで。
「43%短くなった」は出せません。
集約も違います。公式は the case's score is the mean across its runs(平均)。
自分はずっと中央値で見てきました。外れ値を1回引くと、平均は動きます。
使い分けるのが正解だと思います。
-
挙動が安定して再現するか →
claude plugin eval。CI に載る。自動化できる -
どれだけ変わったか → 手で測る。
--output-format jsonのトークン数を数える
運用として、結局どうするか
7つを実務の手順に落とすと、こうなります。
入れる前
-
claude plugin detailsでコストを見る。 起動時9万トークンのものが混ざっている - 指示書1枚か、実装を持ち込むかを確認する。後者は依存と容量とトークンを引き受けることになる
- 自分の環境で要件を満たすか、そのツールから確認する。 「入っているか」ではなく「見えるか」
入れたあと
- 一覧のトークン数を前後で比べる。 増えないなら、何かの説明が消えている
- 本当に呼んでほしいスキルは、呼び出し実績を作る。 0回のものから削られる
-
/skill-doctorの予告は1.7倍ずれた。 消す前後で自分で測る
評価するとき
-
claude plugin evalで挙動の再現性を測る。 ただし量は出ないので、必要なら手で数える - 採点ツールの点数とは別に、「おかしいところはないか」と聞く
言えないこと
-
すべて自分の環境1つの測定です。スキル47本、MCP サーバーあり、Windows 10。
素の環境より前提が多い状態で測っています - **予算切れの挙動は「自分が予算いっぱいだったから」**観測できました。
手持ちが少ない環境では、しばらく起きません - 4の
i-have-adhdは3問×3回。題材を変えれば比率は変わります - 6の制限モードは 2.1.248 時点の測定です。その後の版では確かめていません
- 8の
claude plugin evalはドキュメントを読んで--helpを叩いた段階で、
自作スキルに実際に掛けた結果はまだありません - 測定期間に Claude Code は 2.1.247 から 2.1.270 まで動いています。
各項目の測定時点はリンク先の記事に書いてあります
まとめ
- スキルは増やしても重くならない。 80本足して +185トークン。一覧には文字数の予算がある
- 代わりに説明が黙って消える。 呼び出し回数が少ない順に落ち、名前だけが残る
- エラーは出ない。 画面上は正常に見えるので、運用では気づけない
- どれが消えるかは実行ごとに変わる。 「このスキルは安全」と固定的に考えられない
- 効くスキルは効く(出力 −43%、9回中9回)。ただし情報も減る(−8〜−30%)
-
指示書型と実装型は別もの。 起動時トークンで約28倍の差。
claude plugin detailsで事前に見える - 制限モードでは47本が0本になる。 ツールも 42→23
- 採点ツールは構造しか見ない。 具体的に書かれた誤りほど高得点になる
- 公式の評価コマンドが出た。 1ケース6ラン、Δ が本体。ただし量は測れない
スキルは資産ですが、置いておくだけでは資産になりません。
入れた数を増やすより、呼ばれているものを絞って残すほうが効きます。
参考
-
Extend Claude with skills — 一覧の文字数予算と
/skill-doctor -
Settings reference —
skillListingBudgetFraction/skillListingMaxDescChars -
Test plugins with evals —
claude plugin evalの grader とアブレーション -
CLI reference —
--restrictedと--output-format json
JQITのエンジニアの95%以上は未経験からの採用です。
よければコーポレートサイトにも遊びに来てください。
エンジニア採用も行っています。もしご興味あれば覗いてみてください。
▶ 採用サイト