Claude Codeにはスキル(Skills)機能という強力な自動化ツールが用意されています。よく実行する一連の操作を「スキル」として定義しておけば、/skill-nameと入力するだけで複雑な作業を一発で実行できるようになります。この記事では、スキルの仕組みと独自スキルの作成方法を解説します。
目次
スキル機能とは
スキルは、Claude Codeに対する「定型操作のショートカット」です。例えば、以下のような操作をスキルとして登録できます:
- 特定フォーマットでコンポーネントを生成する
- テストを実行して結果を整形して報告する
- Gitコミット+プッシュを一括で行う
- データベースマイグレーションを実行する
- コードレビューを特定の観点で実施する
ビルトインスキル
Claude Codeにはいくつかの標準スキルが用意されています:
/commit— 変更内容を分析して適切なコミットメッセージでコミット/review-pr— プルリクエストのコードレビューを実施/help— ヘルプと利用可能なコマンド一覧を表示
独自スキルの作成
スキルファイルの配置場所
独自スキルは.claude/skills/ディレクトリにマークダウンファイルとして配置します:
.claude/
skills/
create-component.md
run-tests.md
deploy.md
スキルファイルの書き方
スキルファイルはマークダウン形式で記述します。ファイル名がそのままコマンド名になります:
# .claude/skills/create-component.md
## Reactコンポーネントの生成
以下の手順でReactコンポーネントを作成してください:
1. コンポーネント名を引数から取得
2. `src/components/{ComponentName}/` ディレクトリを作成
3. 以下のファイルを生成:
- `index.tsx` — メインコンポーネント(関数コンポーネント、TypeScript)
- `styles.module.css` — CSS Modules
- `{ComponentName}.test.tsx` — Vitestテストファイル
- `index.ts` — エクスポートファイル
4. Storybookストーリーファイルも生成(オプション)
### テンプレート
コンポーネントの雛形:
```tsx
interface {ComponentName}Props {
className?: string;
children?: React.ReactNode;
}
export function {ComponentName}({ className, children }: {ComponentName}Props) {
return (
<div className={className}>
{children}
</div>
);
}
```
### コーディング規約
- 関数コンポーネントのみ使用(クラスコンポーネント禁止)
- Propsには必ずinterfaceを定義
- classNameはオプショナルで受け取る
スキルの実行
Claude CodeのREPL内で/に続けてスキル名を入力します:
> /create-component Button
引数を渡すことも可能です。Claude Codeはスキルファイルの指示に従って、ファイルの生成、テンプレートの適用、テストファイルの作成まで一気に実行します。
実用的なスキル例
テスト実行+修正スキル
# .claude/skills/fix-tests.md
## テスト修正サイクル
以下の手順を実行してください:
1. `npm test` を実行
2. 失敗したテストがあれば、そのテストファイルと対象ファイルを読み込む
3. エラーメッセージから原因を分析
4. テストコードまたは実装コードの適切な方を修正
5. 再度テストを実行して全テストが通ることを確認
6. 修正内容をコミット(メッセージは「fix: テスト失敗の修正」形式)
コードレビュースキル
# .claude/skills/review.md
## コードレビュー
現在のGitブランチの差分を対象にコードレビューを実施してください。
### レビュー観点
1. **セキュリティ**: SQLインジェクション、XSS、認証・認可の不備
2. **パフォーマンス**: N+1クエリ、不要な再レンダリング、メモリリーク
3. **エラーハンドリング**: 例外処理の漏れ、ユーザーへの適切なフィードバック
4. **保守性**: 命名規則、関数の単一責任、適切な抽象化レベル
5. **テスト**: テストカバレッジ、エッジケースの網羅
### 出力形式
各問題について以下の形式で出力:
- **ファイル**: 該当箇所
- **重大度**: 高/中/低
- **指摘内容**: 問題の説明
- **提案**: 修正案のコード
WordPress記事投稿スキル
# .claude/skills/publish-article.md
## WordPress記事投稿
マークダウンファイルからWordPress記事を作成・投稿します。
### 手順
1. 引数で指定されたマークダウンファイルを読み込む
2. フロントマターからタイトル、カテゴリ、タグ、抜粋を抽出
3. 本文をHTMLに変換(WordPressブロック形式)
4. WordPress REST API経由で投稿を作成
5. アイキャッチ画像が指定されていればアップロードして設定
6. 投稿URLを報告
### API設定
- エンドポイント: 環境変数 WP_API_URL から取得
- 認証: Application Password
スキル設計のコツ
- 具体的な手順を書く:あいまいな指示ではなく、ステップバイステップで記述する
- テンプレートを含める:生成するコードの雛形をスキル内に定義しておく
- コーディング規約を明記:プロジェクト固有のルールをスキル内に書いておく
- エラー対応も指示:失敗時のフォールバック手順も記載する
- 小さく分割する:巨大なスキルより、組み合わせ可能な小さなスキルが良い
まとめ
スキル機能は、Claude Codeを自分専用の開発ツールにカスタマイズするための鍵です。プロジェクト固有の作業フローをスキルとして定義しておけば、チーム全体の開発効率が向上します。まずは自分がよくやる作業をスキル化してみてください。