Claude Codeに、毎回同じ手順をやってほしい。そう思って調べると、スキルとサブエージェントという2つの名前が出てきます。

この記事の目次(4節)
  1. スキルとサブエージェントは、どこに書いて、いつ読み込まれるか
  2. 本体の会話の目印を、サブエージェントは知らなかった
  3. スキルとサブエージェントの使い分け
  4. どの仕事をどう任せるか、無料AI業務診断で整理する

どちらも「AIに仕事を覚えさせるファイル」に見えるので、どっちを作ればいいのか迷いますよね。

答えを先に言うと、違いは働く場所です。スキルを使うと本体のAIが自分で手順どおりに動き、サブエージェントを使うと別のAIが働いて、本体には答えだけが返ってくるんです。

スキルとサブエージェントは、どこに書いて、いつ読み込まれるか

スキルは、SKILL.md というファイルに書いた指示や手順です。置き場所はプロジェクトなら .claude/skills/<名前>/SKILL.md で、/名前 と打てば呼べます。

ふだんの会話に入っているのは、既定ではスキルの名前と説明までです。本文は使われるときにだけ読み込まれるので、長い手順を置いても、呼ぶまではほとんど場所を取りません。

呼んだスキルは、本体の会話に残る

呼んだスキルの本文は、1つのメッセージとして本体の会話に入り、そのあとのやりとりのあいだも残ります。Claude Codeは、次の発言のたびに SKILL.md を読み直しはしません。

本体のAIが、手順書を手元に開いたまま働くんです。会話の流れも、それまでに読んだファイルも見ながら、その手順で動きます。

サブエージェントは、何を持って仕事を始めるか

サブエージェントは、本体から仕事を任される別のAIです。自分専用のコンテキストウィンドウで動き、使えるツールや権限も個別に決められます。コンテキストウィンドウは、AIが一度に広げておける作業机のようなものです。

公式の説明では、サブエージェントは会話の履歴も、呼んだスキルも、読んだファイルも見えずに始まります。持つのは、本体のAIが書いた依頼文と CLAUDE.md などです。

この始まり方には例外もあります。「フォーク」という起動のしかたでは、本体の会話をまるごと引き継ぎます。逆に、調べもの用に最初から入っている Explore と Plan は、CLAUDE.md も読まずに始まります。

定義は .claude/agents/ に置く1つのMarkdownファイルで、先頭に名前と説明を書きます。

ONE HEAD, TWO HEADS 本体の文脈(スキルはここに入る) サブエージェントの文脈 会話の流れ 読んだファイル CLAUDE.md 呼んだスキルの本文 会話に入り、そのまま残る 要約のあとは先頭の5,000トークン分 本体が書いた依頼文 CLAUDE.md スキルの一覧 読んだログやファイル 本体の会話は見えない 読んだ中身はここに置いたまま 依頼だけ渡す 答えだけ返す
スキルの本文は本体の会話に入って残り、サブエージェントは会話を見ずに別の文脈で働いて、答えだけを返します。

本体の会話の目印を、サブエージェントは知らなかった

本当に会話が見えないのか、このサイトの記事を書く作業環境で確かめました。日付は2026年11月7日、Claude Codeのバージョンは2.1.319です。

本体の会話にだけ、目印の語を1つ書いておきました。そのうえで、依頼文には目印を入れずにサブエージェントを起動し、「親の会話の目印の語を知っているか」を聞きました。

返事は「知らない」でした。

いっぽうで、サブエージェントはファイルを読む前から、CLAUDE.md の最初の見出しを答えられました。使えるスキルの一覧も、38件が入っていたとのこと。作業フォルダとブランチも、本体と同じでした。

会話は持ち込めなくても、CLAUDE.md に書いたプロジェクトの決まりは最初から知っています。

サブエージェントがさらにサブエージェントを起動できるかは、環境しだい

意外だったのが、サブエージェントが使えるツールの顔ぶれです。スキルを呼ぶ Skill ツールはあるのに、サブエージェントを起動する Agent ツールが無かったんです。

公式の説明では、サブエージェントは既定でメインの会話から3階層下までサブエージェントを起動できます。ところがこの作業環境では、階層の上限を決める CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH が 1 でした。

1 は入れ子を切る値で、サブエージェントを起動できるのは本体だけになります。この値が違う環境では、同じ指示を出しても動きが変わります。値は、環境変数か settings.json の env で決まります。

返ってくる答えは短くても、トークンは使っている

このサブエージェントは約10秒で終わり、本体に返ってきたのは5つの答えの文だけでした。それでも、サブエージェントの側では47,956トークンを使っています。

サブエージェントの使った分も、本体と同じ使用制限に数えられます。本体の机は散らからなくても、別の机で使った分だけ、使える量は減っていきます。

長いスキルは、自動の要約のあとに先頭しか残らないことがある

この試しと同じ日に、本体のほうで記事を書くときに使っているスキルを呼ぶと、666行の本文がまるごと会話に入りました。

公式は SKILL.md を500行未満に保つよう勧めています。会話が長くなると、作業机を空けるために、それまでの会話が自動で要約されます。別の節によると、そのあと付け直されるスキルの本文は、先頭の5,000トークン分までです。

長いスキルほど後ろの手順が抜けやすいので、大事な手順は先頭に書くのがよさそうです。

スキルとサブエージェントの使い分け

分け方は、AIに「覚えていてほしいもの」か「見てきてほしいもの」かで考えると迷いません。

毎回同じ手順・チェックリスト・書き方の決まりは、スキルにします。

ログやたくさんのファイルを読む調べものは、サブエージェントに任せます。読んだ中身で本体の会話が埋まらず、要点だけが戻ってきます。

別の目で点検するなら、会話は見せないほうがいい

このサイトでは、公開前の記事の点検をサブエージェントに任せています。点検役には、PR の番号と点検するコミットと、決まった依頼文を渡します。書いたときのメモや選んだ理由は渡しません。

書いた本人と同じ文脈で点検すると、同じ思い込みのまま読んでしまうんです。書き込みのツールを外したAIに点検させる話も、同じ考え方です。

さらに2026年10月11日からは、点検役のサブエージェントを起動するのは本体だけ、と決めています。記事を書くサブエージェントには Agent ツールが無く、点検役を起動できないからです。

リポジトリを書き換えるサブエージェントは、worktreeで作業フォルダを分けると、本体とぶつかりません。

2つは組み合わせて使える

スキルの先頭に context: fork と書くと、そのスキルをサブエージェントの中で動かせます。手順はスキルに書き、読む量の多い作業だけ別の机で済ませたいときに使えます。

反対に、サブエージェントの定義の skills フィールドにスキル名を書くと、起動時にその本文を先に読ませておけます。

いくつものエージェントで同じ知識を使うなら、知識はスキルにまとめておくのが手です。Anthropicのブログにも、同じ勧めがあります。

自分で組むのが大変なら、このサイトのAI秘書に任せることもできます。マニュアル・手順書の作成など、社内・総務の仕事を引き受けています。

どの仕事をどう任せるか、無料AI業務診断で整理する

この使い分けは、人に仕事を頼むときとよく似ています。本人に手順書を渡すか、別の人に頼んで報告だけ受け取るかです。

このサイトの記事をルーティンで書かせて公開している仕組みも、手順はスキル、点検はサブエージェントに分けています。

自社のどの仕事を、手順書にしてAIに渡せるかは、無料AI業務診断(30分のオンライン相談)で一緒に整理できます。相談のページから申し込めます。

AIにも、まずは任せ方から決めてあげるのが近道ですね。

Source:

  1. Claude Code Docs「カスタムサブエージェントの作成」(参照 2026-11-07)
  2. Claude Code Docs「Claude をスキルで拡張する」(参照 2026-11-07)
  3. Claude ブログ「スキルの解説:スキルとプロンプト、プロジェクト、MCP、サブエージェントの比較」(参照 2026-11-07)