「魔法」の裏側を知りたくないですか?

Claude Codeに「このファイルのバグを直して」と言うと、勝手にファイルを読み、修正し、保存してくれます。 また、「天気を教えて」と言えば、外部APIを叩いて答えてくれます。

まるで魔法のようですが、裏側では非常に論理的なプロセスが動いています。

本記事では、エンジニア向けに**「Claude CodeでSKILLS(スキル)が発動する仕組み」**を徹底的に解剖します。

ここを理解すれば、あなたはClaude Codeを「ただ使う人」から「自在に操る人(ツール開発者)」になれます。

1. 全体像:発動までの4ステップ

Claude Codeがスキルを実行する時、内部では以下の4段階のプロセスが走っています。

  1. ツール定義の読み込み (Tool Definition)
  2. 意図の検出 (Intent Detection)
  3. 引数の生成 (Argument Generation)
  4. 実行と結果のフィードバック (Execution & Feedback)

それぞれ詳しく見ていきましょう。

Step 1. ツール定義の読み込み

Claude Codeが起動する時、設定ファイルや MCP (Model Context Protocol) サーバーから、「自分は何ができるか」というリストを読み込みます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
  "name": "read_file",
  "description": "指定されたパスのファイルを読み込む",
  "parameters": {
    "type": "object",
    "properties": {
      "path": {
        "type": "string",
        "description": "読み込むファイルの絶対パスまたは相対パス"
      }
    },
    "required": ["path"]
  }
}

Step 2. 意図の検出 (Intent Detection)

ユーザーが「src/main.py の中身が見たい」と発言したとします。

Claudeの脳内(推論プロセス)では、以下のような思考が行われます。

ユーザーはファイルの中身を知りたがっている。 私の持っている道具リストの中に、それを叶えるものはあるか? …あった。read_file だ。 この道具を使おう。

これが Function Calling(関数呼び出し) のトリガーです。

Step 3. 引数の生成 (Argument Generation)

道具を使うと決めたら、次は「どう使うか」を決めます。

定義書の parameters に従って、必要な情報を会話履歴から抽出します。

  • ユーザーの発言: “src/main.py の中身…”
  • 引数 path: "src/main.py"

Claudeは以下のような特殊なトークン(またはJSON)を出力します。

<tool_use>
  <name>read_file</name>
  <parameters>
    {"path": "src/main.py"}
  </parameters>
</tool_use>

Step 4. 実行と結果のフィードバック

ここが重要です。Claude自身がファイルを読むわけではありません。

Claudeが出力した上記のJSONを、Claude Codeのランタイム(実行環境) が受け取ります。 そして、PythonやNode.jsで書かれた実際のプログラム(open() 関数など)が実行されます。

実行結果(ファイルの中身)は、再びテキストとしてClaudeに返されます。

<tool_result>
  import os
  print("Hello World")
</tool_result>

これを見て初めて、Claudeは「ファイルの中身はこうなっていました」とユーザーに回答できるのです。

2. MCP (Model Context Protocol) とは?

最近話題の MCP は、この「ツールの渡し方」を標準化した規格です。

これまで、Claudeに独自のツールを追加するには、複雑な設定が必要でした。 しかしMCPを使えば、「MCPサーバー」 を立ち上げるだけで、Claude Codeが勝手にツールを認識してくれます。

仕組み

  1. MCPサーバー: ツール(関数)の実装を持つプロセス。
  2. MCPクライアント: Claude Code本体。

クライアントとサーバーが通信し、「使えるツール一覧」と「実行リクエスト」をやり取りします。 これにより、ローカルのデータベース操作や、社内APIへのアクセスが安全かつ簡単に実装できるようになりました。

まとめ

Claude Codeの「SKILLS」は、魔法ではありません。 「定義を読む」→「選ぶ」→「JSONを作る」→「実行結果を読む」 という、非常に泥臭いテキスト処理のループです。

しかし、この仕組みを理解していれば、あなたはClaude Codeを 「ただの話し相手」から 「手足となって働く最強のパートナー」 に進化させることができます。

ぜひ、自分だけのカスタムスキルを作ってみてください。