メインコンテンツへスキップ
← 記事一覧に戻る

Claude Code Skills 入門 — 自作スキルで開発効率を2倍にする実装ガイド

14 min readClaude Code
#Claude Code#Skills#個人開発#自動化

Claude Code を使っていて、毎回同じ手順をプロンプトで指示していませんか?

「マイグレーションを追加する前に既存ファイルを確認して」「コミット前に lint を通して」「PR を作る前に CHANGELOG を更新して」——こうした定型作業を毎回手で書くと、1日数十分が消えていきます。

この記事では、Claude Code の Skills 機能を自作して、繰り返し作業を「スキル」として呼び出せる状態にする手順を解説します。1スキルの実装にかかる時間は約15分、運用に乗せれば1ヶ月で約10時間の作業を削減できます。

筆者は Claude Crew という Claude Code 自動運用システムを構築しており、自作 Skills を12本組み合わせて月500万トークンの運用をしています。その実運用知見をもとに、最初の1本を作る手順を書きます。

結論:Skills はマークダウン1枚で「自動起動するエージェント」が作れる

結論から言うと、Claude Code Skills は 「マークダウンで定義した手順を、Claude が文脈に応じて自動的に呼び出してくれる仕組み」 です。

具体的には、以下の3つが揃えば自作 Skills として機能します。

  1. ~/.claude/skills/<skill-name>/SKILL.md のディレクトリ構造
  2. フロントマターに namedescription を記述
  3. その下に手順本文を書く

これだけです。Claude は会話の文脈から「このスキルを使うべきだ」と判断して、自動的に SKILL.md を読み込んで実行します。プロンプトで毎回呼び出す必要はありません。

この記事ではこの3要素の中身を具体的なコード付きで解説し、最後に「実際にどう稼ぎに繋がるか」まで書きます。

Claude Code Skills とは何か

Skills は、Claude Code に 「特定の状況で自動起動する手順書」 を持たせる仕組みです。よく似た機能として「プロンプトテンプレート集」や「カスタムコマンド」がありますが、Skills の決定的な違いは Claude 自身が「使うべきタイミング」を判断する 点にあります。

配置場所と読み込みルール

Skills は2つの場所に配置できます。

配置場所スコープ用途
~/.claude/skills/ユーザーグローバルどのプロジェクトでも使う汎用スキル
<project>/.claude/skills/プロジェクトローカルそのリポジトリ専用のスキル

Claude Code を起動すると、両方のディレクトリが自動的にスキャンされ、各 SKILL.md のフロントマターが読み込まれます。会話中に Claude が「このスキルが該当する」と判断すると、その時点で本文を読み込んで実行します。

フロントマター仕様

最小構成のフロントマターは次の2つだけです。

---
name: db-migration-checker
description: TRIGGER when the user asks to create a new database migration. Verifies the latest existing migration before generating a new one to prevent ordering conflicts.
---

name はスキル ID、descriptionClaude が「使うべきか」を判断するためのトリガー文 です。description の書き方が成否を分ける最重要ポイントで、ここが曖昧だとスキルは呼ばれません。後述します。

実装ステップ:最初のスキルを15分で作る

実際に1本作ってみます。題材は 「DB マイグレーションを作る前に既存ファイルとの整合性をチェックする」 スキルです。これは個人開発で Supabase や Prisma を使うときに、マイグレーション順序のミスでハマる事故を防ぐためのものです。

ステップ1:ディレクトリを作る(1分)

ターミナルで次を実行します。

mkdir -p ~/.claude/skills/db-migration-checker
cd ~/.claude/skills/db-migration-checker

ユーザーグローバルに置くので、どのプロジェクトでも使えるようになります。

ステップ2:SKILL.md を作成する(5分)

エディタで SKILL.md を作ります。

---
name: db-migration-checker
description: TRIGGER when the user asks to add, create, or generate a new database migration file (Supabase, Prisma, Drizzle, etc.). Verifies that the new migration does not conflict with the latest existing migration before writing.
---

# DB マイグレーション整合性チェック

新しいマイグレーションファイルを作成する前に、必ず以下の手順で整合性を確認してください。

## 手順

1. プロジェクト内のマイグレーションディレクトリを特定する
   - Supabase: `supabase/migrations/`
   - Prisma: `prisma/migrations/`
   - Drizzle: `drizzle/` または `db/migrations/`

2. 最新のマイグレーションファイル(最大のタイムスタンプ)を読む

3. 以下を確認する
   - 同じテーブルへの ALTER が直近で行われていないか
   - 同じカラム名が別のマイグレーションで定義されていないか
   - 外部キー制約の対象テーブルが先に作成されているか

4. 競合があれば、新しいマイグレーションを作成する前にユーザーに警告する

5. 競合がなければ、タイムスタンプを `YYYYMMDDHHMMSS` 形式で生成して新しいファイルを作成する

## 注意

- 既存のマイグレーションファイルは絶対に編集しない(一度適用されたものは履歴として残す)
- ロールバック用の `down` マイグレーションが必要な場合は別ファイルにする

これだけです。本文は普通の手順書として書けば OK で、Claude が読んで実行してくれます。

ステップ3:トリガー文を磨く(5分)

ここが一番重要です。description は Claude が「このスキルを呼ぶべきか」を判定するための文章で、書き方次第で呼ばれる頻度が大きく変わります。

良いトリガー文の3原則は次のとおりです。

  • TRIGGER when ... の形式で書く:Claude に対して「いつ起動するか」を明示する
  • 動詞の同義語を並べるadd, create, generate のように複数の動詞を列挙する
  • 対象を具体的に書く:「migration」だけでなく Supabase, Prisma, Drizzle のように具体的なツール名を入れる

逆にダメな例は description: マイグレーションをチェックする のような曖昧な記述です。これでは Claude が「何のためのスキルか」を判断できず、ほとんど呼ばれません。

ステップ4:テストする(4分)

別のプロジェクトで Claude Code を起動し、次のように頼みます。

新しい Supabase マイグレーションを作成して、users テーブルに last_login_at カラムを追加したい

db-migration-checker スキルが自動的に呼び出され、既存のマイグレーションファイルを確認したうえで新しいファイルを生成すれば成功です。呼び出されない場合は、description のトリガー文を見直してください。

💡

事例: Anthropic 公式(Equipping agents with Agent Skills)の体験談

Anthropic は2025年に Skills を「Equipping agents for the real world」というブログで正式に公開しました。 公式の説明によれば、Skills は「フォルダ単位の指示・スクリプト・リソース」で、Claude が動的にロードして専門タスクの精度を高めるものです。プロンプトテンプレートを毎回貼り付けるのではなく、SKILL.md として外出しすることで、再利用性と保守性が大幅に上がります。 Anthropic 自身、社内チームが Skills を活用して文書フォーマットや業務自動化に組み込んでおり、Skills マーケットプレイスやプラグインシステムも整備されています。

出典: Equipping agents for the real world with Agent Skills / anthropics/skills GitHub

よくある落とし穴

実装中に筆者がハマったポイントを3つ共有します。

1. ディレクトリ名と name フィールドの不一致

~/.claude/skills/db-checker/SKILL.md の中で name: database-migration-checker のように書くと、ロードはされますが管理が混乱します。ディレクトリ名と name フィールドは一致させるのがルールです。

2. description が短すぎる

description: マイグレーションのチェック のような10文字程度の説明だと、Claude が判断に迷います。最低でも50字、できれば100字程度の英文 + 動詞列挙を入れてください。

3. SKILL.md が長すぎる

スキル本文を5,000字以上書くと、毎回ロードするたびにトークンを消費します。長くなる場合は手順を簡潔にして、参考ファイルは reference/ ディレクトリに分けて配置するのが定石です。

で、どう稼ぐ? — Skills が個人開発の時給を上げる理由

Skills を自作することは、単なる作業効率化ではなく 個人開発者の時給そのものを上げる投資 です。具体的に3つのルートで売上に繋がります。

ルート1:開発時間の短縮 → 同じ時間でより多くの機能を作れる

筆者の場合、自作 Skills 12本で月10時間の作業を削減できています。週5時間を個人開発に充てている人なら、これは 2週間分の追加開発時間 に相当します。新しい SaaS の MVP を1つ余分に作れる時間です。

ルート2:受託開発の納期短縮 → 同じ単価で時給が上がる

受託案件で「Next.js + Supabase で管理画面を作る」のような繰り返しパターンがある人は、その手順をスキル化すれば、案件あたりの作業時間を体感30〜40%削減できます。1案件20万円の固定報酬なら、時給換算で約1.5倍になります。

ルート3:スキル自体を販売する

自作スキルは GitHub で公開してスター集めにも使えますし、価値の高いものは有料配布も可能です。実際、海外では「Claude Code Skills マーケットプレイス」のようなサービスも登場し始めています。月数千円のサブスクで自作スキル集を販売する個人開発者も出てきています。

3ルートのうち、最も即効性があるのは ルート1 です。まずは自分が毎日やっている繰り返し作業を1つ選んで、15分でスキル化してみることを推奨します。

まとめ

Claude Code Skills は、マークダウン1枚で自動起動する手順書を作れる仕組みです。重要なポイントを3つにまとめます。

  • 配置場所は ~/.claude/skills/<name>/SKILL.md、ディレクトリ名と name フィールドは一致させる
  • トリガー文 description が成否を分ける:TRIGGER when ... 形式で動詞と対象を具体的に書く
  • 1スキル15分の投資で、月数時間の作業削減が現実的に可能

次のエピソードでは、Skills と並んで強力な機能である MCP サーバー をゼロから構築する手順を解説します。Skills が「手順の自動呼び出し」だとすれば、MCP は「外部システムへの接続」です。両方を使いこなせば、Claude Code は「自走するエージェント」になります。

最初の1スキルは、今夜10分だけ時間を取って作ってみてください。今日の自分が15分使うことで、来月の自分が10時間の余裕を手に入れます。

次に読む

Claude Code Hooks で事故を防ぐ — git secrets / 本番 DB 保護の実装 (¥500)

Skills を自作できるようになったら、次は「うっかり事故」の防止です。Hooks を使った 9 つの安全装置で、Claude Code 運用を本番事故ゼロにする実装を全公開しています。

← 記事一覧に戻る