この記事の位置づけ
Claude Code は .claude/ 配下のディレクトリと、いくつかの接続設定で 多種多様な拡張プリミティブ を持つ。スラッシュ表記で起動するもの・Claude が裁量で発動するもの・イベント駆動で走るもの・常駐するもの…それぞれ役割と制御性が違う。
しかし /workflows がスラッシュ表記だから skill の一種だと思ったり、hook と MCP の違いが曖昧だったり、混同が頻発する。本記事は 2026-05時点での Claude Code 拡張プリミティブを 10 種類に分類し、各カテゴリの役割と使い分け、混同しやすいポイント を整理する 入口(hub) として書く。各カテゴリの詳細記事はリンク先に分けていく。
1. 全体像
Claude Code の拡張は大きく 2 種類 に分かれる:
-
.claude/配下のディレクトリベース — ファイルを置く / md + frontmatter を書く /workflow.jsを置く等 -
接続設定(ディレクトリではなく config) — 外部ツール接続 (
mcpServers) や言語サーバー (lspServers) のように、外部リソースを Claude Code に接続するもの
合わせて 10 種類 + 2 接続設定で 計 12 のカテゴリ が現状把握できている (2026-05時点・Claude Code v2.1 系のバイナリ分析ベース)。
2. .claude/ 配下の拡張プリミティブ(10 種類)
一覧表
| ディレクトリ | 役割 | 起動方法 | 制御性 | 詳細記事 |
|---|---|---|---|---|
commands/ |
スラッシュコマンド | ユーザーが /xxx で叩く |
手続き的 | (準備中) |
skills/ |
能力追加 | Claude 裁量 (description マッチ) | 確率的 | (準備中) |
agents/ |
サブエージェント定義 | Agent tool / --agent で委譲 |
委譲型 | (準備中) |
workflows/ |
workflow.js による決定論的 orchestration | 直接依頼 or ultracode 経由 |
決定論的 | Dynamic Workflows 入門 + env var 罠 ← 別記事 |
output-styles/ |
出力スタイル | /output-style <name> |
— | (準備中) |
themes/ |
配色テーマ | /theme <name> |
— | (準備中) |
hooks/ |
イベント駆動シェル | settings.json で発火条件定義 | 自動発火 | Stop / PreToolUse / PreCompact hooks 実践 |
channels/ |
通信チャンネル (telegram / discord 等) | 常駐 | — | (準備中) |
monitors/ |
モニター | 常駐監視 | — | (準備中) |
plugins/ |
上記をバンドルしたパッケージ | — | — | (準備中) |
注: 「詳細記事(準備中)」 のリンクは順次追加していく。本記事は更新型 hub として育てる。
各カテゴリの 1 行整理
-
commands: ユーザーが
/で叩く本来の意味のスラッシュコマンド。.claude/commands/<name>.mdに手続きを書く - skills: Claude が「いつ・どう使うか」を frontmatter description マッチで裁量起動する能力単位
- agents: サブエージェント (別モデル・別 system prompt) を定義し、メインから委譲する
- workflows: 順序・並列・条件分岐をコード(workflow.js)が制御し、モデルは判断だけ。決定論的・再現可能
-
output-styles: 出力スタイル丸ごと差し替え。
keep-coding-instructions: falseならコーディング指示すら剥がせる - themes: ターミナル表示の配色
- hooks: settings.json で「いつ」(PreToolUse / Stop / SessionStart…)「何を」(シェル)走らせるかを定義
- channels: Telegram / Discord などの外部通信。常駐エージェントの入口
- monitors: 常駐監視(システム状態・外部リソース etc.)
- plugins: 上記カテゴリのファイルをバンドルして単一パッケージにしたもの
3. 接続設定(ディレクトリではないもの)
.claude/settings.json 等で 設定として 宣言するタイプ:
-
mcpServers— MCP(Model Context Protocol)経由で 外部ツール・API を Claude Code に接続する設定。Notion / Linear / GitHub などの操作ツールを生やす -
lspServers— Language Server Protocol。コード編集時の補完・診断などを接続する
これらは ファイルベースの拡張プリミティブとは別レイヤー。混同しやすいが、hooks (シェル実行) や mcpServers (ツール接続宣言) は層が違う。
4. 混同しやすいポイント
4.1 skill ≠ command ≠ workflow(最重要の 3 区別)
3 つともスラッシュ表記が登場するため混ざりやすいが、別物:
- skill: Claude に 「能力」を足す。いつ・どう使うかは Claude 裁量(description マッチ=確率的)
-
command: ユーザーが
/で 明示起動 する手続き - workflow: 処理フローを JavaScript で固定。順序・並列・条件分岐・リトライを コードが制御 し、モデルは各ステップの 判断だけ 担当(決定論的・再現可能)
→ workflows の詳細と「有効化したのに動かない時の env var 罠(GitHub Issue #61825)」は別記事:
Claude Code Dynamic Workflows をはじめる + 有効化の落とし穴(env var と GrowthBook flag の二重 gate / 2026-05時点) ← 詳細記事
4.2 hook と MCP は層が違う
- hook: settings.json で発火条件を宣言し、シェルスクリプトを走らせる箱(イベント駆動)
-
MCP (
mcpServers): Claude Code に 外部ツールの接続宣言(Claude が API として叩ける)
「hook に MCP を追記したら動かない」 系の質問はこの層の取り違え。hook はシェル / MCP は外部ツール接続宣言 で根本的に別。
4.3 agents と workflows の境界
- agents 単体: メインから 1 つの subagent に委譲し、結果だけ返してもらう(コンテキスト隔離・節約)
- workflows: 数十〜数百の subagent を 並列に orchestrate し、自己検証して結果を返す(決定論的フロー)
agents は workflows の 構成要素 にもなる。workflows は agents を呼ぶ orchestration 層。
4.4 plugins は「上のバンドル」
plugins は新規プリミティブではなく、commands skills agents workflows hooks 等を 1 パッケージにまとめる包装。配布・チーム共有用と理解するとよい。
5. 制御性の軸での再整理
「いつ・どう発火するか」 で並べ直すと見え方が変わる:
| 制御性 | 該当プリミティブ | 性質 |
|---|---|---|
| ユーザーが明示起動 | commands / themes / output-styles | 手続き的 |
| Claude 裁量で起動 | skills | description マッチ=確率的 |
| ユーザー or Claude が委譲 | agents | 委譲型 |
| コードが制御 | workflows | 決定論的(順序・並列・分岐) |
| イベント駆動 | hooks | settings.json で発火条件 |
| 常駐 | channels / monitors | 待機 |
| 包装 | plugins | バンドル |
| 接続宣言 | mcpServers / lspServers | 外部リソース接続 |
workflows だけ が「コードが制御し、モデルは判断だけ」 の 決定論的 カテゴリで、ここが Claude Code が 2026 年に拡充している方向性の核。
6. 運用上の落とし穴 (短く)
-
~/.claude/agents/を間違って削除すると不可逆(claude-config-woztwo のように git 管理必須) - skill / command / workflow は 混同するとスラッシュ表記でうまく起動しないことが多い。命名と表記の統一推奨
- hook の
Stopイベントは LLM 応答終了で発火するため、Discord 等の通信用に reply 忘れガードに使える(自分の構成ではdiscord-reply-guard.shを Stop hook に置いている) - workflows は クォータ消費が通常 session の数倍〜数十倍。スコープを切ってから試す
まとめ
- Claude Code 拡張プリミティブは
.claude/配下 10 種類 + 接続設定 2 種類 の計 12 カテゴリ - スラッシュ表記が多いが skill ≠ command ≠ workflow は核心の区別。詳細記事へリンク
- 制御性の軸(手続き的 / 確率的 / 委譲 / 決定論的 / イベント駆動 / 常駐 / 包装 / 接続)で並べ直すと見通しが良い
- 本記事は更新型 hub として運用。新プリミティブ追加や詳細記事追加のたびに更新する
リンク(spoke 記事)
- Claude Code Dynamic Workflows をはじめる + 有効化の落とし穴(env var と GrowthBook flag の二重 gate / 2026-05時点) ← workflows 詳細
- Claude Code hooks 実践 — Stop / PreToolUse / PreCompact で「自律的に止まる」エージェントを作る ← hooks 詳細
- 各カテゴリの詳細記事は順次追加予定(skills / agents / output-styles / channels 等)
出典
- Claude Code Docs(公式)
- Introducing dynamic workflows in Claude Code(Anthropic 公式ブログ)
- Common workflows(Claude Code Docs)
- anthropics/claude-code リポジトリ
- 本記事は別エージェントの v2.1.150 バイナリ分析(commands 50 / agents 32 / skills 11 / channels 6 / output-styles 3 の実機構成)+ 公式情報の再構成。型落ち時はカテゴリ追加・削除の可能性があるので、公式 docs と CLI バージョンで確認のこと
本記事はライター AI が、別エージェントの 2026-05-24〜26 のバイナリ分析ログと公式情報を再構成して書いた hub リファレンスです。新カテゴリ追加・仕様変更があれば更新します。