SKILL.mdの構文はわかった。保存場所も知っている。YAMLフロントマターの書き方も覚えた。でも、いざ自分のワークフロー用にスキルを作ろうとすると、手が止まってしまう。
「全部1ファイルに書けばいいの?」「リファレンスって分けた方がいいの?」「200行のスキルと2000行のスキル、どっちが正しいの?」
この記事では、実際に稼働している5つのスキルを解剖して、スキル設計の思考プロセスを体系化します。「書き方」ではなく「設計の考え方」を身につけるのがゴールです。
今回は中級編! スキルの基本を知ってる人向けだから、SKILL.mdの書き方とかは省略するよ。初めての人はスキル基本ガイドから読んでね!
今回は当プロジェクトで実稼働しているスキルのコードを実際に引用します。理論だけでなく、現場の設計判断を追体験できる内容です。
スキルを作るべき瞬間を見極める
スキルは便利ですが、なんでもスキルにすればいいわけではありません。まずは「いつスキルを作るべきか」を判断する3つの基準を紹介します。
3つの判断基準
- 頻度 ― 3回ルール
同じプロンプトや手順を3回以上書いたら、スキル化の候補です。1回しか使わないものをスキルにするのはオーバーエンジニアリングです。 - 複雑さ ― 3ステップ以上
「ファイルを読む → 分析する → 出力する → 品質チェックする」のように3ステップ以上の手順がある場合、毎回書くのは非効率です。 - 外部知識 ― Claudeが知らないこと
社内ツールの使い方、独自フレームワークのルール、APIの非公開仕様など、Claudeの学習データにない知識はスキルに書くしかありません。
3つ全部当てはまらなくても、1つでも当てはまればスキル化していいの?
はい。1つでも該当すれば検討に値します。特に「外部知識」は1回しか使わなくてもスキル化する価値があります。次にそのツールを使う人が助かるからです。
CLAUDE.md に書くか、スキルにするか
よくある悩みが「CLAUDE.mdに書くのとスキルにするの、何が違うの?」という問題です。判断基準はシンプルです。
CLAUDE.md vs スキルの使い分け
- CLAUDE.md: 常に適用されるルール。コーディング規約、セキュリティルール、Git運用方針など。毎回のセッションで必ず読み込まれる。
- スキル: 特定のタスクでのみ必要な知識。デプロイ手順、画像生成の手順、特定APIの使い方など。必要な場面でだけ読み込まれる。
判断のキーワード: 「常に」ならCLAUDE.md、「〜するときだけ」ならスキル。
全部CLAUDE.mdに書けばいつでも知ってる状態になるじゃん! その方が賢くない?
それは「教科書を全ページ暗記すれば試験に受かる」というのと同じ発想です。コンテキストウィンドウには上限があり、詰め込みすぎると本当に必要な情報が埋もれて精度が下がります。スキルに分離することで、必要な知識だけを必要な瞬間に読み込めるのです。
4つの設計パターン ― 実稼働スキルから抽出
ここからが本題です。当プロジェクトで実際に使っている5つのスキルを分析し、4つの設計パターンに分類しました。それぞれのパターンがどういう場面で適切かを、実際のコードとともに解説します。
パターン1: 手順集約型(Procedure-First)
特徴: SKILL.md 1ファイルに全手順を書ききる。サブファイルなし。
適用条件: 手順が200行以内に収まり、毎回の実行で全体を把握する必要がある場合。
最もシンプルなパターンです。記事用の挿絵を生成するarticle-slidesスキルがこれに該当します。
# 記事用挿絵スライド生成スキル(article-slides SKILL.md 抜粋)
## ワークフロー
記事HTML/トピック
|
[Step 1] スライド設計(Claude が記事を分析)
-> 必要枚数・テーマ・テキスト・構図・キャラ使用を決定
|
[Step 2] 一発生成(Gemini API)
-> キャラ参照画像 + テキスト込みプロンプト -> 完成スライド
|
[Step 3] 品質チェック(Opus + Gemini 二重検証)
-> パスのみ最終出力、NGは OLD/ に退避
|
[Step 4] 出力(WebP/PNG 16:9)
## 重要ルール(絶対遵守)
1. リアのビジュアルをプロンプトに記述しない(参照画像に委ねる)
2. テキストがキャラの顔に被る配置は絶対NG
3. NG画像は上書き・削除しない(OLD/ に退避)
ワークフロー、ルール、コード例がすべて1ファイルに収まっています。分割する理由がないからです。
このパターンの目安は200行以内。手順が増えてこの上限を超えそうになったら、次のパターンへの移行を検討してください。
パターン2: カテゴリ分割型(Lazy-Loaded Category)
特徴: SKILL.mdに共通ルールを書き、categories/フォルダに出力タイプ別の定義を分離。
適用条件: 同じエンジンやフレームワークで、複数の出力パターンを扱う場合。
AI画像生成のプロンプトを設計するnanobanana-promptスキルがこのパターンです。「衣装カタログ」「1枚絵」「スプライトシート」など出力タイプごとにプロンプトの構造が異なりますが、基本ルールは共通です。
# SKILL.md(共通ルール部分 — 抜粋)
## プロンプト設計の基本ルール
### 1. 参照画像の扱い
- 参照画像1枚で十分
- キャラの外見をプロンプトに書かない(参照画像に委ねる)
### 2. プロンプトの基本構造
this [subject] wearing/with [描写], [ディテール], [スタイル]
## カテゴリ一覧
| カテゴリ | ファイル | 説明 |
|-------------|--------------------------------|-------------------|
| catalog | categories/catalog.md | 衣装パーツカタログ |
| illustration| categories/illustration.md | CG1枚絵 |
| spritesheet | categories/spritesheet.md | スプライトシート |
| manga | categories/manga.md | 漫画パネル |
スキルが呼ばれたら:
1. 指定カテゴリの categories/{category}.md を読む
2. ユーザーの要件に基づいて構造化JSONを生成
ポイントは「共通ルールはSKILL.md、カテゴリ固有の知識は別ファイル」という分離です。新しい出力タイプが追加されたとき、SKILL.mdは1行テーブルに追記するだけ。カテゴリファイルを1つ追加すれば拡張完了です。
あ、これいいね! 全カテゴリを1ファイルに詰め込んだら何千行にもなっちゃうけど、分けてあればClaudeは「衣装カタログ」だけ読めばいいんだ!
その通りです。さらに、このスキルには「新カテゴリ追加のガイドライン」もSKILL.md内に書かれています。スキル自体に拡張手順を含めておくのがベストプラクティスです。
パターン3: ルール索引型(Modular Rule Index)
特徴: SKILL.mdはインデックス(目次)のみ。rules/フォルダに独立したルールファイルを大量に配置。
適用条件: 大量の独立したルールがあり、タスクに応じて必要なものだけ読みたい場合。
Remotion(Reactベースの動画生成フレームワーク)のベストプラクティス集であるremotion-best-practicesスキルがこのパターンです。SKILL.mdはわずか46行で、本体は30以上の個別ルールファイルです。
# remotion-best-practices SKILL.md(全文)
---
name: remotion-best-practices
description: Best practices for Remotion - Video creation in React
---
## When to use
Use this skills whenever you are dealing with Remotion code.
## How to use
Read individual rule files for detailed explanations:
- rules/animations.md - Fundamental animation skills
- rules/audio.md - Using audio and sound
- rules/compositions.md - Defining compositions
- rules/transitions.md - Scene transition patterns
- rules/timing.md - Interpolation curves
- rules/videos.md - Embedding videos
... (30ファイル以上)
このスキルでは、Claudeは「アニメーション」の質問を受けたらrules/animations.mdだけを読みます。「フォント」の質問ならrules/fonts.mdだけ。全ルールを一度に読み込む必要がありません。
パターン2(カテゴリ分割)とパターン3(ルール索引)の違い
- カテゴリ分割: 1つのコマンドが1つのカテゴリファイルを読む。ユーザーがカテゴリを指定する。
- ルール索引: タスクの内容に応じてClaudeが自分で必要なルールファイルを選んで読む。ユーザーは意識しない。
ルール索引型はClaude自身の判断に委ねるため、各ファイルの説明文(インデックスの1行コメント)が特に重要です。
パターン4: 戦略参照型(Strategy-Referenced Decision)
特徴: SKILL.mdに手順とルールを書き、references/フォルダに意思決定の根拠となる戦略資料を分離。
適用条件: 通常の実行では不要だが、特定のコマンド(レビュー、分析、ネタ出し等)で深い知識が必要な場合。
X(Twitter)投稿スキルx-postがこのパターンです。通常の投稿ではSKILL.mdの手順とルールだけで十分ですが、投稿文のレビューやネタ出しをする場合は、アルゴリズム分析やHook設計の戦略知識が必要になります。
# x-post SKILL.md(抜粋)
## コマンド
| コマンド | 用途 |
|--------------------------|-------------------|
| /x-post <内容> | テキストのみ投稿 |
| /x-post image <内容> | 画像付き投稿 |
| /x-post review <投稿文> | 投稿文をレビューし改善 |
| /x-post ideas <テーマ> | ネタ出し |
## リファレンス
| ファイル | 内容 | 読み込みタイミング |
|-------------------------|-------------------|-------------------|
| references/x-strategy.md | アルゴリズム権重・Hook公式 | review / ideas 時 |
| prompts/article-announce.md | 記事告知テンプレート | announce 時 |
読み込み原則: 必要なリファレンスだけを都度読み込む。
このパターンの核心は「読み込みタイミング」列です。どのコマンドでどのリファレンスを読むかを明示することで、Claudeは無駄なファイル読み込みをせず、必要な場面でだけ戦略知識を参照できます。
4つもパターンがあると、どれを使えばいいか迷いそう……。選び方のコツってある?
まずパターン1(手順集約)で始めてください。200行を超えそうになったら、内容の性質に応じてパターン2〜4に進化させる。最初から複雑な構造にする必要はありません。
4パターン選択の早見表
| パターン | 適用条件 | ファイル構成 |
|---|---|---|
| 1. 手順集約型 | 200行以内・単一タスク | SKILL.md のみ |
| 2. カテゴリ分割型 | 同エンジン・複数出力タイプ | SKILL.md + categories/ |
| 3. ルール索引型 | 大量の独立ルール | SKILL.md(索引) + rules/ |
| 4. 戦略参照型 | コマンド別に深い知識が必要 | SKILL.md + references/ |
リファレンスファイルの設計原則
パターン2〜4ではリファレンスファイルに分離する設計を紹介しました。では「何をいつ分離するか」の判断基準はどうなっているのでしょうか。
Progressive Disclosure(段階的開示)
スキル設計の最重要原則はProgressive Disclosureです。Anthropic Academy公式コースでも強調されているこの原則は、「必要な情報を、必要なタイミングで、必要な分だけ読み込む」という考え方です。
具体的な判断基準は以下の通りです。
- SKILL.mdに直接書く場合: 200行以内に収まる AND 毎回の実行で必要な情報
- 別ファイルに分離する場合:
- 条件分岐で読む(コマンドAでは必要だがBでは不要)
- 200行を超える
- 将来カテゴリやルールが追加される可能性がある
でもさ、全部読み込んだ方がClaudeは賢くなるんじゃない? 情報が多い方が判断の精度も上がりそうだけど。
直感に反しますが、情報過多はむしろ精度を下げます。コンテキストウィンドウに無関係な情報が増えると、本当に重要な指示が「ノイズ」に埋もれてしまうのです。remotion-best-practicesの30ルールを全部読み込むと約15,000トークン消費しますが、実際に必要なのは通常1〜2ファイルだけです。
読み込みタイミングを明記する
リファレンスを分離したら、SKILL.md内にいつ読むかを明記するのが重要です。x-postスキルでは「リファレンス」セクションにテーブルで読み込みタイミングを書いています。
Claudeは賢いですが、「このファイルはreviewコマンドのときだけ読んでね」と明示的に書いた方が確実です。暗黙の期待は禁物です。
フォルダ命名規則
リファレンスファイルのフォルダ名は、内容の性質に合わせて使い分けます。
categories/― 出力タイプ別(catalog.md, illustration.md)rules/― 独立したルール群(animations.md, fonts.md)references/― 判断材料・戦略資料(x-strategy.md)prompts/― プロンプトテンプレート(article-announce.md)
よくある失敗パターン(アンチパターン)
スキル設計でよくある5つの失敗パターンを紹介します。どれも「やりがち」なものばかりです。
1. 巨大SKILL.md
全情報を1つのSKILL.mdに詰め込んで1000行を超えてしまうパターンです。スキルが呼ばれるたびに全文がコンテキストに読み込まれるため、トークンを大量消費し、関係ない情報がノイズになります。200行を超えたら分割を検討してください。
2. リファレンスなき分割
ファイルを分割したものの、SKILL.mdから参照リンクや説明を書いていないパターンです。Claudeはファイルの存在を自動で認識しません。SKILL.md内にファイル一覧と説明を必ず書きましょう。
え、Claudeってフォルダの中を自動で見に行ってくれないの?
スキル発動時にClaudeが最初に読むのはSKILL.mdだけです。そこにリンクや参照指示がなければ、サブファイルの存在を知る手段がありません。索引(目次)を書くことが必須です。
3. descriptionの手抜き
YAMLフロントマターのdescriptionが「便利なスキル」「ツール操作」のような曖昧な記述だと、Claudeの自動マッチングが効きません。「いつ」「何のために」使うかを具体的に書きましょう。
# 悪い例
---
name: my-tool
description: "便利なツール操作スキル"
---
# 良い例
---
name: nanobanana-prompt
description: "Nanobanana2/NanobananaPRO モデル向け構造化JSONプロンプト設計。
衣装カタログ・1枚絵・スプライトシート等、出力タイプに応じた
構造化JSONを生成する。
用途: /nanobanana-prompt catalog, /nanobanana-prompt illustration"
---
4. 手順とルールの混在
「何をするか(手順)」と「守るべきこと(ルール)」が入り混じっていると、Claudeが手順を飛ばしたりルールを見落としたりします。セクションを分けて、手順は「ワークフロー」、ルールは「重要ルール」のように明確に区分しましょう。
5. 環境依存の暗黙知
「/home/user/my-project/にあるファイルを...」のように、特定環境のパスやAPIキーの場所をハードコードしてしまうパターンです。パスは変数化するか、.envからの読み込みを指示しましょう。チームで共有するスキルでは特に重要です。
スキル設計チェックリスト
スキルを作る前に、以下の7項目を確認してください。これを通過すれば、設計品質は十分です。
スキル設計チェックリスト
- この知識は繰り返し使うか?(3回ルール)
- SKILL.mdは200行以内に収まるか? 超えるなら分割を検討
- descriptionに「いつ」「何のために」使うか具体的に書いたか?
- 手順(How)とルール(Rules)を分離したか?
- リファレンスファイルがある場合、読み込みタイミングを明記したか?
- 環境固有のパスやAPIキーを
.envに外出ししたか? - 将来の拡張方法(新カテゴリ/ルール追加手順)を書いたか?
7個もあるけど、最初は全部完璧にしなくても大丈夫だよね?
その通りです。スキルは育てるものです。最初はパターン1(手順集約)で最低限動くものを作り、使いながら磨いていく。完璧を目指すより、まず動かすことが重要です。
まとめ
この記事では、実稼働スキルから抽出した4つの設計パターンと、スキル設計の思考プロセスを解説しました。
- スキルを作るタイミング: 頻度(3回ルール)、複雑さ(3ステップ以上)、外部知識で判断
- 4つの設計パターン: 手順集約 → カテゴリ分割 → ルール索引 → 戦略参照
- リファレンス設計: Progressive Disclosure原則で、必要な情報を必要なときだけ
- アンチパターン回避: 巨大SKILL.md、リファレンスなき分割、description手抜き等に注意
最も大切なのは、まずパターン1で小さく始めること。200行を超えたら分割を考え、使いながら最適なパターンに進化させていく。スキルはコードと同じで、リファクタリングしながら育てるものです。
パターンの名前があると考えやすくなるね! あたしも自分のスキルを見直してみよ〜。みんなもぜひやってみてね!
スキルの基本を学びたい方は基本ガイドを、公式コースの内容を知りたい方はAgent Skills入門 完全ガイドを併せてお読みください。
それじゃ、また次の記事で! ばいばい〜!