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でプラグインを使うには? / 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`

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

カスタムコマンド・サブエージェント・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エージェントの業務導入をご検討の方は、自社での開発実例を公開しているクリスタルメソッドの無料相談をご利用ください。

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 を付ければ、スキルをサブエージェントとして動かすこともできます。

まとめ

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日に上記の公式ドキュメントで確認した内容です。

監修

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

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

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

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

AIブログ購読

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

Read next

あわせて読みたい

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

    Claude Codeのサブエージェントとは?作り方・設定・使い方をわかりやすく解説【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とは?サブエージェント・Agent Teams・Agent Viewの違いと使い方【2026年版】

    Claude Code Agentとは?エージェント機能の全体像 「Claude Code Agent」とは、Claude Codeが持つエージェント(AIが自...

View more