blog

Claude Code Skillsとは?作り方・種類・使い方をわかりやすく解説【2026年版】

Claude Code Skillsの仕組みと実装ガイド――設計から運用までのイメージ

Claude Code Skills(スキル)とは、Claude Codeに「この場面ではこう進めてほしい」という手順書(SKILL.md)を追加して、必要なときに読み込ませる仕組みです。フォルダを1つ作ってMarkdownファイルを1つ置くだけで、/スキル名 と入力して呼び出したり、会話の内容に合わせてClaudeが自動で使ったりできます。この記事では、2026年10月14日に確認した公式ドキュメントをもとに、Claude Code Skillsの意味・種類・作り方(実際の画面つき)・使い方・ほかの機能との違い・注意点を、初めての方にも分かる順に解説します。

目次

Claude Code Skillsとは?ひとことで言うと「Claude Codeに覚えさせる手順書」

Claude Code Skillsは、AnthropicのコーディングエージェントClaude Codeに、繰り返し使う手順や知識を「スキル」として追加する仕組みです。スキルの実体は SKILL.md という1つのMarkdownファイルで、先頭のYAML(frontmatter)に「いつ使うか」を、本文に「何をどう進めるか」を書きます。Claude Codeは会話の内容に合うスキルを自分で選んで読み込むほか、/スキル名 と入力して直接呼び出すこともできます(出典:公式ドキュメント「Extend Claude with skills」)。

チャットのAI本体であるClaude(クロード)はclaude.aiの画面で使うものですが、Claude CodeはそのClaudeをターミナルやエディタから動かし、ファイルの読み書きやコマンドの実行まで任せられる開発用のツールです。Skillsは、このClaude Codeに「自分たちの手順」を覚えさせるための機能と捉えると分かりやすいです。

押さえておきたい特徴は3つです。

  • ファイル1つで作れる:.claude/skills/スキル名/SKILL.md を置くだけで、再起動なしに使えるようになります。
  • 必要なときだけ読み込まれる:セッション中は各スキルの名前と説明(description)だけが常に文脈に入り、本文は呼び出されたときに初めて読み込まれます。使わないスキルが文脈(コンテキスト)を圧迫しにくい設計です。
  • チームで共有できる:プロジェクトの .claude/skills/ をコミットすれば、同じリポジトリで作業する全員が同じスキルを使えます。
Claude Code Skills アーキテクチャ概念図:スキルパッケージの構成要素とエージェント実行フロー Skillパッケージ SKILL.md(指示書) スクリプト / ツール テンプレート / 参照資料 手順・制約定義 description(自動判断用) Claude Code Agent(自律実行) 遅延ロード・自動判断 ワークフロー出力 自動実行・再利用 チーム共有・CI統合
図1:Claude Code Skillsの概念図。スキルのフォルダ(SKILL.md・スクリプト・参照資料・description)がClaude Codeに必要なときだけ読み込まれ、書かれた手順どおりに作業が進みます。

メインの作業と分けて役割を任せる仕組みは、Claude Codeのサブエージェントの作り方で解説しています。

関連記事Claude CodeのAgent Teamsとは?

Claude Code Skillsの種類:最初から入っているスキルと、自分で作るスキル

スキルは大きく「最初から入っているスキル(バンドルされたスキル)」と「自分やチームで作るスキル」の2種類に分かれます。

最初から入っているスキル(バンドルされたスキル)

Claude Codeには、/doctor(設定の点検)、/code-review(コードレビュー)、/debug、/batch、/loop、/claude-api(Claude APIの参照資料)、/run・/verify(アプリを実際に起動して変更を確かめる)などのスキルが最初から入っています。/ に続けてスキル名を入力して呼び出すほか、関係がありそうな場面ではClaudeが自動で使います(/verify のように、自分で呼んだときだけ動くものもあります)。不要なら設定の disableBundledSkills でまとめて無効にできます。

自分やチームで作るスキル:置き場所で「誰が使えるか」が決まる

自作のスキルは、SKILL.md をどこに置くかで読み込まれる範囲が決まります。公式ドキュメントに載っている置き場所は次の7つです。

種類 置き場所 読み込まれる範囲
個人用(Personal) ~/.claude/skills/スキル名/SKILL.md そのパソコンのすべてのプロジェクト(Coworkやクラウドのセッションでは読み込まれません)
プロジェクト用(Project) .claude/skills/スキル名/SKILL.md そのリポジトリのセッション。コミットすればチーム全員が使えます
入れ子(Nested) サブフォルダ/.claude/skills/スキル名/SKILL.md そのサブフォルダ以下で始めたセッション。上の階層で始めた場合は、その中のファイルを触ったときに読み込まれます
追加フォルダ --add-dir で渡したフォルダの .claude/skills/ そのセッションだけ
プラグイン プラグイン/skills/スキル名/SKILL.md プラグインを有効にした場所(/プラグイン名:スキル名 で呼び出します)
組織用(Enterprise) 管理者が配布する設定フォルダ内の .claude/skills/ 組織が配布したパソコンのすべての利用者
claude.aiアカウント claude.aiの設定で有効にしたスキル 同じアカウントでサインインしたターミナル・Cowork・クラウドのセッション(~/.claude/skills/synced/ に自動で同期)

以前の「カスタムコマンド」(.claude/commands/ のMarkdownファイル)は古い形式として今も動きますが、新しく作るならスキルの形が推奨されています。スキルは参照資料やスクリプトを同じフォルダに同梱でき、frontmatterの name と paths も使えるためです。同じ名前のスキルが複数の場所にあるときは「組織用 → 個人用 → プロジェクト用」の順に優先され、自作のスキルは同名のバンドルされたスキルを置き換えます(出典:Claude Code公式ドキュメント「Claude をスキルで拡張する」)。

Claude Code Skillsの作り方:SKILL.mdを1つ書いて呼び出すまで(実際の画面つき)

ここでは「コミット前の変更を要約して、リスクを指摘するスキル」を例に、作成から実行までを実際に操作した画面で説明します。公式ドキュメントの「最初のスキルを作る」と同じ流れで、必要なファイルは SKILL.md の1つだけです。

手順1:スキル用のフォルダを作る

プロジェクトのルートで、スキル名のフォルダを作ります。チームで共有するならプロジェクト用(.claude/skills/)、自分のパソコンの全プロジェクトで使うなら個人用(~/.claude/skills/)です。フォルダ名がそのままコマンド名(この例では /summarize-changes)になります。

mkdir -p .claude/skills/summarize-changes

手順2:SKILL.mdを書く

作ったフォルダの中に SKILL.md を作ります。先頭の --- で囲んだ部分がfrontmatterで、description に「何をするか・いつ使うか」を書きます。その下がClaudeへの指示(本文)です。

---
description: コミット前の変更内容を要約し、リスクがあれば指摘する。「何を変えた?」「変更を確認して」「コミットメッセージを考えて」と頼まれたときに使う。
allowed-tools: Bash(git diff *)
---

## 現在の変更

!`git diff HEAD`

## 指示

上の差分を日本語で2〜3行に要約してください。そのあと、気づいたリスク(エラー処理の不足、ハードコードされた値、更新が必要なテスト)を箇条書きで挙げてください。差分が空なら「コミットされていない変更はありません」と答えてください。

!`git diff HEAD` の行は「動的コンテキストの挿入」です。スキルが呼ばれるとClaude Codeがこのコマンドを先に実行し、出力をこの行と差し替えてからClaudeに渡すため、Claudeは実際の差分を見たうえで答えます。allowed-tools: Bash(git diff *) は、このコマンドを確認なしで実行してよいという事前の許可です(自動モード以外では、許可されていないコマンドが含まれているとスキルの呼び出し自体が中止されます)。

ターミナルで .claude/skills/summarize-changes/SKILL.md を作成し、cat で中身(description と git diff HEAD の行)を表示した画面。git status で cart.js が変更済みと分かる
手順1〜2をターミナルで実行した画面。cat で SKILL.md の中身を確認し、git status で cart.js に未コミットの変更があることを確かめています(2026年10月14日に実際に操作して撮影。Linux・Claude Code v2.1.299)

手順3:Claude Codeで呼び出して動かす

ファイルを保存したら、そのプロジェクトで claude を起動します。セッション中に追加したスキルも再起動なしで読み込まれます。入力欄に / と打つと候補にスキルが並び、description の文がそのまま説明として表示されます。

Claude Code で「/summ」と入力すると、作成したスキル /summarize-changes が候補に表示される画面。descriptionの文がそのまま説明として出る
入力欄に /summ と打った画面。作ったばかりの /summarize-changes が候補の先頭に出て、説明文にはSKILL.mdのdescriptionがそのまま表示されています(2026年10月14日に実際に操作して撮影。Linux・Claude Code v2.1.299)

/summarize-changes と入力してEnterを押すと、スキルの本文が実際の差分つきでClaudeに渡り、変更の要約とリスクが返ってきます。

/summarize-changes を実行した結果。cart.js の変更の要約と、気づいたリスク(ハードコードされた税率・端数処理・更新が必要なテスト)が日本語で返った画面
/summarize-changes の実行結果。cart.jsの変更(消費税10%込みの金額を返すようになった)を要約したうえで、税率のハードコードや更新が必要なテストなどのリスクを挙げています(2026年10月14日に実際に操作して撮影。Linux・Claude Code v2.1.299)
Claude Codeを起動し、/summ で自作スキルを選んで実行し、結果が返ったあと /skills で一覧を開くまでの録画(約33秒・音声なし)(2026年10月14日に実際に操作して撮影。Linux・Claude Code v2.1.299)

ここまでで、スキルの作成と実行は完了です。動かないときは、この記事の後半「注意点とセキュリティ」にある「スキルが呼ばれないとき」を確認してください。

Claude Code Skillsの使い方:自動呼び出し・引数・一覧の確認・編集の反映

呼び出し方は2通り:自分で呼ぶ/Claudeが自動で使う

初期設定では、あなたとClaudeのどちらもスキルを呼び出せます。あなたは /スキル名 で直接呼び、Claudeは会話の内容が description に合うときに自動で使います。たとえば先ほどのスキルがある状態で「いま何を変更しましたか?」と聞くだけで、ClaudeはSkillツールで summarize-changes を選びます。手動モード(manual mode)では、次のようにスキルを使ってよいかの確認が出ます。

「いま何を変更しましたか?」と聞くと Claude が自動で Skill(summarize-changes) を選び、手動モードでは「Use skill summarize-changes?」の確認(Yes/don't ask again/No)が出る画面
/ を使わずに「いま何を変更しましたか?」と聞いた画面。Claudeがdescriptionを見て自分でスキルを選び、手動モードなので「Use skill “summarize-changes”?」の確認が出ています(Yes・このフォルダでは今後聞かない・No)(2026年10月14日に実際に操作して撮影。Linux・Claude Code v2.1.299)

この動きは、frontmatterの2つの項目で変えられます。

frontmatter あなたが呼べる Claudeが自動で使う 文脈への読み込み
(指定なし) ○ ○ 説明は常に、本文は呼び出し時に
disable-model-invocation: true ○ ×(Claudeが呼ぼうとすると止められます) 説明も文脈に入らず、本文は呼び出し時に
user-invocable: false ×(/メニューに出ません) ○ 説明は常に、本文は呼び出し時に

デプロイやSlackへの送信のように、実行のタイミングを自分で決めたい作業は disable-model-invocation: true にしておくと、Claudeが勝手に実行することはありません。逆に「古いシステムの仕様」のような、コマンドとして打つ意味のない知識は user-invocable: false にしてClaudeだけが参照する形にします。

引数を渡す($ARGUMENTS)

/fix-issue 123 のようにスキル名の後ろに書いた文字列は、本文の $ARGUMENTS に置き換わります。$0・$1(または $ARGUMENTS[0])で位置ごとに取り出したり、frontmatterの arguments: [issue, branch] で名前を付けて $issue のように使ったりもできます。本文に置き場所が無い場合は、末尾に ARGUMENTS: 入力した内容 が自動で追加されます。

---
name: fix-issue
description: GitHubのIssueを番号で指定して修正する
disable-model-invocation: true
---

GitHub Issue $ARGUMENTS を、このリポジトリのコーディング規約に従って修正してください。

1. Issueの説明を読む
2. 要件を整理する
3. 修正を実装する
4. テストを書く
5. コミットを作る

一覧を見る・表示を切り替える(/skills)

/skills を実行すると、読み込まれているスキルの一覧と、それぞれが文脈に占めるおおよそのトークン数が表示されます。claude.aiから同期されたスキル・プラグインのスキル・プロジェクトのスキルが出どころ付きで並びます。この画面でスキルを選んでSpaceを押すと「on → name-only → user-invocable-only → off」と表示の状態を切り替えられ、Escで .claude/settings.local.json の skillOverrides に保存されます。共有リポジトリのスキルなど、ファイルを編集せずに一時的に止めたいときに便利です。

/skills の画面。claude.ai から同期されたスキルと、プロジェクトのスキル summarize-changes(project・約30トークン)が一覧に並ぶ
/skills の画面。claude.aiから同期されたスキル(pdf・xlsxなど)とプラグインのスキルに続いて、作ったプロジェクトのスキル summarize-changes(project・約30トークン)が並んでいます(2026年10月14日に実際に操作して撮影。Linux・Claude Code v2.1.299)

編集の反映と削除

Claude Codeはスキルのフォルダを監視しているため、~/.claude/skills/ やプロジェクトの .claude/skills/ の中の SKILL.md を追加・編集・削除すると、そのセッション中に反映されます。セッションを始めたあとに .claude/skills/ フォルダ自体を新しく作った場合だけ、/reload-skills を実行します。削除はフォルダを消すだけです(バンドルされたスキルは skillOverrides で "off" にします)。

なお、一度呼び出したスキルの本文は、その会話の中に残り続けます。長い会話で文脈が自動で圧縮されたあとは、各スキルの先頭5,000トークン(合計25,000トークンまで)だけが引き継がれるため、大事な指示はSKILL.mdの先頭近くに書くのがコツです。

SKILL.mdの書き方:frontmatterの項目一覧と本文のコツ

frontmatterの項目はすべて省略できます。公式が推奨しているのは description だけで、省略すると本文の最初の行が説明として使われます。項目名はハイフン区切りの小文字で、表に無い項目はエラーにならず無視されます(綴りを間違えても気づきにくいので注意してください)。2026年10月14日時点の公式ドキュメントに載っている項目は次のとおりです。

項目 役割
name コマンド名(/メニューに出る名前)。省略するとフォルダ名
description 何をするか・いつ使うか。Claudeが使うかどうかを判断する材料(推奨)。省略すると本文の最初の行
when_to_use 呼び出す場面の補足(言い回しの例など)。descriptionと合わせて1,536文字まで一覧に載ります
argument-hint 入力補完に出す引数のヒント(例:[issue-number])
arguments 名前付き引数の一覧。本文で $名前 として使えます
disable-model-invocation trueにするとClaudeは自動で使いません(/名前 で自分だけが呼ぶ)
user-invocable falseにすると/メニューから消え、Claudeだけが使います
allowed-tools このスキルを呼んだターン中、確認なしで使えるツール(例:Bash(git diff *))
disallowed-tools このスキルの実行中に使わせないツール
model このスキルの実行中だけ使うモデル(/model と同じ値)
effort このスキルの実行中の思考の深さ(low〜max)
context forkにするとサブエージェントとして別の文脈で実行
agent context: fork のときに使うサブエージェントの種類(Explore・Planなど)
background context: fork のとき、falseにすると結果を待ちます(既定は背景で実行)
hooks スキルを呼んだときに登録するフック
paths 一致するファイルを触っているときだけ自動で使う(globパターン)
shell !`コマンド` を動かすシェル(bash・powershell)
metadata 自分のツールで読むための自由な項目
license / compatibility Agent Skills仕様の項目。Claude Codeは受け付けますが動作には影響しません

claude.aiにアップロードして使うスキル(Cowork・クラウドのセッション・Skills API)では、Agent Skills仕様の6項目(name・description・license・compatibility・metadata・allowed-tools)だけが使えます。argument-hint などを書くとアップロード時にエラーになるので、両方で使うスキルはこの6項目に絞ります。

本文のコツ:短く書き、詳しい資料は別ファイルに

  • SKILL.mdは500行以内に収めます。詳しい仕様や例は同じフォルダの reference.md・examples.md に分け、SKILL.mdには「どのファイルに何があるか」を書いておきます。Claudeは必要なときだけそのファイルを読みます。
  • スクリプトは scripts/ に置きます。本文からは ${CLAUDE_SKILL_DIR}/scripts/run.sh のように参照し、allowed-tools に同じパスを書いておけば確認なしで実行できます。
  • 「なぜ」より「何をするか」を書きます。読み込まれた本文は会話に残り続けるので、1行ごとにトークンがかかります。
  • 毎回必ず守らせたい決まりは hooks(フック)に置きます。スキルの文章はClaudeが途中で守らなくなることがありますが、フックは出来事のたびに必ず実行されます。

応用:コマンドの出力を差し込む・サブエージェントで動かす

本文に !`コマンド` と書くと、スキルを呼んだ時点でそのコマンドが実行され、出力に置き換わります(複数行は ```! のコードブロック)。また、frontmatterに context: fork を付けると、スキルをサブエージェントとして別の文脈で実行できます。サブエージェントは会話の履歴を見ないので、必要なことはすべてSKILL.mdに書きます。次は、GitHub CLIでPRの差分を取り込み、Exploreエージェントで要約する公式の例です。

---
name: pr-summary
description: プルリクエストの変更内容を要約する
context: fork
agent: Explore
allowed-tools: Bash(gh *)
---

## プルリクエストの情報
- 差分: !`gh pr diff`
- コメント: !`gh pr view --comments`
- 変更ファイル: !`gh pr diff --name-only`

## やること
このプルリクエストを要約してください…

SKILL.mdの実装例:スクリプトを同梱した公式のスキルを全文で読む

前の章では、SKILL.mdだけで完結するスキルを作りました。実務で使うスキルは、決まった処理をスクリプトに任せる形が多くなります。ここでは公式ドキュメントが載せている「コードベースの可視化(codebase-visualizer)」を例に、フォルダ構成とSKILL.mdの全文を読みます(2026年10月20日に公式ドキュメントで確認)。

まずフォルダ構成です。scripts/ の中のPythonファイルは、公式の例ではフォルダを走査して codebase-map.html を作る処理を担います。

~/.claude/skills/codebase-visualizer/
├── SKILL.md
└── scripts/
    └── visualize.py

次がSKILL.mdの全文です。公式ドキュメントでは ~/.claude/skills/codebase-visualizer/SKILL.md に保存する例として載っています(本文は公式の英語のまま掲載します)。

---
name: codebase-visualizer
description: Generate an interactive collapsible tree visualization of your codebase. Use when exploring a new repo, understanding project structure, or identifying large files.
allowed-tools: Bash(python3 *)
---

# Codebase Visualizer

Generate an interactive HTML tree view that shows your project's file structure with collapsible directories.

## Usage

Run the visualization script from your project root:

```bash
python3 ${CLAUDE_SKILL_DIR}/scripts/visualize.py .
```

This creates `codebase-map.html` in the current directory and opens it in your default browser.

## What the visualization shows

- **Collapsible directories**: Click folders to expand/collapse
- **File sizes**: Displayed next to each file
- **Colors**: Different colors for different file types
- **Directory totals**: Shows aggregate size of each folder

読みどころは4つです。

  • description に「使う場面」まで書いてあります。「新しいリポジトリを調べるとき」「大きなファイルを見つけたいとき」という場面が入っているので、会話の内容が合えば自動で選ばれます。
  • allowed-tools を Bash(python3 *) に絞っています。このスキルを呼んだターンでは、python3 の実行だけが確認なしで動きます。
  • スクリプトの場所は ${CLAUDE_SKILL_DIR} で書きます。どのフォルダで作業していても、スキル自身のフォルダを指せます。
  • スクリプトの中身はSKILL.mdに載せません。公式のフォルダ構成の説明でも、補助スクリプトは「実行されるもので、読み込まれるものではない」とされています。長い処理を足しても、毎回の文脈(コンテキスト)を圧迫しません。

詳しい資料は別ファイルに分ける

API仕様や使用例が長くなるときは、同じフォルダに reference.md や examples.md を置き、スクリプトは scripts/ に入れます。

SKILL.mdの側には、どのファイルに何があるかだけを書いておきます。必要になったときに、Claude Codeがそのファイルを読みに行きます。

## Additional resources

- For complete API details, see [reference.md](reference.md)
- For usage examples, see [examples.md](examples.md)

日々の使い方:場面ごとの操作

スキルを作ったあとに使う操作を、場面別にまとめます。いずれもこの記事の前半で説明した内容です。

場面 操作 補足
追加したスキルが見えているか確かめる 入力欄に / と打つ 候補にスキル名と description の説明が出ます
読み込まれているスキルの一覧とトークン量を見る /skills 出どころ(プロジェクト・プラグイン・claude.aiから同期)つきで並びます
自分でスキルを呼ぶ /スキル名 引数 引数は本文の $ARGUMENTS に入ります
自動で使われたくない disable-model-invocation: true 自分が呼んだときだけ動きます
SKILL.mdを編集した 保存する フォルダが監視されているため、そのセッション中に反映されます
プラグインに入っているスキルを呼ぶ /プラグイン名:スキル名 次の章で説明します

用途別に見る:コード生成・レビュー・文書・出荷のスキル

どんなスキルを作る・入れるかの目安を、用途別に並べます。「最初から入っている」は本体に同梱のスキル、「公式の例」は公式ドキュメントの例、gstackとdocument-skillsは前後の章で紹介する公開スキルです。

用途 スキル 使う場面 頼み方の例
コード生成・修正 fix-issue(公式の例) Issue番号を渡し、読む→実装→テスト→コミットの順で進める /fix-issue 123
レビュー /code-review(最初から入っている)、gstackの /review 変更したコードのバグや抜けを探す /code-review
変更の要約 summarize-changes(この記事で作った例)、pr-summary(公式の例) コミット前・プルリクエストの確認 /summarize-changes
原因調査 /debug(最初から入っている)、gstackの /investigate 不具合の原因を順を追って調べる 「ログインで落ちる原因を調べて」
文書の作成 document-skills の docx・pdf・pptx・xlsx Word・PDF・PowerPoint・Excelのファイルを扱う 「この表をExcelにして」
テスト・出荷 gstackの /qa、/ship サイトのテストと修正、テスト後のプルリクエスト作成 /qa

質問しながら進め、集計はスクリプトに任せるスキルの例

次は公式の例ではなく、この記事のために書いた例です。使っている項目は、前の表の description・disable-model-invocation・allowed-tools・argument-hint と $ARGUMENTS だけです。「STEP1で質問→STEP2で処理→STEP3で結果によって分ける」という順を、SKILL.mdの見出しで書いています。

~/.claude/skills/csv-report/
├── SKILL.md
└── scripts/
    └── summarize_csv.py
---
name: csv-report
description: CSVファイルの件数と合計を集計し、報告文を作る。「CSVを集計して」「売上データをまとめて」と頼まれたときに使う。
disable-model-invocation: true
allowed-tools: Bash(python3 ${CLAUDE_SKILL_DIR}/scripts/summarize_csv.py *)
argument-hint: [csv-file]
---

# CSVの集計レポート

## STEP1 対象の確認
$ARGUMENTS が空のときは、集計するCSVのパスを質問し、答えを待つ。

## STEP2 集計
次のコマンドを実行する。

```bash
python3 ${CLAUDE_SKILL_DIR}/scripts/summarize_csv.py $ARGUMENTS
```

## STEP3 結果の扱い
- 「データがありません」と出たら、ファイルが空であることを伝えて終了する。
- 合計が出たら、列ごとの合計を3行以内の報告文にまとめる。

集計の処理は scripts/summarize_csv.py に分けました。判断はSKILL.mdの指示、数える処理はスクリプトという分担にすると、数え間違いが減り、SKILL.mdも短く保てます。

#!/usr/bin/env python3
"""CSVファイルの行数・列名・数値列の合計を表示する。"""
import csv
import sys

path = sys.argv[1]
with open(path, newline="", encoding="utf-8") as f:
    rows = list(csv.DictReader(f))

print(f"行数: {len(rows)}")
print("列: " + ", ".join(rows[0].keys()) if rows else "データがありません")
for col in (rows[0].keys() if rows else []):
    try:
        total = sum(float(r[col]) for r in rows)
    except ValueError:
        continue
    print(f"{col} の合計: {total:g}")

このスクリプトは、この端末で2行のCSVに実行し、「行数: 2」と「amount の合計: 2000」が出ること、空のCSVで「データがありません」と出ることを確認しました(スキルとして呼び出す部分は、使う環境で試してください)。

最初から入っているスキルの位置づけ

公式ドキュメントによると、同梱スキルは「Claudeに詳しい指示を渡し、ツールを使った進行をClaudeに任せる」プロンプト型で、固定の処理を直接実行するものが多い組み込みコマンドとは性質が違います。コマンド一覧では、同梱スキルは「Skill」と表示されます。公式で説明が確認できたのは次のものです。

スキル 公式ドキュメントの説明
/doctor セットアップの点検。問題を診断し、直せるものは直す
/claude-api Claude APIとManaged Agentsの参照資料を、プロジェクトの言語に合わせて読み込む
/run アプリを起動して操作し、変更が動くことを確かめる
/verify アプリをビルドして実行し、テストや型チェックに頼らず変更の効果を確かめる
/run-skill-generator /run と /verify に、プロジェクトのビルドと起動の方法を覚えさせる

このほか /code-review・/debug・/batch・/loop・/simplify も同梱スキルとして名前が載っていますが、このページでは説明を確認できませんでした。

事務職の業務に使う例:議事録・提案書・問い合わせ返信

スキルはコードを書く人だけのものではありません。「出力の形式」と「分からないときの扱い」を決めておけば、文書づくりにも使えます。次はこの記事のために書いた例で、議事録を決まった形で作るスキルです。

---
name: meeting-minutes
description: 会議のメモから議事録を作る。「議事録にして」「会議メモをまとめて」と頼まれたときに使う。
disable-model-invocation: true
argument-hint: [メモのファイル]
---

$ARGUMENTS のメモを読み、次の形式で議事録を作る。

1. 日時・参加者
2. 決まったこと(箇条書き)
3. 宿題(担当者と期限)

メモに書かれていない情報は補わず、不明な項目は「未記載」と書く。
業務 SKILL.mdに書くこと 書いておくと防げること
議事録 項目の順(日時・参加者・決定事項・宿題)、宿題には担当者と期限 メモにない発言や日付を補ってしまう
提案書 章立て、1章あたりの長さ、必ず入れる項目(目的・費用・スケジュール) 毎回違う構成になる
問い合わせ返信 文面の口調、送ってはいけない情報、判断に迷うときは下書きにとどめる指示 確認なしでの送信、口調のばらつき

カスタムコマンド・サブエージェント・MCP・Claude Skills(claude.ai)との違い

Claude Codeには似た拡張の仕組みがいくつかあります。役割の違いを押さえておくと、「何をスキルにすべきか」が決めやすくなります。

仕組み 定義する場所 役割 向いていること
Skills .claude/skills/名前/SKILL.md 手順や知識を、必要なときだけ読み込ませる 繰り返す作業の手順化・チームの決まりごと
カスタムコマンド(旧形式) .claude/commands/名前.md スキルと同じ(統合済み。補助ファイルと name・paths が使えない) 既存のコマンド。新規はスキルで
サブエージェント .claude/agents/名前.md 独立した文脈で動く専門のAI。ツールやモデルを個別に設定 調査や並列作業を本体の文脈から切り離す
MCP .mcp.json など 外部ツール・サービスとの接続 DB・SaaS・ブラウザなど外部との連携
プラグイン プラグインのフォルダ スキル・エージェント・フック・MCPをひとまとめに配布 チームや公開向けの配布
フック settings.json や SKILL.md の hooks 出来事のたびに必ず実行される処理 必ず守らせたい決まり(保存前の整形など)

サブエージェントの詳細はClaude Codeのサブエージェント解説、MCPはClaude CodeのMCP解説、コマンドの一覧はスラッシュコマンド解説記事をご覧ください。

「Claude Skills」(claude.aiのスキル)との違い

claude.aiの設定で有効にする「Claude Skills」(pdf・xlsx・pptxなどAnthropic製のものを含む)も、同じSKILL.md形式です。claude.aiのアカウントでサインインしたターミナルのセッションでは、これらが ~/.claude/skills/synced/ に自動で同期され、Claude Codeからも使えます(Claude Code v2.1.273以降。/anthropic-skills:スキル名 という正式名も持ちます)。ただし同期されたスキルでは、ローカルで !`コマンド` は実行されません。claude.ai側のスキル全般(一覧・活用例・作り方)はClaude Skillsとは?作り方・一覧・活用例にまとめています。この記事はその中でも、Claude Code(ターミナル・エディタ)で使うスキルに絞って説明しています。

Claude Code Skillsの活用例:公式の例と、実務で使われている形

公式ドキュメントに載っている例は、どれも「数行のSKILL.md」で始められるものです。

  • コミット作業(commit):allowed-tools: Bash(git add *) Bash(git commit *) Bash(git status *) を付け、disable-model-invocation: true で自分が呼んだときだけ動かします。gitの操作に毎回の確認が要らなくなります。
  • Issueの修正(fix-issue):/fix-issue 123 のように番号を $ARGUMENTS で受け取り、読む→実装→テスト→コミットの順を本文に書いておきます。
  • PRの要約(pr-summary):!`gh pr diff` で差分を取り込み、context: fork+agent: Explore で本体の文脈を汚さずに要約します。
  • コードベースの可視化(codebase-visualizer):同梱したPythonスクリプトを ${CLAUDE_SKILL_DIR}/scripts/visualize.py で実行し、フォルダ構成をHTMLの図にします。スクリプトを同梱できるのがスキルの強みです。
  • アプリの起動手順の記録(/run-skill-generator):バンドルされたこのスキルを1回実行すると、環境構築から起動までの手順が .claude/skills/run-名前/ に記録され、以後の /run・/verify がその手順で動きます。
  • コミット前の自動チェック:verify または simplify という名前のスキルがあると、Claude Codeはコミットの直前にそれを実行します(v2.1.286以降)。

公共分野の例として、国土交通省のPLATEAUプロジェクトは都市の3Dデータを扱うための「PLATEAU Agent Skills」を公開しています(docs.plateauview.mlit.go.jp)。SKILL.md形式のスキルが組織から配布される形が広がり始めている例です。

作ったスキルを評価する(skill-creator)

スキルが「呼ばれた」ことと「意図どおりに動いた」ことは別です。公式は、同じ依頼をスキルあり・なしの新しいセッションで比べることを勧めています。Anthropic製のプラグイン skill-creator を入れると、この比較を自動で回せます。

/plugin install skill-creator@claude-plugins-official

入れたあとに「summarize-changes スキルを skill-creator で評価して」と頼むと、テストケース(evals/evals.json)の作成、スキルあり・なしの実行、採点、2つの版の比較、descriptionの調整までを対話で進められます。

Claude Code・AIエージェントの業務導入をご検討の方は、自社での開発実例を公開しているクリスタルメソッドの無料相談をご利用ください。

スキルパックとプラグイン:配られているスキルをまとめて入れる・自分で配る

スキルを1つずつフォルダに置く方法のほかに、複数のスキルを1まとまりで配る仕組みがプラグインです。公式ドキュメントでは、プラグインを「スキル・エージェント・フック・MCPサーバーなどを入れたディレクトリを、1つの単位として読み込むもの」と説明しています。プラグインの一覧(カタログ)をマーケットプレイスと呼び、一度追加すると、その中のプラグインを名前で入れられます。2026年10月20日に公式ドキュメントで確認した手順です。

プラグインでスキルをまとめて入れる1マーケットプレイスを追加公式は初回起動で自動追加2プラグインを選んで入れる/plugin install 名前@マーケットプレイス名3範囲(スコープ)を選ぶ自分だけ/リポジトリ全員/このリポジトリで自分だけ4/プラグイン名:スキル名 で呼ぶ/skills や / の候補で確認
図:プラグインでスキルをまとめて入れる流れ(公式ドキュメントの手順をもとに作成)

Anthropicが出している3つのマーケットプレイスとスキル集

種類 名前 追加のしかた
公式(official) claude-plugins-official 初めて対話モードで起動したときに自動で追加されます。Anthropic製のほか、パートナーなどのプラグインも並びます
コミュニティ(community) claude-community /plugin marketplace add anthropics/claude-plugins-community。作者がAnthropicに提出した第三者のプラグインです
デモ(demo) claude-code-plugins /plugin marketplace add anthropics/claude-code。プラグインの作り方を示す見本です
スキル集(anthropics/skills) anthropic-agent-skills /plugin marketplace add anthropics/skills。スキルの公開リポジトリで、document-skills と example-skills の2つのプラグインがあります

インストールのコマンドは次のとおりです。スキル集のコマンドは、リポジトリ(anthropics/skills)のREADMEに載っているものです。

/plugin install commit-commands@claude-plugins-official
/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skills
/plugin install example-skills@anthropic-agent-skills

セッション中の /plugin install は、すぐには入れずに、そのプラグインの詳細画面を開いて追加されるスキルやフックを確認してから範囲を選ぶ形です。入れたあと、スキルは /commit-commands:commit のように「プラグイン名:スキル名」で呼びます。プラグインのスキルには名前の頭にプラグイン名が付くため、同じ名前のスキルが別々のプラグインにあっても、自分のスキルとぶつかりません。

anthropics/skills のREADMEには、pdf・docx・pptx・xlsx の各スキルが入っていること、多くのスキルがApache 2.0のオープンソースである一方で、これら4つの文書スキルは「ソースは見られるがオープンソースではない」とされていることが書かれています。また、スキルは「デモと学習用」の提供で、重要な作業に使う前に十分に試すよう注意書きがあります。

入れる範囲(スコープ)は3つ

自分用(user)はこの端末のすべてのプロジェクトで、~/.claude/settings.json に記録されます。リポジトリ全員(project)は .claude/settings.json に記録され、コミットして共有します。このリポジトリの自分だけ(local)は .claude/settings.local.json に記録されます。

リポジトリ全員の範囲では、設定をコミットしただけでは各自の端末にプラグインは入りません。各メンバーが一度 claude plugin install 名前@マーケットプレイス名 --scope project を実行する必要があります。ターミナルから入れるときは、claude plugin install を使い、入れたものは claude plugin list で確認できます。

自分のスキルをプラグインにして配る

チームに同じスキルを配りたいときは、スキルをプラグインにまとめます。公式の最小の例では、スキル1つだけのプラグインをこう作ります。

my-first-plugin/
├── .claude-plugin/
│   └── plugin.json
└── skills/
    └── hello/
        └── SKILL.md

マニフェスト(.claude-plugin/plugin.json)では name が必須で、スキルを呼ぶときの接頭辞になります。

{
  "name": "my-first-plugin",
  "description": "A greeting plugin to learn the basics",
  "version": "1.0.0",
  "author": {
    "name": "Your Name"
  }
}

スキル本体は、これまでのSKILL.mdと同じ書き方です。

---
name: hello
description: Greet the user with a friendly message
disable-model-invocation: true
---

Greet the user warmly and ask how you can help them today.

構成を点検してから、そのセッションだけプラグインを読み込んで呼び出します。

claude plugin validate ./my-first-plugin
claude --plugin-dir ./my-first-plugin
/my-first-plugin:hello

注意点が2つあります。.claude-plugin/ の中に入れるのは plugin.json だけで、skills/ はプラグインのルート直下に置きます(中に置くと読み込まれません)。また、ファイルを編集したら /reload-plugins で反映します。すでに .claude/skills/ にスキルがある場合は、cp -r .claude/skills my-plugin/ でプラグインのフォルダにコピーして移せます。移した後も元のスキルは残るので、動作を確かめてから元を消します。

公開されているスキルパック(第三者)を使うときの見方

Anthropic以外が公開しているスキルパックもあります。次の3つは、各配布元のページの記載にもとづく概要です(2026年10月20日確認)。いずれもAnthropicの審査を受けたものではありません。

名前 配布元のページの記載 入れ方
gstack Garry Tan氏が公開するスキル集(MITライセンス)。企画の見直し(/office-hours)、レビュー(/review)、QA(/qa)、出荷(/ship)など、開発の工程ごとのスキルを備えます git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.claude/skills/gstack のあと、フォルダ内の setup を実行
Everything Claude Code(ECC) 個人(affaan-m)が公開する、エージェント・スキル・フックなどの詰め合わせ(MITライセンス)。ページの記載では、エージェント71・スキル311・コマンド97 /plugin marketplace add https://github.com/affaan-m/ECC のあと /plugin install ecc@ecc
skills.sh Vercelが運営するスキルのディレクトリ。インストール数の順位表や、トピック別の一覧があります サイトの案内に従う(コマンドは npx skills add <owner/repo> の形)

第三者のスキルには実際に注意が必要です。セキュリティ企業のSnykは、2026年2月5日の調査で、ClawHubとskills.shの3,984件のスキルを調べました。何らかのセキュリティ上の問題があったのは36.82%(1,467件)、重大な問題を含むのは13.4%(534件)、人の確認で悪意ある内容と確認されたのは76件でした。Snykは、スキルを「ソフトウェアのサプライチェーン」として扱い、入れたスキルを点検するよう勧めています(点検のコマンドとして uvx mcp-scan@latest --skills を挙げています)。

どれも、入れた時点でスキルの description が文脈に常駐し、スキルの中のコマンドは自分の権限で動きます。入れる前に中身(SKILL.md、スクリプト、allowed-tools)を読んでください。公式ドキュメントも、プラグインは「自分の権限でコードを実行できる」ので、知らないマーケットプレイスのものは事前に確認するよう案内しています。数が増えたら、claude plugin details 名前 で毎ターン文脈に足されるトークン量を調べ、/plugin の Installed タブの「Not used recently」にある使っていないプラグインを無効にします。

Claude Code Skillsを使うときの注意点とセキュリティ:外部スキル・権限・トークン

  • 外部のスキルは allowed-tools を先に読みます。リポジトリに入っているプロジェクト用スキルの allowed-tools は、フォルダを信頼していなくても適用されます。公開リポジトリやコミュニティ配布のスキルを使う前に、どのコマンドに事前許可を与えているかを必ず確認してください。組織で一律に制限したい場合は、管理用の設定 allowManagedPermissionRulesOnly(v2.1.282以降)で、スキル側の allowed-tools を無視させられます。
  • !`コマンド` はスキルを呼んだ時点で実行されます。中身を読まずに外部スキルを呼ぶと、意図しないコマンドが動くおそれがあります。設定の disableSkillShellExecution を true にすると、自作・プロジェクト・プラグインのスキルでこの実行を止められます(claude.aiから同期されたスキルでは、設定に関係なくローカルでは実行されません)。
  • 指示インジェクションへの備え:IPAの「AIセキュリティ短信 2026年3月号」は、AIエージェントへの指示の注入(Prompt Injection)を具体的な脅威として挙げています(IPA、2026年3月)。スキルでは、実行してよいコマンドを allowed-tools の許可リストで限定し、外部から来た文章(Issueの本文やWebの内容)をそのまま指示として扱わない書き方にします。Claudeに呼ばせたくないスキルは、/permissions の拒否ルール Skill(名前) でも止められます。
  • 文脈(コンテキスト)のコスト:スキルの名前と説明は毎ターン文脈に入ります。スキルが多いと一覧がモデルの文脈の1%の予算を超え、使う頻度の低いものから説明が落とされます。/skill-doctor(v2.1.252以降)で各スキルのコストと使用回数を確認し、使っていないものは skillOverrides で "name-only" や "off" にします。
  • 事前許可はそのターンだけ:allowed-tools の許可は、スキルを呼んだターンが終わる(次のメッセージを送る)と消えます。セッション全体で許可したいツールは、スキルではなく権限の設定に書きます。

スキルが呼ばれないとき・呼ばれすぎるとき

  • 呼ばれない:description に、利用者が実際に言いそうな言葉を入れます。「What skills are available?(使えるスキルは?)」と聞いて読み込まれているかを確かめ、/スキル名 で直接呼べるかも試します。frontmatterのYAMLが壊れていると、説明なしで読み込まれて自動では呼ばれません。claude --debug で解析エラーを見るか、claude plugin validate .claude/skills(v2.1.233以降)で壊れたSKILL.mdを探せます。
  • 呼ばれすぎる:description をより具体的にするか、disable-model-invocation: true にして自分で呼ぶ形にします。
  • 途中で指示を守らなくなる:必ず守らせたい決まりはフックに移します。会話が圧縮されたあとは、スキルをもう一度呼び出すと本文全体が戻ります。
  • 個人用のスキルが消えた:~/.claude/skills/.trash/ に移っていることがあります。既定では30日後に削除されるので、その前にフォルダを戻します。

Claude Codeの権限の考え方はClaude Codeのセキュリティ解説を、全体像はClaude Codeとはを、初めての方ははじめてのClaude Codeもあわせてご覧ください。


実運用で分かった、スキルの置き場所の選び方と「作るべきか」の見極め(一次情報)

クリスタルメソッドでは、Claude Codeを1年以上、複数の端末で日常業務に投入してきました。その実運用のなかで最も判断を要したのが、スキルを「プロジェクト共有(.claude/skills/)に置くか、個人共有(~/.claude/skills/)に置くか」という置き場所の選定です。公式ドキュメントの仕様を補う実感として共有します。

端末数が増えるほど、両者の性質の差は運用コストに直結しました。プロジェクト共有はリポジトリと一緒に配布されるため、どの端末で開いても同じ手順が再現でき、チームの合意事項をコードとして固定できる利点が大きいです。一方で個人共有は全プロジェクトを横断して効くぶん、端末ごとに内容がずれると「この端末だけ挙動が違う」という原因追跡の難しい不整合を生みやすくなります。結論は、チームで再現性を担保したい手順はプロジェクト共有に寄せ、個人共有は端末間で必ず同期する前提のものだけに絞るという切り分けです。迷ったらプロジェクト共有側に置くほうが、多端末運用では事故が少ないと感じています。

スキルを「作るべきか」の勘所は次の3つです。

  • 「同じ手順を何度も繰り返している」ときが作りどきです。一度きりの作業をスキル化しても保守の手間が勝ちます。繰り返し発生し、手順が安定してきたものを固めると、効果がコストを上回りました。
  • 書き換えたら、反映されているかを確かめます。いまのClaude Codeは SKILL.md の変更をセッション中に拾いますが、セッション後に新しく作ったフォルダは /reload-skills が要ります。多端末で同じスキルを更新したときに片方だけ古い挙動が残る空回りは、「編集したら /skills で確認する」を習慣にしてから解消できました。
  • 増やしすぎると自分でも把握できなくなります。便利だからと量産すると、どれが何をするか追えなくなります。本当に使うものだけを残し、使わないものは /skill-doctor で見つけて整理しておくほうが長く使えます。

よくある質問

Q. Claude Code Skillsとは何ですか?
A. Claude Codeに追加する手順書です。SKILL.mdというMarkdownファイル1つに「いつ使うか(description)」と「何をどう進めるか」を書き、.claude/skills/スキル名/ に置きます。Claudeが会話に合わせて自動で読み込むほか、/スキル名 で直接呼び出せます。本文は呼び出されたときだけ読み込まれます。

Q. カスタムコマンド(スラッシュコマンド)との違いは何ですか?
A. 以前の .claude/commands/ のカスタムコマンドはスキルに統合され、同じ frontmatter が使えます。古い形式も動きますが、新しく作るならスキルが推奨です。スキルは参照資料やスクリプトを同じフォルダに同梱でき、name と paths の項目も使えます。

Q. Skillsはどこに置きますか?
A. チームで共有するならプロジェクトの .claude/skills/スキル名/SKILL.md、自分のパソコン全体で使うなら ~/.claude/skills/スキル名/SKILL.md です。ほかにプラグイン・組織の管理設定・–add-dir のフォルダ・claude.aiアカウントからの同期があります。

Q. Claudeに勝手に実行させたくないときは?
A. frontmatterに disable-model-invocation: true を書くと、Claudeは自動で使わず、あなたが /スキル名 で呼んだときだけ動きます。デプロイやメッセージ送信のような作業に向いています。

Q. 使えるスキルの一覧はどう確認しますか?
A. /skills で読み込まれているスキルの一覧とトークン数を確認できます。入力欄に / と打つと、コマンドとスキルの候補が説明つきで表示されます。

Q. claude.aiで作ったスキルはClaude Codeでも使えますか?
A. 使えます。claude.aiのアカウントでサインインしたターミナルのセッションでは、claude.aiで有効にしたスキルが ~/.claude/skills/synced/ に自動で同期されます(Claude Code v2.1.273以降)。ただし同期されたスキルの !`コマンド` はローカルでは実行されません。

Q. サブエージェントやMCPとの使い分けは?
A. 外部ツールやデータへの接続はMCP、独立した文脈での並列作業はサブエージェント、繰り返す手順や知識の共有はSkillsが基本です。スキルに context: fork を付ければ、スキルをサブエージェントとして動かすこともできます。

Q. スキルパック(プラグイン)はどう入れますか?
A. プラグインのマーケットプレイスを追加し、/plugin install プラグイン名@マーケットプレイス名 を実行します。公式のマーケットプレイス(claude-plugins-official)は初回起動時に自動で追加されます。Anthropicのスキル集は /plugin marketplace add anthropics/skills で追加し、document-skills@anthropic-agent-skills などを入れます。入れたスキルは「/プラグイン名:スキル名」で呼びます。

Q. プラグインのスキルは、自分のスキルと名前がぶつかりませんか?
A. ぶつかりません。プラグインのスキルは名前の頭にプラグイン名が付くため、同じ名前のスキルが自分のフォルダやほかのプラグインにあっても、両方が読み込まれます。

まとめ

Claude Code Skillsは、Claude Codeに「自分たちの手順」を覚えさせる仕組みです。この記事で確認した要点を整理します(出典:code.claude.com/docs/en/skills)。

  • スキルの実体は SKILL.md 1つ。プロジェクト共有は .claude/skills/スキル名/、個人用は ~/.claude/skills/スキル名/ に置き、再起動なしで使えます。
  • frontmatterはすべて省略可能で、推奨は description だけ。disable-model-invocation・user-invocable・allowed-tools・context: fork などで、呼び方と動き方を細かく決められます。
  • 本文は呼び出されたときだけ読み込まれ、常に読み込まれるCLAUDE.mdよりトークン効率がよい設計です。一覧と表示の切り替えは /skills、コストの確認は /skill-doctor。
  • 外部スキルは allowed-tools と !`コマンド` を読んでから使います。必ず守らせたい決まりはフックに置きます。
  • 以前のカスタムコマンドはスキルに統合されました。claude.aiのスキルも同じ形式で、サインインしたClaude Codeに同期されます。

まずは「毎回同じ手順で頼んでいる作業」を1つ選び、この記事の「作り方」のとおりにSKILL.mdを1枚書いてみてください。導入のコストはClaude Codeの料金解説記事を、活用の幅はClaude Codeでできること・活用事例をあわせてご覧ください。


参考文献

この記事の仕様・コマンド・項目名は、2026年10月14日(プラグインとスキル集の章は10月20日)に上記の公式ドキュメントで確認した内容です。

Claude Code・AIエージェントの業務活用をご検討の方へ

クリスタルメソッドは、AIエージェント・社員AIの導入と開発効率化を支援しています。Claude Codeは自社の業務でも日常的に使っています。自社サイトの表示速度をAI社員(Claude Code)で12.89秒→2.03秒に短縮した実例も事例記事として公開しています。「自社の開発・業務にAIをどう組み込むか」といったご相談を承っています。

AIブログ購読

 
クリスタルメソッドがお届けする
AIブログの更新通知を受け取る

監修

河合 継(クリスタルメソッド株式会社 代表取締役)

AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番組でのAI解説実績を持つAI研究者として、AIの研究開発を主導している。
運営会社について | 編集方針

Read next

あわせて読みたい

  • 対話・チャットLLMのイメージ

    Claude Codeのサブエージェント(Agent)とは?作り方・設定・使い方をわかりやすく解説【2026年版】

    Claude Codeのサブエージェントとは Claude Codeのサブエージェントとは、メインの会話から特定の作業を任される、専用の文脈(コンテキスト)を持...

  • 対話・チャットLLMのイメージ

    Claude Codeを拡張するコマンド|/plugin /deep-research /claude-api ほか【2026年版】

    Claude Code で Deep Research(複数の情報源を突き合わせて調べる深掘り調査)をするいちばん手早い方法は、最初から入っている /deep-...

  • Claude Code エージェントチームの使い方|複数AIをチームで動かす実装ガイド【2026年版】

    Claude Code Agent Teamsとは?有効化・使い方・サブエージェントとの選び分け【2026年版】

    Claude Code Agent Teamsとは?実験的な「チームで動く」機能 Claude Code Agent Teams(エージェントチーム)は、1つの...

View more