Claude Codeのスキル(Agent Skills)を非エンジニア目線で解説。SKILL.mdの最小サンプル、置き場所と優先順位、/名前での呼び出しと自動発動、$ARGUMENTSなどの書き方、カスタムコマンドとの関係まで。よく頼む仕事を定型化して毎回の説明をなくすコツをまとめました。
スキル(Skills)は「Claude Codeによく頼む仕事を、フォルダ1つに定型化しておく仕組み」。.claude/skills/<名前>/SKILL.md に指示を書いておけば、/名前 で呼び出せて、内容に合う依頼ならClaudeが自動で読み込んでくれます。従来のカスタムコマンドはこのスキルに統合され、公式の推奨もスキル形式です。CLAUDE.mdと違って使うときだけ読み込まれるので、コンテキストの節約にもなります。
Claude Codeを使っていると、「記事の公開前チェックをして」「この形式でリリースノートを作って」のように、毎回ほぼ同じ依頼を長文で説明していることに気づきます。それを一度ファイルに書いておけば、次からは /名前 の一言で済む——それがスキル(Agent Skills)です。
実体験メモ
非プログラマーの私がClaude CodeでWebサイトを運営していて、効果が大きかったのがこのスキル化でした。記事の公開前チェックのような「毎回同じ手順で頼む仕事」は、以前は長い依頼文を書くたびに言い回しがブレて、結果もブレていました。手順をSKILL.mdに書き写してからは呼び出すだけで毎回同じ品質のチェックが返ってくるように。コードは1行も書いていません。日本語の手順書をフォルダに置くだけです。
スキル(Skills)とは
スキルは、特定の仕事のやり方をまとめた指示書のフォルダです。構造はシンプルで、次の形をとります。
<skill-name>/SKILL.md… 本体の指示書(必須)- 同じフォルダ内の補助ファイル … テンプレート・例・スクリプトなど(任意)
SKILL.md は500行以内が推奨です。呼び出し方は2通りあります。
- 手動:
/スキル名と打って呼び出す - 自動:frontmatterの
descriptionに合致する依頼をすると、Claudeが自分でスキルを読み込む
💡 イメージは「優秀な助っ人に渡しておく、仕事別の手順書ファイル」。CLAUDE.md が毎セッション冒頭に読まれる「常設の申し送り」だとすれば、スキルはその仕事をするときだけ開かれる手順書。使うときだけロードされるので、コンテキスト(Claudeの作業記憶)を圧迫しません。
なお、スキルは Agent Skillsというオープン標準(agentskills.io)に準拠した形式で、対応する他のAIツールとも互換性があります。
カスタムコマンドとの違い(統合された)
以前のClaude Codeでは、自作のスラッシュコマンドは .claude/commands/ にMarkdownを置く方式でした。現在、カスタムコマンドはスキルに統合されています。
| 方式 | 置き方 | 呼び出し | 現在の扱い |
|---|---|---|---|
| カスタムコマンド | .claude/commands/deploy.md | /deploy | 互換のため動作を維持 |
| スキル | .claude/skills/deploy/SKILL.md | /deploy | 公式の推奨 |
つまりどちらを置いても /deploy として同じように動きますが、これから作るなら公式が推奨するスキル形式が良いでしょう。スキルはフォルダ単位なので、テンプレートや参考例、スクリプトといった補助ファイルを一式まとめて持てるのが実利です。組み込みのスラッシュコマンド全般については Claude Code コマンド完全ガイド にまとめています。
作り方:SKILL.mdの最小サンプル
プロジェクトなら .claude/skills/、自分専用なら ~/.claude/skills/ の下に、スキル名のフォルダを作って SKILL.md を置くだけです。フォルダ名がそのまま /スキル名 になります。
.claude/skills/
└── kiji-check/
└── SKILL.md
SKILL.md の最小サンプルはこんな形です(frontmatterは全て任意ですが、description は書いておくのがおすすめです)。
---
name: kiji-check
description: ブログ記事の公開前チェック。誤字脱字・見出し構成・リンク切れを確認する
---
# 記事の公開前チェック
$ARGUMENTS で指定された記事ファイルを読み、次の観点で確認して結果を箇条書きで報告する。
1. 誤字脱字・表記ゆれがないか
2. 見出しの階層が飛んでいないか
3. 本文中のリンク先パスが実在するか
これで /kiji-check 記事のパス と打てば、毎回同じ観点のチェックが走ります。中身はただの日本語のMarkdownなので、プログラミング知識は不要です。「いつも打っている依頼文」をそのまま書き写すところから始めれば十分です。
🤖 「そもそも指示文をどう書けばいいか分からない」という方へ:目的を選んで穴埋めするだけでChatGPT・Claudeに効く指示文ができる AIプロンプトビルダー(無料・登録不要)をどうぞ。できあがった指示文をSKILL.mdに貼れば、そのままスキルの土台になります。
作ったスキルはファイル監視で自動反映されるので、基本的に再起動は不要です(skills/ のような新しいトップレベルのディレクトリを新規に作った場合のみ再起動が必要)。
置き場所と優先順位
スキルは置く場所によって適用範囲が変わり、同名のスキルは上位が勝ちます。
| 優先順位 | 階層 | 置き場所 | 用途 |
|---|---|---|---|
| 1(最優先) | Enterprise | 組織の管理ポリシー | 組織全体に配布 |
| 2 | Personal | ~/.claude/skills/ | 自分専用・全プロジェクト共通 |
| 3 | Project | .claude/skills/ | そのプロジェクト・チーム共有 |
| 4 | Plugin | プラグインに同梱 | 配布パッケージ |
※Pluginスキルは プラグイン名:スキル名 の名前空間を持つため、実際には他の階層と同名衝突しません。
この「同名は上位勝ち」の仕組みを使うと、code-review などのバンドル(同梱)スキルを自分版で上書きすることもできます。
frontmatterと便利な書き方
SKILL.md のfrontmatterは全て任意ですが、挙動を細かく制御できます。主なものを挙げます。
| 項目 | 意味 |
|---|---|
name / description | 名前と説明。description は自動発動の判断材料になるので推奨 |
when_to_use | どんな場面で使うかのヒント |
argument-hint | 引数のヒント表示 |
disable-model-invocation: true | 手動専用にする(Claudeの自動発動を禁止。デプロイ等の副作用がある処理向け) |
user-invocable: false | Claude専用にする(人からは呼べない背景知識として使う) |
allowed-tools / model / context: fork など | 使えるツール・モデル・実行コンテキストの指定 |
本文側では、次の書き方が使えます。
$ARGUMENTS:呼び出し時に渡した引数全体に置き換わる$0$1…:個別の引数(0始まり)に置き換わる!`コマンド`:スキルがClaudeに送られる前にシェルコマンドを実行し、その結果を注入する(例:現在のgit状態を踏まえて動くスキル)
⚠️
disable-model-invocation: trueの使いどころは覚えておく価値があります。「本番へのデプロイ」のような勝手に実行されては困る処理は、これで「人が打ったときだけ動く」ようにしておくと安心です。
非プログラマー向けの活用アイデア
スキル=開発者向けと思われがちですが、「毎回同じ説明をしている仕事」なら何でも対象です。
- 記事・資料の公開前チェックリストを定型化する
- 議事録やレポートの決まったフォーマットへの整形を定型化する
- 「この口調・この構成で書く」という執筆ルール一式をスキルにする
- チェック観点の一覧やテンプレート文書を補助ファイルとして同じフォルダに置く
ポイントは、CLAUDE.mdに全部書かないことです。常に守ってほしいルールはCLAUDE.md、特定の仕事の手順はスキルと分けると、普段のコンテキストを軽く保てます。
仕様の細部(frontmatterの項目や引数の挙動など)は更新されることがあるため、作り込む前に最新は必ず公式ドキュメントで確認してください。
まとめ
- スキルはよく頼む仕事を定型化する手順書フォルダ。
<名前>/SKILL.md(必須・500行以内推奨)+補助ファイル(任意)。 - カスタムコマンドはスキルに統合。
commands/も互換で動くが、公式推奨は.claude/skills/のスキル形式。 - 呼び出しは
/スキル名の手動と、descriptionに合致したときの自動の2通り。副作用がある処理はdisable-model-invocation: trueで手動専用に。 - 置き場所は Enterprise > Personal > Project > Plugin の優先順で、同名は上位勝ち。
$ARGUMENTS・$0$1…(0始まり)・!`コマンド`で引数やシェル実行結果を差し込める。CLAUDE.mdと違い使うときだけ読み込まれるのでコンテキストを節約できる。
そもそもClaude Codeって何?という方は Claude Codeとは? からどうぞ。
関連記事:Claude Code コマンド完全ガイド / CLAUDE.mdの書き方 / Claude Codeのサブエージェントで自動化。カテゴリ一覧は AI活用・ノウハウ へ。
よくある質問(FAQ)
スキルとカスタムコマンド(.claude/commands/)は何が違いますか?
現在は同じ仕組みに統合されています。.claude/commands/deploy.md と .claude/skills/deploy/SKILL.md はどちらも /deploy として同じように動きます。commands/ 方式も互換のため動き続けますが、公式の推奨はスキル形式です。スキルはフォルダ単位なので、テンプレートや例、スクリプトなどの補助ファイルを一緒に持てるのが利点です。
スキルはどこに置けばいいですか?
自分専用なら ~/.claude/skills/(Personal)、プロジェクトで共有するなら .claude/skills/(Project)に置きます。優先順位は Enterprise > Personal > Project > Plugin で、同名スキルは上位が勝ちます。フォルダ名がそのまま /スキル名 になります。
スキルは自動で発動するのですか?
2通りあります。/スキル名 で手動で呼び出す方法と、frontmatterのdescriptionに合致する依頼をしたときにClaudeが自動で読み込む方法です。デプロイのような副作用のある処理はfrontmatterに disable-model-invocation: true を書くと手動専用にでき、逆に user-invocable: false でClaude専用の背景知識にもできます。
プログラミングの知識がなくてもスキルは作れますか?
作れます。SKILL.mdの中身は日本語の指示書(Markdown)で、コードは必須ではありません。「いつも頼んでいる定型の依頼文」をファイルに書き写すだけでも十分機能します。まずは1つ、よく頼む作業をスキル化してみるのがおすすめです。