Claudeのスキルは、よく使う作業の手順を保存しておき、必要なときだけClaudeに読み込ませる機能です。作り方は、SKILL.mdを自分で書く方法と、skill-creatorに作ってもらう方法の2通りがあります。
本記事では、skill-creatorでサーチコンソールの月次レポートを作るスキルを実際に作り、わかったコツを紹介します。
Claudeのスキルとは
スキルは、プロジェクトやMCPと役割が重なって見えやすい機能です。まず何ができるかを押さえ、そのうえで違いを整理します。
よく使う指示を「手順書」として保存できる機能
スキルは、作業の手順や判断基準を書いたファイルをフォルダにまとめたものです。依頼がスキルの内容に合うと、Claudeがそのフォルダを読み込み、書かれた手順どおりに作業します。
1つ目の利点は、毎回同じ指示を書かずに済むことです。たとえば月次レポートを頼むたびに、見る指標、良し悪しの判定基準、文章の書き方を説明し直す必要がなくなります。
2つ目の利点は、誰が頼んでも同じ手順で作業が進むことです。依頼文が短くても詳しくても、判定基準や出力の形はスキルの側で決まっているため、仕上がりの品質がそろいやすくなります。
プロジェクトやMCPとの違い
スキルと混同しやすい機能に、プロジェクトとMCPがあります。違いは、何を担うかと、いつ読み込まれるかです。
| 機能 | 担うもの | 読み込まれるタイミング |
|---|---|---|
| プロジェクト | 会話の前提になる資料・背景情報 | プロジェクト内の会話で常に |
| スキル | 作業の進め方(手順・判定基準) | 依頼がスキルの説明に合ったときだけ |
| MCP | 外部サービスとの接続 | 接続したサービスを使うとき |
プロジェクトは、会話に常に読み込まれる前提情報を置く場所です。資料や背景説明を入れておくと、そのプロジェクト内のどの会話でもClaudeが参照します。
これに対してスキルは、必要なときだけ呼び出される手順書で、呼び出されるまでは名前と短い説明しか読み込まれません。
MCPは、ClaudeをGoogleドライブやSlackなどの外部サービスとつなぐ仕組みです。データを取ってくる経路を用意するのがMCPで、手に入れたデータをどう処理するかを教えるのがスキルです。
スキルの仕組み
スキルの実体はフォルダで、Claudeはその中に書かれたdescription(スキルの説明文)を見て、使うかどうかを決めます。
SKILL.mdとフォルダ構成
スキルのフォルダには、SKILL.mdというファイルが必ず1つ入ります。スクリプトや参考資料は必要な場合だけ加えます。
monthly-report/
├── SKILL.md (必須:手順書の本体)
├── scripts/
| └── analyze.py (任意:計算などを行うスクリプト)
└── references/
└── template.md (任意:テンプレートや参考資料)
SKILL.mdの先頭には、name(スキル名)とdescription(説明文)を書きます。nameは半角の英小文字・数字・ハイフンで付け、フォルダ名とそろえます。その下の本文に、作業の手順や判定基準を書きます。
スクリプトやテンプレートは、本文で「このスクリプトを実行する」「このテンプレートに沿って書く」と指示しておくと、Claudeが必要な場面で使ってくれます。
descriptionをもとに自動で呼び出される
会話の開始時にClaudeが読むのは、各スキルのnameとdescriptionだけです。依頼がdescriptionに合うと判断したときに初めて、本文を読み込みます。スキルをいくつ入れても、使わないスキルの手順で会話が埋まることはありません。
裏を返すと、呼び出されるかどうかはdescriptionの書き方で決まります。「何をするスキルか」に加えて「どんな頼み方をされたら使うか」まで書いておくと、呼び出されやすくなります。
スキルが使える環境(チャット・Cowork・Claude Code)
スキルは、チャット、Cowork、Claude Codeで使えます。環境ごとに追加の方法が異なります。
| 環境 | スキルの追加方法 |
|---|---|
| チャット(claude.ai・Claudeアプリ) | 「カスタマイズ」の「スキル」から、フォルダをzipにして追加 |
| Cowork | claude.aiのアカウントで有効にしたスキルが読み込まれる |
| Claude Code | ~/.claude/skills/(全プロジェクト共通)か .claude/skills/(そのプロジェクトだけ)にフォルダを置く |
チャットで自作のスキルを使うには、コード実行の機能を有効にしておく必要があります。公式ヘルプでは、FreeからEnterpriseまでのプランが対象で、コード実行の機能を有効にしておく必要があるとされています。
Claudeのおすすめスキルについては以下の記事で紹介しています。
スキルの作り方は2通り
スキルは、SKILL.mdを自分で書いて作ることも、skill-creatorに作ってもらうこともできます。初めて作るなら、テストまで一緒に進めてくれるskill-creatorが手軽です。
SKILL.mdを自分で書く
自分で書く場合は、次の手順で作ります。
- スキル名のフォルダを作る
- SKILL.mdにname・description・本文を書く
- 必要ならスクリプトや参考資料をフォルダに入れる
- チャットならフォルダをzipにして追加し、Claude Codeならフォルダを所定の場所に置く
手順が固まっている作業なら、この方法で十分です。ただし、想定した依頼で本当に呼び出されるか、実際のデータで期待どおりに動くかは、自分で試して確かめる必要があります。
skill-creatorに作ってもらう
skill-creatorは、スキルを作るためのスキルで、Anthropicが提供しています。チャットで「〇〇をするスキルを作りたい」と頼むと呼び出され、次の流れで作業が進みます。
- 聞き取り:何をさせたいか、どんな頼み方で呼び出すか、出力の形式
- 下書き:SKILL.md(必要ならスクリプトも)を書く
- テスト:実際にありそうな依頼文を用意し、スキルを使って実行する
- 修正:結果を見たユーザーの意見をもとに直し、descriptionを整えて仕上げる
自分で書く場合との違いは、テストと修正が作る流れの中に組み込まれている点です。「呼び出されるか」「期待どおりの出力になるか」を、完成前に確かめられます。
skill-creatorでサーチコンソールのレポートスキルを作ってみた
ここからは実際に作った流れを紹介します。題材は毎月手作業でやっていたサーチコンソールのレポート作成で、依頼文からテストで直したところまで載せています。
作ったもの|インターン向けの月次SEOレポート
サーチコンソールからエクスポートしたzipを渡すと、月次SEOレポートをHTML1枚で出力してくれるスキルです。読者をインターン生向けに設定したので、数字だけ渡しても「だから何をするか」が見えないため、推奨タスクまで出力するようにしました。
最初に渡した依頼文
以下が今回Claudeに渡したプロンプトです。
ポイントは、「何を作るか」より「どこまで作るか」を指示している点です。
今回やらないことを明記:GA4連携などを切っておくと機能が膨らまない
入力データの癖を先に共有:CSVのファイル名はUI言語で変わるので列名で判別させる
判定基準は数値で固定、数値自体は相談:基準がぶれると月次比較が成立しない
skill-creatorに聞かれたこと
すぐには作り始めず、「実データのzipを先に1つほしい」と返ってきました。列名がUI言語で変わるため、実物を見て判別ロジックを書きたいという理由です。
質問は2回あり、1回目は判定基準についてです。伸びたor落ちたの判断基準について、クリック差±10以上、CTR改善候補は表示1000以上・10位以内・CTR3%未満の提案を受けました。
2回目は該当0件のときの振る舞いや優先度の決め方といった運用ルールに関する質問です。
印象的だったのは、完成報告で「表示回数1000以上という基準は、月間クリック数百規模のサイトでは毎回0件になりがちです」と懸念を先出ししてきたことです。
質問への返答をしたら、スキルの作成が自動的に始まります。
テストして直したところ
skill-creatorで作成したスキルに実データのzipを入れてテストしました。そこで出てきた改善点をもとにさらにスキルを改善することにしました。
決めた基準が1件も当たらない
比較ありのzipでも全セクション0件でした。28日でクリック61回・表示1,734回、最大の変動が±4クリックで、「差±10以上」に届く行が存在しないためです。
| 基準 | ページ | クエリ |
|---|---|---|
| 差±10・前期表示100以上(現行) | 0 / 0 | 0 / 0 |
| 差±3・前期表示30以上 | 2 / 3 | 1 / 0 |
| CTR改善:表示1000(現行) | 0 | 0 |
| CTR改善:表示100 | 2 | 0 |
基準を緩めれば該当は出ますが、据え置きにしました。出てきたものが「動きがあった」ではなく「ノイズを候補と呼んでいる」状態になるからです。代わりに、全0件のときはコンテンツ改善タスクを作らず、データを整備するタスクを優先度「高」で出す形にしました。
あわせて、比較期間がないときだけ「期間の前半 vs 後半」を代用として追加。最初のzipでは前半34クリック→後半104クリックと出て、これが一番価値のある発見でした。
決めたルール同士がぶつかる
課題も見つかりました。2つのルールの衝突が生じました。
ひとつは推奨タスクの根拠です。「CTRの低下を次回確認する」というタスクの根拠がサイト全体の数字だったので、これではどのページを開けばいいか分かりません。根拠は対象ページ個別の数字に限る、とSKILL.mdにルールを追加してタスク自体は削除しました。あわせて、レポート本文にも「どのページが原因か特定できないためタスクにしていない」と1行加えています。
もうひとつは「1zip=1レポート」です。同じサイト・同じ28日間なのに、片方は比較なしだが日別データあり、もう片方は前期比ありだが日別データなしという補完関係でした。SKILL.mdの「1zip=1レポート」に従うとほぼ同じレポートが2本できるため、skill-creatorは手を止めて確認してきます。2つを組み合わせて1本のレポートを出力することで、当期の実線に前期を点線で重ねたグラフが出せました。
完成したレポート
完成したレポートは以下の通りです。




作ってみてわかったスキル作りのコツ
実践で直した点のうち、ほかのスキルにも当てはまるものを3つ挙げます。
判定基準は数値で決め、計算はスクリプトに任せる
基準を数値で決めておけば、毎回同じ基準で選ばれるので一貫性のある出力ができます。
例えば、「伸びたページを挙げて」と文章だけで指示すると、何をもって伸びたとするかは実行のたびにClaudeが決めます。これでは月ごとに物差しが変わり、先月のレポートと比べられません。
集計や増減率の計算もスクリプトに任せます。Claudeに計算させると、レポートの数字が元データとずれることがあるためです。数字はスクリプトが出し、Claudeは文章だけを書く、という分担にしておくと、数字の食い違いが起きにくくなります。
データが足りないときの動きを決めておく
データが欠けていたときの扱いを決めていないと、Claudeが空欄を推測の数字や文章で埋めてしまうおそれがあります。
今回のスキルでは、比較期間のないデータ、条件に合うページがない場合、必要なファイルが欠けている場合には「算出できません」「ありませんでした」と指示しました。
性質の違う実データで複数回テストする
1つのデータでうまく動いても、別の月や別のサイトのデータで同じように動くとは限りません。比較期間の有無、アクセスの規模、エクスポートの形式など、データの性質が変わると、想定していなかった分岐に入るからです。
今回のスキルにも、UIの言語やバージョンでファイル名が変わっても読めるよう、ファイル名ではなく列名と中身でデータの種類を判別する処理が入っています。
テストでは、条件の違う実データを何種類か渡すのがおすすめです。
まとめ:スキルの精度は最初の依頼文と実データでのテストで決まる
Claudeのスキルは、よく使う作業の手順や判定基準を保存しておき、descriptionに合う依頼が来たときに自動で呼び出される機能です。作り方はSKILL.mdを自分で書く方法とskill-creatorに作ってもらう方法の2通りで、初めてならテストまで一緒に進められるskill-creatorが向いています。
仕上がりを左右するのは、最初の依頼文と実データでのテストです。依頼文に読み手、判定基準、データが足りないときの扱いまで書いておき、性質の違う実データで試して直します。まずは毎月くり返している作業を1つ選び、skill-creatorに「この作業のスキルを作りたい」と頼んでみてください。
この記事の監修者
小杉 啓太
監修株式会社みずかげ製作所 代表取締役
慶應義塾大学理工学部にてCNNによる画像分類を研究。エンジニアリング視点を持ったWebマーケターとして、SEO戦略立案から1,000本以上の記事校閲・編集まで幅広く経験。 ClaudeやCodexによる高度なWeb開発や、n8n・Google Workspace Studioを活用した最新の業務自動化ノウハウを武器に、IT・マーケティング分野の専門的で信頼性の高いコンテンツ監修を手掛ける。