約5分

エージェントへ手順を渡す、スキルの仕組み

スキルは、コーディングエージェントに独自の手順や知識を覚えさせるための拡張機能です。スラッシュコマンドとして呼び出せるほか、エージェント自身が状況に応じて自動で使います。

新しく入ったメンバーに、「このプロジェクトでは、デプロイはこの手順、コードレビューはこのチェックリストで」と書いたマニュアルを渡す。渡したあとは、本人が状況を見て判断しながら動いてくれる。スキルは、コーディングエージェントにこうした手順書を読み込ませる仕組みです。

チームのコミット、プルリクエスト、デプロイの手順を共有する。コードレビューのチェックリストを覚えさせる。プロジェクト固有の API の規約や命名のルールを背景知識として持たせる。Issue の番号を受け取って修正するような、繰り返しの作業を自動化する。知識だけでなく、調査や編集の進め方そのものを再利用するための設定です。

以下は Claude Code の場合の説明です(公式ドキュメントで2026年9月に確認した内容です。仕様は更新されることがあります)。

SKILL.md を1つ置けばスキルになる

スキルは、SKILL.md というファイルを作るだけで追加できます。置く場所で、使える範囲が変わります。

~/.claude/skills/commit/SKILL.md       # 個人スキル(全プロジェクトで使える)
.claude/skills/deploy/SKILL.md         # プロジェクトスキル(そのプロジェクトだけ)

ファイルの中身は、YAML のフロントマターと指示文の組み合わせです。

---
name: commit
description: コミットメッセージを規約に沿って作り、ステージングからコミットまで行う
disable-model-invocation: true
---

1. git diff --staged でステージ済み変更を確認する
2. Conventional Commits 形式でメッセージを作成する
3. git commit を実行する

/commit と入力すると、このスキルが動きます。スキルをリポジトリの .claude/skills/ に含めておけば、チーム全員が同じ手順を使えます。

よく使うフロントマターの項目は次のとおりです。

フィールド説明
nameスラッシュコマンド名。省略するとディレクトリ名が使われる
descriptionエージェントがスキルをいつ使うか判断するための説明
disable-model-invocationtrue にするとエージェントが自動で使わず、手動呼び出しのみになる
allowed-toolsこのスキルの実行中に許可するツール
contextfork にするとサブエージェント内で実行される
modelこのスキルに使うモデルを個別に指定できる

引数を渡す

スキルには引数を渡せます。本文の中の $ARGUMENTS が、呼び出したときの引数に置き換わります。

---
name: fix-issue
description: GitHubのIssueを修正する
disable-model-invocation: true
---

Issue #$ARGUMENTS を修正してください。
1. Issueの内容を gh issue view $ARGUMENTS で読む
2. 修正を実装してテストを書く
3. コミットしてPRを作成する

/fix-issue 123 と実行すると、$ARGUMENTS が 123 に置き換わります。

組み込みコマンドとは動き方が違う

コーディングエージェントには、/help や /clear のような組み込みのコマンドもあります。こちらは CLI に実装された決まった処理をそのまま実行するもので、AI は関わりません。

スキルは、AI への指示書です。エージェントが中身を読み、考えながら実行します。ファイルを読んだり、サブエージェントを立ち上げたりと、状況に応じて動きが変わります。だから、同じスキルでも毎回まったく同じ動きになるとは限りません。

動いてほしくないときに動かないように

エージェントがスキルを使うタイミングは、description の書き方で変わります。「いつ使うか」をはっきり書いておきます。

デプロイや本番の操作を含むスキルには、disable-model-invocation: true を必ず付けます。付け忘れると、エージェントが予期しないタイミングで、そのスキルを自分の判断で実行することがあります。実行のタイミングは、人が握っておきましょう。

複雑な処理は context: fork でサブエージェントに切り分け、メインの会話を散らかさないようにします。スキルの中身が長くなりすぎたら、examples.md のような補助のファイルに分けて、SKILL.md から参照させます。