スキルとは何か
Claude Code にはあらかじめ搭載された機能に加えて、あとから追加できる「専門家モジュール」がある。これがスキルだ。
たとえば 「バグを調べてほしい」 と伝えたとき、Claude Code は gstack-investigate というスキルを呼び出して体系的なデバッグを行う。「アイデアを整理したい」 と伝えれば、brainstorm-facilitator が起動してブレインストーミングをサポートする。
スキルにはそれぞれ 「説明文」 が付いている。Claude はこの説明文を読んで、ユーザーの依頼とスキルを照合し、「このスキルを今使うべきか」を判断する。
スキルの説明文は、Claude が
Skill System — Claude Code
「どのスキルをいつ使うか」を判断する
唯一の手がかりだ。
説明文がなければ、Claude はそのスキルの存在を「知っていても使い方がわからない」状態になる。本棚に本があるのに、タイトルが読めない状態に近い。
「バジェット」の仕組み
すべてのスキルの説明文を、毎回まるごと Claude に渡すことはできない。トークン(処理コスト)の問題があるからだ。
Claude Code には 「スキル一覧に使ってよいコンテキストの割合」 を制限する設定がある。それが skillListingBudgetFraction だ。
この設定は、Claude Code のバイナリ(本体ファイル)の中に次のように定義されている:
skillListingBudgetFraction: number .gt(0).lte(1) .describe( "Fraction of the context window reserved for the skill listing sent to Claude (default: 0.01 = 1%). When the list exceeds this, descriptions are shortened to fit." )
つまり、デフォルト(初期状態)では コンテキスト全体のわずか1% しかスキルの説明文に割り当てられていない。
初期状態。スキルの説明文に使えるのはコンテキスト全体のわずか1%。多くの説明文が省略される。
settings.json に記録されていた値。1%より広いが、それでも18個のスキル説明が省略されていた。
デフォルトの1%がいかに狭いか、視覚的に確認しよう。
デフォルト 1% ─ スキル説明文はここに押し込まれる
何が省略されていたのか
Claude Code の診断コマンド /doctor を実行したとき、衝撃的な一行が表示された。
Skills Skill listing will be truncated 18 descriptions dropped (full descriptions kept for most-used skills) (5.8%/5% of context) affected: document-skills:xlsx, document-skills:docx, document-skills:claude-api, +15 more run /skills to disable some, or raise skillListingBudgetFraction (currently 5%) in settings.json
18個のスキル説明文が「落とされていた」。 5%の枠をスキル一覧が5.8%分オーバーしていたため、使用頻度の低いスキルの説明文が自動的に省略されていたのだ。
また、説明文が「省略」される方法は2種類ある:
| 種類 | 内容 | 影響 |
|---|---|---|
| 短縮 (Shortened) | 説明文の後半部分が切り捨てられる | Claudeが判断に使える情報が減る |
| 完全削除 (Dropped) | スキルの説明文が完全になくなる | そのスキルをClaudeが認識できなくなる |
なぜ問題なのか
スキルの説明文が省略されると、何が起きるのか。具体的に考えてみよう。
Claude Code はユーザーの依頼を受け取るたびに、すべてのスキル説明文を参照して「このスキルを呼び出すべきか」を判断している。このプロセスを スキルのマッチング と呼ぶ。
説明文がなければ、
スキルシステムの基本原理
Claude はそのスキルを
「いつ使うべきか」わからない。
たとえば document-skills:xlsx(Excelファイルを生成するスキル)の説明文が削除された場合、「Excelファイルを作って」と頼んでも Claude はそのスキルを思い出せず、代わりに汎用的な回答を返す可能性がある。
ただし、影響の大きさはスキルの使用頻度によって異なる。
| スキルの種類 | 説明文の扱い | 実害 |
|---|---|---|
| よく使うスキル | 説明文が保護される | ほぼなし |
| たまに使うスキル | 説明文が短縮される | マッチング精度が下がる |
| めったに使わないスキル | 説明文が削除される | そのスキルが呼ばれなくなる |
日常的によく使うスキルは影響を受けにくい。しかし、「たまに使うが重要なスキル」 ほど被害が大きい。「久しぶりに使おうとしたら動かなかった」という状況が起きやすい。
確認する方法
自分の環境でこの問題が起きているかどうか、/doctor コマンド一発で確認できる。
-
Claude Code を起動する
ターミナルで
claudeと入力してClaude Code を開く。 -
/doctorと入力して Enter診断コマンドが実行され、現在の状態が表示される。
-
「Skills」セクションを探す
次のような表示が出たら、あなたの環境でも問題が発生している。
Skill listing will be truncated N descriptions dropped (full descriptions kept for most-used skills)
Skill listing is within budget
また、現在の skillListingBudgetFraction の値は settings.json で確認できる。
{ "skillListingBudgetFraction": 0.05, // ← この値を確認 ... }
この行がなければ、デフォルトの 0.01(1%)が適用されている。
対処する方法
解決策は2つある。それぞれにトレードオフがあるので、状況に合わせて選ぼう。
使っていないスキルを無効化して、一覧をスリムにする。トークン消費は増えないが、手動で判断する手間がかかる。
skillListingBudgetFraction の値を引き上げる。全スキルを使い続けられるが、毎回のトークン消費が増える。
方法 B(バジェットを増やす) の具体的な手順:
{ // 変更前 "skillListingBudgetFraction": 0.05, // 変更後(例:8%に引き上げ) "skillListingBudgetFraction": 0.08, }
どちらを選ぶか迷ったら、まず 方法 A でスキルを整理 することを推奨する。インストールしたが使っていないスキルを削除するだけで、問題が解消されることが多い。
| 比較項目 | 方法 A(スキルを減らす) | 方法 B(バジェットを増やす) |
|---|---|---|
| トークン消費 | 増えない | 毎回約1.2万トークン増加 |
| 手間 | スキルを選んで無効化する必要あり | 数値を1か所変えるだけ |
| スキルの保持 | 一部のスキルを諦める | すべてのスキルを維持できる |
| 推奨ケース | スキルが多すぎる場合 | すべてのスキルを使い続けたい場合 |
この問題の全体像
Key Takeaways
- Claude Code のスキルには「説明文」があり、Claude はこれを使ってどのスキルを使うか判断している
skillListingBudgetFractionは、スキル説明文に割り当てるコンテキストの割合を決める設定だ- デフォルト値は 1%(0.01)。5%に設定しても18個のスキルが省略されていた
- 説明文が省略されたスキルは、Claude が「いつ使うか」を判断しにくくなる
- よく使うスキルは保護されるが、たまにしか使わないスキルほど影響を受けやすい
- この問題はエラーが出ないため、ほとんどのユーザーが気づいていない
- 対処法は「不要なスキルを削除」か「バジェットを引き上げ」の2択。まず整理から始めよう
Discovered on 2026.05.07 · Claude Code v2.1.132 · Binary inspection of claude.exe