コンテンツにスキップ

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