ひとことで言うと
スキルは、コーディングエージェントに「この状況ではこう動け」という手順書を読み込ませる仕組みです。Claude Code では SKILL.md というファイルに書くだけで、/スキル名 というスラッシュコマンドとして使えるようになります。
スラッシュコマンドとの違い
コーディングエージェントには /help /clear のような組み込みコマンドがありますが、これらは固定のロジックを直接実行します。スキルはそれとは別の概念です:
- 組み込みコマンド: CLIに実装された固定処理。AIが関与しない
- スキル: AIへの指示書。エージェントが内容を読んで考えながら実行する。ファイルを読んだりサブエージェントを立ち上げたりと、状況に応じて動きが変わる
Claude Code でのスキルの作り方
スキルは 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 と入力するとこのスキルが動きます。
フロントマターの主要フィールド
| フィールド | 説明 |
|---|---|
name | スラッシュコマンド名。省略するとディレクトリ名が使われる |
description | エージェントがスキルをいつ使うか判断するための説明 |
disable-model-invocation | true にするとエージェントが自動で使わず、手動呼び出しのみになる |
allowed-tools | このスキルの実行中に許可するツール |
context | fork にするとサブエージェント内で実行される |
model | このスキルに使うモデルを個別に指定できる |
どんな場面で使うか
- チームのコミット・PR・デプロイ手順をスキルとして共有する
- コードレビューのチェックリストをエージェントに覚えさせる
- プロジェクト固有のAPI規約や命名規則を背景知識として読み込ませる
- 引数を受け取って特定のIssueを修正するような反復作業を自動化する
引数の渡し方
スキルには引数を渡せます。$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 に置き換わります。
実務で気にするポイント
disable-model-invocation: trueを付け忘れると、エージェントが予期しないタイミングでデプロイ系スキルを自動実行することがあるdescriptionの書き方でエージェントがスキルを使うタイミングが変わる。「いつ使うか」を明確に書く- スキルをリポジトリに
.claude/skills/として含めると、チーム全員が同じ手順を使える - 複雑な処理は
context: forkでサブエージェントに分離し、メインの会話を汚さない設計が有効 - スキルの内容が長くなりすぎる場合は支援ファイル(
examples.mdなど)に切り出し、SKILL.mdから参照する
注意: スキルはAIへの指示書であり、毎回まったく同じ動きになるとは限りません。デプロイや本番操作を含むスキルには
disable-model-invocation: trueを設定し、実行タイミングを人が制御してください。