Claude Code Skillsを1時間で自作する完全手順
いいね1500超え、ブックマーク3600超え。
「Claude Skills 67選」って記事、見ましたか。
めちゃくちゃバズってましたよね。僕も読みました。
便利なSkillsが67個もまとまってて、確かにすごい。
でも正直、思ったんです。
「これ、入れるだけで終わらせたらもったいないな」って。
だって67個全部入れたとして、あなたの仕事に本当にピッタリなSkillがその中にいくつあるか。
たぶん、5個もあれば良い方です。
それよりも「自分の業務に完全フィットするSkill」を1個作れる人の方が、Claude Codeの恩恵を圧倒的に受けられる。
その差は、たった1時間。
今日はその1時間で何をすればいいか、全部書きます。
Skillsとは何か——CLAUDE.mdとどう違うのか
まず前提から。
Claude Codeを使ってる人なら、CLAUDE.mdは知ってると思います。
プロジェクトのルートに置いて、コードの書き方とかディレクトリ構造とか、Claudeに覚えておいてほしいことを書くファイルですよね。
で、Skillsって何が違うの?という話。
一番大きな違いは「コンテキストの使い方」です。
CLAUDE.mdは、セッションが始まるたびに全文がコンテキストに読み込まれます。
そこに書いてあること全部が、毎回トークンを消費するんです。
一方でSkillsは「必要なときだけ」読み込まれる。
Anthropicの公式ドキュメントにはっきり書いてあります。
「In a regular session, skill descriptions are loaded into context so
Claude knows what's available, but full skill content only loads when
invoked.」
普段はSkillの「名前」と「説明文」だけがコンテキストにある状態。
Claudeが「あ、このSkill今の作業に関係あるな」と判断したら、そこで初めて中身が全部ロードされる。
これ、何がいいかというと。
CLAUDE.mdに手順書とかチェックリストを全部詰め込むと、どんどん膨らんでいくんですよね。
200行とか超えてくると、毎回そのトークンを食うわけで。
Skillsなら、使わないときはゼロコスト。
整理すると、こう。
CLAUDE.mdは「Claudeにどう振る舞ってほしいか」を書く場所。
Skillsは「Claudeに何をしてほしいか」を書く場所。
コーディング規約やディレクトリ構造はCLAUDE.md。
デプロイ手順やコードレビューのチェックリストはSkills。
この使い分けが、Claude Codeを上手く使いこなす鍵になります。
自分専用Skillが必要な3つのサイン
じゃあ、どんな人がSkillを自作すべきなのか。
以下の3つに1つでも当てはまるなら、今日から作り始めた方がいいです。
1つ目。「毎回同じ説明を繰り返している」
「この記事は初心者向けで、文体はです・ます調で、500文字以上で...」
みたいな前提条件を、毎セッション打ち込んでませんか。
Skillにしてしまえば /write-article って打つだけで全部伝わります。
2つ目。「CLAUDE.mdが200行を超えてきた」
最初は便利なCLAUDE.mdも、あれもこれもと追記していくと手順書の塊になる。
毎回全文ロードされるので、コンテキストの無駄遣いです。
手順系は切り出してSkillにすると、CLAUDE.mdがスッキリします。
3つ目。「公開されているSkillが微妙にフィットしない」
67選とかの既製品は汎用性を重視して作られてるんですよね。
だから自分のワークフローとは微妙にズレることが多い。
「あと一歩こうだったら完璧なのに」って思ったことがあるなら、自分で作った方が早いです。
STEP1: 最小限のSKILL.mdを15分で書く
ここから実践パートです。
Skillの実体は、SKILL.mdっていうマークダウンファイル1つだけ。
構造もシンプルで、YAMLのフロントマターとMarkdownの本文で構成されます。
最小限のSKILL.mdはこんな感じ。
---
name: write-article
description: Note記事を執筆する。文体はです・ます調、500文字以上、読者は初心者向け。「記事を書いて」「Note記事を作って」と言われたときに使用。
---
## 記事執筆ルール
- 一人称は「僕」
- です・ます調で統一
- 一文は50文字以内を心がける
- 冒頭3行で「自分に関係ある」と思わせるフックを入れる
- 最低500文字以上ここでめちゃくちゃ大事なポイントが1つあります。
descriptionの書き方です。
Claudeは、このdescriptionを見て「このSkillを今使うべきかどうか」を自動で判断します。
freeCodeCampの解説記事でも「the agent decides whether to load your skill based entirely on the description field」と明言されてます。
だからdescriptionには、こう書くのがコツ。
「このSkillが何をするか」だけじゃなく、「どんなときに使うか」「ユーザーがどんな言葉で依頼しそうか」まで含める。
弱い例
description: 記事を書く
強い例
description: Note記事を執筆する。文体はです・ます調、500文字以上。「記事を書いて」「Note向けの記事を作って」と依頼されたときに使用。
この差が、自動発動の精度を大きく左右します。
あと、フロントマターにはdescription以外にもいろいろ設定できます。
disable-model-invocation: true にすると、手動でしか起動しなくなる。デプロイみたいな「勝手に動かれたら困る」系に便利です。
allowed-tools で、そのSkill実行中に自動許可するツールを指定できる。
context: fork で、メインの会話とは別のサブエージェントとして実行できる。
でも最初は name と description だけで十分です。
まずは動くものを15分で作ること。それが大事。
STEP2: Skillを配置してテストする(10分)
SKILL.mdを書いたら、次は置き場所。
選択肢は2つあります。
1つ目。~/.claude/skills/スキル名/SKILL.md
これは「全プロジェクト共通」で使えるスキル。
どのプロジェクトを開いても使える、いわば個人ツールです。
2つ目。.claude/skills/スキル名/SKILL.md
これは「このプロジェクト専用」のスキル。
Gitにコミットすればチームで共有もできます。
例えば、記事執筆のSkillを全プロジェクトで使いたいなら。
mkdir -p ~/.claude/skills/write-articleこのフォルダに先ほどのSKILL.mdを保存するだけ。
インストール完了です。
テスト方法は3つ。
まず「What skills are available?」とClaude Codeに聞く。
一覧に自分のSkillが出てればOK。
次に /write-article と直接打って呼び出す。
意図通りの動作をするか確認します。
最後に「Note記事を書いて」と自然な言葉で依頼してみる。
descriptionに書いたトリガーワードで自動発動するかのチェックです。
ここで嬉しいポイントが1つ。
ライブ変更検知という機能があって、SKILL.mdを編集したらClaude Codeを再起動しなくてもそのまま反映されます。
公式ドキュメントでも「Adding, editing, or removing a skill takes effect within the current session without restarting」と書いてある。
だから「ちょっと修正 → すぐテスト」のサイクルが超速で回せます。
STEP3: Skillを育てる——supporting filesとHooksの活用(35分)
SKILL.mdだけで事足りるなら、ここで完了です。
でも使い込んでいくと「もうちょっと細かいルールを入れたい」「サンプルも参照させたい」ってなるんですよね。
そこで supporting files の出番。
Skillのディレクトリには、SKILL.md以外のファイルも置けます。
write-article/
├── SKILL.md ← メインの指示書(必須)
├── references/
│ └── style_guide.md ← 文体ルールの詳細
├── examples/
│ └── sample.md ← 良い記事のサンプル
└── scripts/
└── check.sh ← 品質チェックスクリプト公式ドキュメントでは「Keep SKILL.md under 500 lines」と推奨されてます。
メインの指示は500行以内に収めて、詳細はreferences/に分離するのがベスト。
ここがまた良い設計なんですけど。
references/のファイルは、Claudeが「必要だ」と判断したときだけ読み込まれる。
常にコンテキストを食うわけじゃないんです。
SKILL.mdの中で「詳細な文体ルールは references/style_guide.md
を参照」と書いておけば、Claudeが必要なタイミングで勝手に読んでくれます。
もう1つ、上級テクニックとしてHooksの活用があります。
フロントマターにhooksを設定すると、Skill実行時に特定の処理を自動で走らせられる。
「記事を書き終わったら自動でlintをかける」みたいなことが、Skill単位で可能です。
あとdisable-model-invocation: trueで「手動専用」にする使い分けも覚えておくといい。
/deployとか/send-slackみたいな「勝手に動かれたら困るコマンド」はこれで制御します。
context: forkを使えば、メイン会話から独立したサブエージェントとしてSkillを実行できます。
重たいリサーチ系を裏で走らせたいときに便利ですね。
ただ正直、ここまでやるのは最初じゃなくていい。
まずSTEP1-2で動くSkillを作って、使いながら「ここ足りないな」と思ったタイミングでSTEP3に進む。
段階的に育てていくのが、一番ちょうどいいです。
実際に作っている5つの自分専用Skill
最後に、僕が実際に使っているSkillを5つ紹介します。
1つ目。X記事執筆Skill。
文体ルール、CTAのパターン、最低文字数、読者ターゲットを全部1つのSkillにまとめてます。
以前はこれ全部をCLAUDE.mdに書いてたんですが、Skillに移したらCLAUDE.mdが100行くらい減った。
/x-writer って打つだけで、ルールが全部適用されます。
2つ目。n8nワークフロー設計レビューSkill。
n8nのJSON構造をチェックして、ノード間の接続漏れや設定ミスを検出するスキルです。
references/にn8nのノード仕様書を入れてあるので、かなり精度の高いレビューができます。
3つ目。バズ記事テーマ候補出しSkill。
トレンドデータとペルソナ情報を読み込んで、記事テーマを20個出してくれる。
context: forkでサブエージェントとして実行してるので、メインの作業を邪魔しません。
4つ目。リプライ文生成Skill。
自分の投稿に来たリプライへの返信を、自分の文体で下書きしてくれる。
references/に過去の返信サンプルを入れてあって、トーンの再現度がかなり高いです。
5つ目。品質チェックSkill。
記事やX投稿の品質を11項目でチェックするスキル。
文字数、フックの強さ、AIっぽさ、スマホでの読みやすさなどを自動判定してくれます。
この5つに共通してるのは、全部「僕が毎回繰り返し説明していたこと」をSkillにしたという点。
ちなみにMatt Pocock氏のGitHubリポジトリ(16,400スター)では、TDD(テスト駆動開発)やPRD作成、リファクタリング計画など23個のSkillが公開されてます。
Anthropicの公式リポジトリに至っては12万スターで、ドキュメント操作やセキュリティ分析まで幅広く揃ってる。
こういう既製品を参考にしつつ、自分のワークフローに合わせてカスタムする。
それが最強の使い方だと僕は思ってます。
まとめ
Claude Code Skillsは、SKILL.md1つ書くだけで使えます。
67選を入れるのも良い。
でも「自分専用のSkill」を1つ作れる人は、もっと強い。
必要なのは1時間だけです。
STEP1で15分かけてSKILL.mdを書く。
STEP2で10分かけて配置とテスト。
STEP3は必要になったら35分で拡張。
まずは、あなたがClaude Codeに毎回説明していることを1つ思い浮かべてみてください。
それをSKILL.mdに書き出すだけで、明日からその説明は不要になります。
あなたが毎回Claudeに繰り返し説明していることは何ですか?
それがそのままSkillになります。
ぜひコメントで教えてください。
Want to publish your own Article?
Upgrade to Premium