バンドルスキルと組み込みコマンドの違い — Claude Code
バンドルスキルはプロンプトベース、組み込みコマンドは固定ロジックです。両者の見分け方と、第3のカテゴリであるバンドルワークフロー、名前が衝突したときの優先順位まで扱います。
バンドルスキルと組み込みコマンドは何が違うか
バンドルスキルとは、Claude Code本体に同梱されたプロンプトベースの機能です。詳しい手順書がClaude自身に渡され、その内容に沿ってツールを組み合わせて実行するかどうかをClaudeが判断します。組み込みコマンドは違います。多くはCLIに直接コードされた固定ロジックをそのまま実行するだけで、Claudeの判断が入る余地はほとんどありません。
見分け方は単純です。公式のコマンドリファレンスには全コマンドの一覧表があり、Purpose列にSkillと書かれていればバンドルスキル、何も書かれていなければ組み込みコマンドです。/code-reviewや/debugはSkill表記があるのでバンドルスキル、/clearや/modelは表記が無いので組み込みコマンドという具合に分かれます。
この違いはユーザーが自分で書くスキルとの関係にも表れます。バンドルスキルは自作スキルとまったく同じ形式のプロンプトなので、/に続けて名前を打つ呼び出し方も、skillOverridesでの表示制御も、自作スキルと同じ仕組みが適用されます。組み込みコマンドはスキルという概念自体に属さないため、この制御の対象外です。Claude Code全体の中でスキルやコマンドがどう位置付くかはClaude Code完全ガイドで扱っています。
バンドルスキルは全部で何個あるか
コマンドリファレンスの一覧表には110個のコマンドが載ります。内訳はバンドルスキルが14個、後述するバンドルワークフローが1個、残る95個が組み込みコマンドです。バンドルスキルの内訳は次のとおりです。
| コマンド | できること | いつ・誰に効くか |
|---|---|---|
/batch | できることコードベース全体の変更を5〜30個の独立した単位に分解し、並列のサブエージェントで実装してPRまで作る | いつ・誰に効くか大量の機械的な移行・置換作業をまとめて片付けたいとき |
/claude-api | できることプロジェクトの言語に応じたClaude API・Managed Agentsのリファレンスを読み込む(anthropicパッケージのimportで自動起動もする) | いつ・誰に効くかClaude APIを組み込んだアプリを書いているとき |
/code-review | できること今の差分やPR、指定パスのコードをレビューし、正しさのバグと整理の余地を洗い出す | いつ・誰に効くかマージ前に人手のレビューを補いたいとき |
/dataviz | できることチャート・グラフ・ダッシュボードの色とデザインの指針を示す | いつ・誰に効くかデータ可視化のUIを作る前の指針が欲しいとき |
/debug | できることセッションのデバッグログを有効にし、問題の切り分けを助ける | いつ・誰に効くかClaude自身の挙動がおかしいと感じたとき |
/design-sync | できることリポジトリのReactデザインシステムをClaude Designへアップロードする | いつ・誰に効くかデザインチームとコンポーネントを揃えたいとき |
/doctor | できることインストール状態やCLAUDE.mdの肥大化まで含めた、セットアップ全般の健康診断をする | いつ・誰に効くかセットアップ不調の原因を切り分けたいとき |
/fewer-permission-prompts | できること過去の読み取り専用コマンド履歴から許可リスト(allowlist)を作り、権限確認の回数を減らす | いつ・誰に効くか毎回同じ確認ダイアログに煩わされているとき |
/loop | できること決めた間隔でプロンプトを繰り返し実行する | いつ・誰に効くか監視や定期チェックを自動化したいとき |
/run | できること実際にアプリを起動し、変更が動いていることを目視で確認する | いつ・誰に効くかテストだけでなく実機で挙動を見たいとき |
/run-skill-generator | できることクリーンな環境からの起動手順を/run・/verify用のレシピとして記録する | いつ・誰に効くか新しいプロジェクトで/runの手順を初めて整備するとき |
/simplify | できること変更したコードの再利用・簡略化・効率・抽象度を4つの並列エージェントでレビューする | いつ・誰に効くか動くコードをマージ前にもう一段整えたいとき |
/verify | できることテストや型チェックに頼らず、ビルド・起動・観察でコード変更の正しさを確認する | いつ・誰に効くかテストが薄いプロジェクトで変更を裏取りしたいとき |
/workflow-authoring | できることdynamic workflows(動的ワークフロー)のスクリプトを書くためのリファレンスを読み込む | いつ・誰に効くか独自のワークフロースクリプトを書き始めるとき |
14個のうち/run・/run-skill-generator・/batchは個別の使い方を別記事で詳しく扱っています。一覧の全体像はここで押さえ、個々の細部はClaude Codeの/runコマンドやrun-skill-generatorの記事を参照してください。
/design-syncだけは利用できる面が限られます。Anthropic APIでは動きますが、Amazon Bedrock・Google Cloud's Agent Platform・Microsoft Foundry・Claude Platform on AWS経由では基盤のツールがclaude.aiへ到達できず、コマンド自体が使えません。バンドルスキルだからといって、どの利用形態でも同じように動くとは限らない一例です。
バンドルワークフローという第3のカテゴリ
コマンド一覧表にはもう1種類の注記があります。Workflowです。この表記が付くのは/deep-researchだけで、複数の角度でウェブ検索をファンアウトし、見つけたソースを相互に検証しながら1本の出典付きレポートにまとめるコマンドです。
バンドルスキルとバンドルワークフローは似ていますが仕組みが違います。バンドルスキルはClaude自身がその場でツールを使うプロンプトです。バンドルワークフローは、複数フェーズにわたって多数のサブエージェントをバックグラウンドで走らせる、あらかじめ組まれた実行計画です。/deep-researchを実行すると処理はバックグラウンドに回り、セッション自体は塞がれません。進行状況は/workflowsで別途確認します。
/deep-researchは呼び出したときだけ動きます。v2.1.218より前はClaudeが自分の判断で開始することもありましたが、今は明示的な呼び出しが必要です。ワークフロー機能自体を設定でオフにすると、/deep-researchのようなバンドルワークフローのコマンドに加えて、ワークフロー作成を助ける/workflow-authoringスキルも同時に使えなくなります。1つの設定が異なる2つのカテゴリへ波及する数少ない例です。
名前が衝突したらどちらが優先されるか
自作スキルとバンドルスキルが同じ名前を持つ場面は珍しくありません。この場合、常にユーザー側の定義が優先されます。プロジェクトの.claude/skills/code-review/にスキルを置けば、バンドルの/code-reviewはそちらに置き換わります。ただし置き換わるのは/code-reviewという名前だけで、そのエイリアスである/reviewは元のバンドルスキルのまま動き続けます。
.claude/commands/のファイルも同じ扱いを受けます。同名のスキルとコマンドファイルが両方存在する場合は、スキル側が優先されます。エンタープライズ・パーソナル・プロジェクトの3スコープ間では、エンタープライズがパーソナルを、パーソナルがプロジェクトを上書きします。
組み込みコマンドはこの上書きの対象に入りません。/clearや/modelのような組み込みコマンドの名前は常に予約されていて、同名のスキルを書いても組み込みコマンド自体は動き続けます。バンドルスキルの名前は自分のスキルで塗り替えられますが、組み込みコマンドの名前は塗り替えられません。ここが両者の実務上でいちばん効いてくる違いです。
バンドルスキルだけをオフにする設定
バンドルスキルとバンドルワークフローをまとめて止めるには、settings.jsonのdisableBundledSkillsをtrueにします。
{
"disableBundledSkills": true
}有効にすると、バンドルスキルとバンドルワークフローはセッションから完全に取り除かれます。組み込みコマンドは扱いが違い、/initのような一部の組み込みコマンドはタイプ可能なまま残りますが、Claudeからは見えなくなります。同じ効果は環境変数CLAUDE_CODE_DISABLE_BUNDLED_SKILLS=1でも1セッション限定で得られ、どちらか一方がオフにした状態を、もう一方でオンへ戻すことはできません。
1つだけ個別に隠したい場合はskillOverridesを使います。値は"on"(既定)・"name-only"(Claudeには説明抜きの名前だけ見える)・"user-invocable-only"(Claudeからは見えないが/nameは打てる)・"off"(両方から消える)の4種類です。設定例やモデル別の上書きとの組み合わせはskillOverridesの記事で詳しく扱っています。プロジェクト全体でバンドルスキルを一括で止めたいのか、特定の1つだけ手元から隠したいのかで、disableBundledSkillsとskillOverridesのどちらを使うかが決まります。今読み込まれているバンドルスキルの実際の一覧は/skillsコマンドの記事で確認できます。
Skillツール経由でClaudeが呼べる組み込みコマンドは一部だけ
Claudeがタスクの途中で自分の判断でコマンドを実行する経路として、Skillツールがあります。既定では、frontmatterにdisable-model-invocation: trueを設定していない限り、どのスキルもClaudeが自分の判断で呼び出せます。バンドルスキルもこの既定に従うため、/code-reviewや/debugをClaudeが自律的に呼ぶ場面があります。組み込みコマンドはもともとこの対象外で、公式ドキュメントが明記する例外は/initと/security-reviewだけです。/compactのような他の組み込みコマンドはSkillツール経由では呼び出せません。
つまり「組み込みコマンドだからClaudeが自律的に呼べない」わけではなく、個別に許可されたごく一部だけが例外的に呼べる、という粒度で決まっています。この境目を知らないと、「Claudeがなぜこの組み込みコマンドを自分で実行しないのか」という疑問に答えられなくなります。
よくあるつまずき
/doctorの例外:disableBundledSkillsを有効にしたのに/doctorだけ残っていて混乱するケースです。v2.1.205の経緯によりバンドルスキルの一括無効化から意図的に除外されています。個別に隠したければDISABLE_DOCTOR_COMMANDかskillOverridesを使います- 上書きできない名前: 自作スキルを組み込みコマンドと同名にして上書きしようとする失敗です。バンドルスキルは上書きできますが、組み込みコマンドの名前は常に予約されているため上書きできません。名前を変えるのが確実です
- 一括で効く設定: バンドルワークフローとバンドルスキルを別々に制御できると思い込むケースです。ワークフロー機能全体のオン・オフは
/deep-researchのようなワークフローコマンドと/workflow-authoringスキルの両方に一括で効きます
よくある質問
バンドルスキルを完全に削除することはできますか
削除ではなく無効化です。disableBundledSkillsをtrueにすると/doctorを除く全バンドルスキルとバンドルワークフローがセッションから取り除かれます。個別の1つだけを消したい場合はskillOverridesで対象のコマンド名を"off"にします。
バンドルスキルは自分で編集できますか
バンドルスキル自体のプロンプトを直接編集する手段は用意されていません。同じ名前の自作スキルをプロジェクトの.claude/skills/に置けば、その名前の呼び出しは自作スキルに置き換わります(エイリアスは元のバンドルスキルのままです)。
プラグイン経由のスキルもこの優先順位に従いますか
プラグインスキルはプラグイン名:スキル名という独自の名前空間を持つため、他のスコープと名前が衝突すること自体がありません。my-plugin/skills/deploy/は/my-plugin:deployとして、プロジェクトのdeployスキルとは別に並んで使えます。なおskillOverridesはプラグインスキルには効かず、そちらは/pluginメニューで管理します。
/verifyや/runのようなバンドルスキルはClaudeが勝手に実行しますか
コマンドによります。/verifyはv2.1.215より前はClaudeが自分の判断で実行することもありましたが、それ以降は明示的な呼び出し専用になりました。バンドルスキル全般については、関連性があればClaudeが自動で呼び出すこともあるとされているため、呼び出しタイミングを厳密に制御したい場合は個別の無効化設定を検討する余地があります。
まとめ
バンドルスキルはClaude自身に手順を渡すプロンプトで、組み込みコマンドはCLIに直接コードされた固定ロジックです。見分けるにはコマンドリファレンスのPurpose列を見るのが最短で、Skill表記があれば14個のバンドルスキルのどれか、Workflow表記があれば現状/deep-researchだけのバンドルワークフローに当たります。実務で効いてくるのは、バンドルスキルの名前は自作スキルで上書きできるのに対し、組み込みコマンドの名前は常に予約されていて上書きできないという非対称性です。disableBundledSkillsとskillOverridesもこの非対称性の上に設計されているので、どちらの設定を使うべきか迷ったら、まず対象がバンドルスキルなのか組み込みコマンドなのかを確認すると判断が早くなります。