skill / command / subagent の使い分け
結論 (1行)
- skill = 「同じ手続きを毎回貼り付けている」と感じたら
- command = レガシー互換用。2026以降は skill を使う
- subagent = 「親 context を汚したくない大きな探索や別 LLM への hand-off」
詳細
| 観点 |
skill |
command (.md 1枚) |
subagent |
| 起動 |
自動 (description マッチ) + /name |
/name 明示 |
Task ツール経由 |
| 付随ファイル |
可 (scripts, refs) |
不可 |
不可 (skills 経由) |
| 別 LLM 呼出 |
可 (!コマンド`) | 可 (Bash経由) | 可 (frontmattermodel:` または run-agent パターン) |
|
|
| Context isolation |
なし (本流に展開) |
なし |
あり |
| 推奨度 |
◎ 新規はこれ |
△ 互換用 |
◎ 大規模/別文脈 |
判断フロー
タスクを毎回同じ手順でやっている?
├─ Yes → 出力が膨大 or 別 context が欲しい?
│ ├─ Yes → subagent
│ └─ No → skill
└─ No → 都度プロンプトで OK (memorize しない)
ありがちな失敗
- 何でも subagent 化 → トークン 7x 消費。3個未満なら親で直接やる
- 巨大な "汎用 backend-engineer" subagent → 専門特化 (test-runner / migration-writer 等) の方が遥かに高品質
- skill 本文に長文リファレンス全部入れ → 500行超は別ファイルへ。SKILL.md は手続きだけ
出典
- _research/claude-code-features/2026-05-11-claude-code-features.md
- _research/trends/2026-05-11-vibe-coding-trends.md
- https://code.claude.com/docs/en/skills
- https://code.claude.com/docs/en/sub-agents