実践ガイド

Claude Code Skills入門|SKILL.mdの書き方

Claude Code Skillsを公式準拠で解説。SKILL.md、/skill-name、personal/project配置、動的注入、scripts/references、commands統合、いつskill化するかを整理します。

AI Agent CampAI Agent Camp 編集部··6 分で読了

Claude Code Skills入門|SKILL.mdの書き方

Claude Code Skills とは

Claude Code Skills は、エージェントに 再利用可能な手順・チェックリスト・ドメイン知識 を渡すための拡張機構です。各 Skill はディレクトリ内の SKILL.md をエントリポイントとし、YAML frontmatter の description と本文の Markdown 指示で Claude の振る舞いを定義します。チャットに毎回同じ長文を貼る代わりに /skill-name で明示呼び出ししたり、説明文に合致する依頼で 自動ロード させたりできます。

公式 Extend Claude with skills によると、Skills は Agent Skills オープン標準 に準拠しつつ、Claude Code では invocation 制御・サブエージェント実行・動的コンテキスト注入 などを追加しています。また custom commands は Skills に統合 され、.claude/commands/deploy.md.claude/skills/deploy/SKILL.md も同じ /deploy として動作します(Skill 側が同名時に優先)。

本記事は SKILL.md の書き方と配置ルールに焦点を当てます。リポジトリ内の具体的な Skill 中身の転載は行いません。MCP や隠し機能との組み合わせは関連記事を参照してください。


前提環境

項目内容
Claude Code最新版推奨(bundled skills の一部は v2.1.145+ 等の下限あり)
配置場所~/.claude/skills/(personal)または .claude/skills/(project)
ファイル各 Skill は ディレクトリ + SKILL.md(単一ファイルだけでは不可)
旧 commands.claude/commands/ は引き続き動作(移行期間中)

Skills の変更は、セッション中の ~/.claude/skills/ やプロジェクト .claude/skills/ については 再起動なしで反映 される(live change detection)一方、プラグインとして hooks 等を含む Skill フォルダでは /reload-plugins が必要な場合があります(公式ドキュメント記載)。


SKILL.md の最小構成

ディレクトリ名 = コマンド名

mkdir -p ~/.claude/skills/summarize-changes

上記例では /summarize-changes として呼び出せます。

frontmatter と本文

---
description: Summarizes uncommitted changes and flags anything risky. Use when the user asks what changed, wants a commit message, or asks to review their diff.
---

## Current changes

!`git diff HEAD`

## Instructions

Summarize the changes above in two or three bullet points, then list any risks you notice such as missing error handling, hardcoded values, or tests that need updating. If the diff is empty, say there are no uncommitted changes.

description は最重要フィールド です。Claude が Skill を 自動選択 するかどうかは、ここに書いた用途説明に大きく依存します。曖昧な「便利ツール」より、「未コミット diff の要約とリスク指摘」など トリガー条件を英語で具体的に 書くのが公式の推奨パターンです。


/skill-name による明示呼び出し

プロンプトまたは Claude Code の入力欄で / を入力するとコマンドメニューが開き、登録済み Skill が一覧されます。直接タイプする例:

/summarize-changes

bundled skills として /doctor/code-review/debug/loop 等が同梱されています(commands reference で Skill 列付き一覧)。/verify/code-review は v2.1.215 以降 ユーザー明示呼び出しのみ になる等、バージョンで挙動が変わる Skill もあるため、claude --version または /status で確認してください。


配置場所:personal / project / plugin

レベルパス適用範囲
Personal~/.claude/skills/<name>/SKILL.md自分の全プロジェクト
Project.claude/skills/<name>/SKILL.mdそのリポジトリのみ
Enterprise管理設定による組織全体
Plugin<plugin>/skills/<name>/SKILL.mdプラグイン有効範囲

同名 Skill が複数レベルにある場合、enterprise > personal > project の優先順位で上書きします。プロジェクト Skill は bundled skill と同名ならプロジェクト側が優先(例: 自作 code-review が bundled /code-review を置き換え)。

モノレポでは ネストした .claude/skills/ もサポートされます。packages/frontend/.claude/skills/ に置いた Skill は、そのパッケージ配下のファイル作業時に apps/web:deploy のような qualified name で利用可能(v2.1.203+)。ルートの /deploy とネスト Skill の使い分けは公式の monorepo 節を参照してください。


commands から skills への統合

以前の .claude/commands/*.md は引き続き動作しますが、新規作成は Skills 形式を推奨 します。Skill の方が次を追加できます。

移行例: .claude/commands/deploy.md.claude/skills/deploy/SKILL.md に同内容を移し、必要なら scripts/deploy.sh を同ディレクトリに置く。


動的コンテキスト注入

SKILL.md 本文では、次のように 行頭の ! の直後に、バッククォートで囲んだシェルコマンド を書けます。Skill ロード時にそのコマンドが実行され、出力で行が置換されます。上記 git diff HEAD 例では、Skill 本文が届く前に 実際の diff がインライン化されるため、Claude は推測ではなく 実行結果に基づいて 要約できます。

!`git diff HEAD`
---
description: Show CI status for the current branch.
---

## Latest CI

!`gh run list --branch $(git branch --show-current) --limit 5`

注意: 注入コマンドは Skill 利用のたびに実行されます。重い処理や秘密情報を stdout に出すコマンドは避け、必要なら .env ではなく Credential Manager 等の安全な経路を検討してください(プロジェクトの秘密情報ルールに従う)。


scripts / references ディレクトリ

Skill フォルダの典型構造(公式例):

my-skill/
├── SKILL.md           # 必須エントリポイント
├── template.md        # Claude が埋めるテンプレート
├── references/
│   └── api-notes.md   # 参照ドキュメント(必要時のみ読み込み)
└── scripts/
    └── validate.sh    # Skill 手順から呼ぶ補助スクリプト

SKILL.md 本文から「scripts/validate.sh を実行して結果を確認せよ」と指示することで、手順と実行物を同梱 できます。長大な API 仕様は references に分離し、Skill 本文は いつ・何をするか に集中させると token 効率が良くなります。


いつ Skill 化すべきか

公式が Skill 作成を勧める典型パターン:

  1. 同じ指示をチャットに何度も貼っている
  2. CLAUDE.md の一節が手順書化 して肥大化している(事実より手順は Skill 向き)
  3. プロジェクト固有のチェックリスト(PR 前レビュー、リリース手順、コーディング規約の適用確認)
  4. 動的データが必要(diff、CI 結果、バージョン番号)→ 動的注入記法が有効
  5. チームで共有したい手順.claude/skills/ をリポジトリにコミット

逆に Skill 化が過剰な例:

CLAUDE.md は「常に効く事実・方針」、Skill は「必要なときだけ読む手順」 と役割分担するのが公式の設計思想です。Skill 本文は利用時まで読み込まれないため、長文参考資料を CLAUDE.md に置くより Skill + references の方がセッション全体のコンテキストを圧迫しにくい、と説明されています。


bundled skills との関係

同梱 Skill(/run/verify/run-skill-generator 等)は プロジェクトの起動方法を学習 する用途で連携します。/run-skill-generator を一度走らせると .claude/skills/run-<project>/ にレシピが記録され、以降 /run/verify が README 推測ではなく 記録済み手順 に従う、という流れです(v2.1.145+)。

disableBundledSkills 設定で bundled をまとめて無効化できますが、/doctor は v2.1.205+ では例外的に残る等、例外があるため設定前に skills ドキュメント を確認してください。


作成・テストの実践フロー

  1. 用途を1文で定義(誰が・いつ・何のために使うか)
  2. description を英語で具体化(自動 invocation の精度が上がる)
  3. SKILL.md + 必要な scripts/references を配置
  4. /skill-name で明示テスト → 続けて description に合う自然言語依頼で 自動ロード を確認
  5. チーム共有なら PR で .claude/skills/ をレビュー

テスト例:

What did I change?
/review-staged

よくあるつまずき

症状原因対処
/my-skill が出ないディレクトリ名と SKILL.md 欠落skills/my-skill/SKILL.md 構造を確認
自動で使われないdescription が曖昧トリガー条件を具体化
動的注入の出力が空コマンド失敗・cwd 不一致リポジトリルートで手動実行して確認
変更が反映されない新規 top-level skills dirセッション再起動(公式の live detection 例外)
commands と競合同名 Skill 優先意図的なら Skill に一本化

FAQ

Q. SKILL.md だけの単一ファイル配置はできますか。 いいえ。公式構造は <name>/SKILL.md です。ディレクトリ名が /name になります。

Q. 日本語の description でもよいですか。 動作はしますが、公式サンプルは英語 description です。自動 invocation の精度を優先するなら英語推奨です。

Q. personal と project、どちらに置くべきですか。 個人の好みの手順は ~/.claude/skills/、チーム共有の手順は .claude/skills/ をリポジトリにコミットします。

Q. MCP サーバーと Skill の違いは何ですか。 MCP は 外部ツール・データ接続(ブラウザ、Figma、DB 等)。Skill は Claude への手順・プロンプト拡張 です。併用が一般的です(MCP 入門)。

Q. 既存の .claude/commands/ はすぐ移行必須ですか。 必須ではありません。公式は「commands は引き続き動作、新規は skills 推奨」としています。

Q. リポジトリの Skill 中身を記事に載せてよいですか。 プロジェクト固有の Skill はライセンス・秘密情報に注意。本記事は一般パターンのみ扱い、具体 Skill の転載はしません。


関連記事

Skill 仕様の正本は code.claude.com/docs/en/skills です。bundled skills のバージョン要件はリリースノートとセットで確認してください。

関連サービス

LINE登録で Claude Code 特典キットを受け取る

スライド自動作成キット・スターターキットを無料プレゼント。友だち登録するだけで受け取れます。

最終確認日: 2026-07-23

関連記事

実践ガイド

Skill・SubAgent・Agent TeamでAIエージェントを拡張する入門2026

Skill(SKILL.md)・SubAgent・Agent Teamの違いと使い分けを実務視点で解説。AIエージェントに知識と手順を追加する方法、専門タスクの委任、並列実行パターン、カスタムSubAgentの定義、非エンジニアの活用例までまとめます。

実践ガイド

Mockを「審判」にする──テスト資産がない既存プロダクトでAI駆動開発を回す方法

AI駆動開発の終了条件は「審判」です。テストが無い既存プロダクトで審判をどう作るか、正解の出所(現行実装・制度・Mock・主観)で場合分けして解説します。審判の検証方法まで含めた実践手順です。

実践ガイド

Mock駆動開発のススメ──AIに実装させる前に、Mockで「正解」を固定する

AIコーディングで最初に壊れるのは実装力ではなく受け入れ基準です。Mockを「絵」ではなく「審判」として使うMock駆動開発の考え方と、既存プロダクトへの入れ方を、実案件の型にもとづいて解説します。

実践ガイド

チケットからマージまで──AI駆動開発の日常ループと多層ゲート

AI駆動開発の型ができた後、毎日どう回すか。チケット→PRD→テストケース/ステート図更新→実装→テスト→マージのループ、速い順に並べる多層品質ゲート、ブランチ戦略を決めずに進む「v2方式」を解説します。