【コピペOK】Claude Code カスタムスキルの作り方|作業を自動化する実例付き

「同じ手順を何度もClaudeに説明している」「毎回長いプロンプトを打つのが面倒」——そんな悩みを抱えていませんか?

Claude Code には カスタムスキル(スラッシュコマンド)という仕組みがあります。.claude/skills/ フォルダにMarkdownファイルを置くだけで、繰り返し作業を1コマンドで呼び出せるようになります。

この記事でわかること:

  • カスタムスキルとは何か・何ができるか
  • スキルファイルを3ステップで作る方法
  • 引数・フラグの設計ポイント
  • WordPress自動投稿スキルの実例(コピペ可)
  • Agent Teamsと組み合わせた応用例

対象読者:Claude Code を使っている開発者・ライター・マーケター(まだインストールしていない方はClaude Code のインストール方法【完全ガイド】をご覧ください)

結論から言うと:スキルファイルは「Claudeへの指示書」です。Markdownで手順を書くだけで、毎回プロンプトを入力する手間がゼロになります。

Claude Code のスキル(カスタムスラッシュコマンド)とは

Claude Code では /help/clear のような組み込みコマンドの他に、ユーザーが独自に定義したコマンド(カスタムスキル)を作成できます。

スキルの正体は、プロジェクトの .claude/skills/ フォルダに置いたMarkdownファイルです。

プロジェクトルート/
└── .claude/
    └── skills/
        ├── post-article.md    # /post-article コマンドになる
        └── deploy.md          # /deploy コマンドになる

組み込みコマンドとの違い

組み込みコマンドは Claude Code 本体の機能ですが、カスタムスキルは 自分でゼロから定義 するものです。Claudeがスキルファイルを読み込み、その手順に従って動作します。

スキルで何が自動化できるか

実際に使われている活用例:

  • 記事自動投稿:トピックを渡すとWordPressに記事を生成・投稿する
  • デプロイ手順:本番環境へのデプロイ前チェックリストを自動実行
  • コードレビュー:特定のルールに従って変更差分をレビューする
  • ドキュメント生成:コードを解析してREADMEやAPI仕様書を作る
  • データ処理:CSVを読み込んで集計・整形・出力する

「毎回同じことをClaudeに頼んでいる」と気づいたら、それはスキル化のチャンスです。なお、コミュニティで公開されているスキルを探すにはskills.sh の find-skills コマンドが便利です。

スキルファイルの作り方:3ステップ

ステップ1:.claude/skills/ フォルダを作成する

プロジェクトルートに .claude/skills/ フォルダがなければ作成します。

mkdir -p .claude/skills

フォルダはプロジェクトごとに持てるので、作業内容に合わせたスキルをプロジェクト単位で管理できます。

ステップ2:Markdownファイルを作成する

ファイル名がそのままコマンド名になります。deploy.md なら /deploy で呼び出せます。

最小構成のスキルファイル:

# deploy

本番環境にデプロイするスキルです。

## 使い方

/deploy [--dry-run]

## 実行手順

1. git status でコミット漏れがないか確認する
2. テストを実行する(`npm test`)
3. --dry-run が指定された場合はここで終了して結果を報告する
4. `npm run build` でビルドする
5. サーバーにファイルを転送する
6. ヘルスチェックURLを確認する

ステップ3:呼び出してみる

Claude Code のターミナルで入力するだけです:

/deploy
/deploy --dry-run

Claude がスキルファイルを読み込み、手順に従って自律的に実行します。

スキルファイルの構成と書き方のポイント

「使い方」セクションを冒頭に書く

引数・フラグの仕様を冒頭に明示することで、Claude が正確に解釈できます。

## 使い方

/スキル名 <必須引数> [任意引数] [--フラグ名]

- `必須引数` : 説明
- `任意引数` : 説明(省略時のデフォルト値)
- `--フラグ名` : 付けると〇〇する

引数には以下の3パターンがあります:

種類 書き方
必須引数 <引数名> <topic>
任意引数 [引数名] [category]
フラグ [--フラグ名] [--draft]

「実行手順」を番号付きで書く

Claude は番号付き手順を順番に処理します。ステップを細かく分けるほど精度が上がります。

悪い例(曖昧):

## 実行手順
1. 記事を生成してWordPressに投稿する

良い例(具体的):

## 実行手順

### 1. 環境変数を読み込む
.env ファイルから WP_URL / WP_USERNAME / WP_APP_PASSWORD を取得する

### 2. タイトルを3案生成し1つ選ぶ
- 先頭に主KWを含める
- 60文字以内

### 3. 本文をHTML形式で生成する
...

コードブロックで Python や Bash を含める

Claude はスキルファイル内のコードブロックを実際のコードとして実行できます。

### 3. カテゴリーIDを取得する

```python
import requests
r = requests.get(f"{WP_URL}/wp-json/wp/v2/categories", 
                  params={"search": category_name}, auth=AUTH)
cat_id = r.json()[0]["id"]
```

コードをスキルファイルに埋め込んでおくと、毎回コードを書く必要がなくなります。

実例:WordPress 自動投稿スキルの全体像

実際に運用しているスキルファイルの構造を紹介します。このスキルを呼び出すだけで、記事生成から投稿・メモ更新まで全自動で実行できます。

スキルファイルの全体像

# post-article

WordPress に記事を作成・公開するスキルです。

## 使い方

/post-article <トピック> [カテゴリー名] [--draft] [--serp]

## 実行手順

### 0. 重複チェック
articles_memo.json を読み込み、既存記事との重複を確認する

### 1. SERP分析(--serp 指定時)
検索意図・競合分析・差別化ポイントを設計する

### 2. 環境変数を読み込む
.env から WP_URL / WP_USERNAME / WP_APP_PASSWORD を取得する

### 3. 記事本文を生成する
...(以下、投稿・メモ更新まで続く)

引数の設計(必須・任意・フラグ)

この例では:

  • <トピック>:必須(記事テーマ)
  • [カテゴリー名]:任意(省略時は「未分類」)
  • --draft:フラグ(下書き保存)
  • --serp:フラグ(SEO強化モード)

呼び出し例:

/post-article "Dockerの基本コマンド" docker
/post-article "Pythonで自動化する方法" python --serp
/post-article "Django入門" django --draft

Agent Teams と組み合わせた応用例

スキルは単体でも便利ですが、Agent Teams と組み合わせると複数のAIエージェントを並列・順次で動かす高度なワークフローを構築できます。

例えば記事投稿を Agent Teams 化すると:

  • Analyst エージェント(並列):SEO・SERP分析・見出し設計
  • Researcher エージェント(並列):重複チェック・内部リンク調査
  • Writer エージェント(順次):記事HTML生成・サムネイル処理
  • Checker-Publisher エージェント(順次):品質/SEO/ファクトチェック→投稿

このようなマルチエージェントのオーケストレーションも、.claude/skills/ に手順を書くだけで実現できます。詳細はClaude Code Agent Teamsの使い方と運用ガイドをご覧ください。

スキル作成時のよくある落とし穴

手順が曖昧だと Claude が迷う

「記事を投稿する」だけではClaudeが自由に解釈してしまいます。誰が読んでもひとつの解釈になるレベルで具体的に書くのがコツです。

特に以下は明示的に書きましょう:

  • 引数が省略された場合のデフォルト動作
  • エラーが起きたときの対処
  • 処理の成否をどう判断するか

コードブロックの言語指定を忘れずに

```python のように言語を指定することで、Claude がコードを正確に解釈・実行します。言語指定なしの場合、シェルコマンドと混同されることがあります。

ファイル名は英小文字・ハイフン区切りにする

スキルファイル名はそのままコマンド名になるため、post-article.md のように英小文字・ハイフン区切りにするのが慣習です。日本語ファイル名は避けてください。

まとめ

Claude Code のカスタムスキルは、繰り返し作業を自動化する最もシンプルな方法です。

  • .claude/skills/ にMarkdownファイルを置くだけで /コマンド名 として呼び出せる
  • 引数・フラグで柔軟な呼び出しが可能
  • コードブロックを埋め込んでPython/Bashをそのまま実行できる
  • Agent Teamsと組み合わせるとマルチエージェントワークフローも実現できる

まずは「毎回同じことを頼んでいる作業」を1つ選んで、スキルファイルに落とし込んでみてください。

よくある質問(FAQ)

Q1. スキルファイルはプロジェクトをまたいで共有できますか?

プロジェクトの .claude/skills/ に置いたスキルはそのプロジェクト専用です。複数プロジェクトで共有したい場合は、~/.claude/skills/(ホームディレクトリ)に置くとグローバルに使えます。

Q2. スキルの実行中に途中でキャンセルできますか?

はい。Claude Code ではいつでも Ctrl+C で処理を中断できます。ただし途中まで実行された外部APIへのリクエスト(WordPress投稿など)はロールバックされないため注意してください。

Q3. スキルファイルの文字数に制限はありますか?

明示的な制限はありませんが、ファイルが長すぎるとコンテキストウィンドウを圧迫します。1スキルあたり500行以内を目安に、複雑な処理は複数スキルに分割することを推奨します。

Q4. Python以外の言語でコードブロックを書けますか?

はい。Bash・JavaScript・Ruby など任意の言語を書けます。ただし実行にはその言語の実行環境がローカルに必要です。

Q5. スキルから別のスキルを呼び出せますか?

直接呼び出す仕組みはありませんが、スキルファイル内の手順に「/別スキル名 を実行する」と書くことで間接的に連携させることは可能です。