3
Skills
Skillsとは
Skillsは、Claude Codeの機能を拡張するカスタムプロンプトである。 繰り返し行うワークフローや、ドメイン固有の知識をスキルとして定義し、 一貫した品質で再利用できる。
スキルの種類
| 種類 | 説明 | 例 |
|---|---|---|
| ドメイン知識型 | 特定の技術やパターンの知識を提供 | API設計規約、コーディング標準 |
| ワークフロー型 | 複数ステップの作業手順を定義 | Issue修正フロー、レビュー手順 |
ファイル形式
スキルは .claude/skills/ ディレクトリに .md ファイルとして配置する。
.claude/
skills/
fix-issue.md
api-conventions.md
code-review.md
SKILL.md のフォーマット
---
name: fix-issue
description: GitHubのIssueを分析し、修正PRを作成する
disable-model-invocation: false
---
# Issue修正スキル
## 手順
1. Issueの内容を読み取る: $ARGUMENTS
2. 関連するコードを検索する
3. テストを先に書く(TDD)
4. 修正を実装する
5. テストが通ることを確認する
6. Conventional Commitsでコミットする
Frontmatter
| フィールド | 必須 | 説明 |
|---|---|---|
name | はい | スキルの識別名 |
description | はい | スキルの説明(自動マッチングに使用) |
disable-model-invocation | いいえ | trueでLLM呼び出しを無効化(テンプレート専用) |
トリガーパターン
スキルは2つの方法で呼び出される。
1. 明示的な呼び出し
スラッシュコマンドでスキル名を指定する。
> /fix-issue #42のバグを修正して
2. 自動マッチング
ユーザーの入力が description と一致する場合、Claudeが自動的にスキルを選択する。
たとえば「Issueを修正して」という入力で fix-issue スキルが自動選択される可能性がある。
$ARGUMENTS 変数
$ARGUMENTS はスキル呼び出し時にユーザーが渡した引数で置換される。
---
name: explain
description: 指定されたコードやコンセプトを解説する
---
以下について詳しく解説してください:
$ARGUMENTS
## 解説の方針
- 初心者にもわかりやすく
- コード例を含める
- 関連する概念も紹介する
呼び出し例:
> /explain ReactのuseEffectフック
この場合 $ARGUMENTS は ReactのuseEffectフック に置換される。
スキルの設計例
コードレビュースキル
---
name: code-review
description: コードの品質をレビューし改善提案を行う
---
# コードレビュー
対象: $ARGUMENTS
## チェック項目
1. **型安全性** — any型の使用、型アサーションの妥当性
2. **エラーハンドリング** — 例外処理の網羅性
3. **テストカバレッジ** — 境界値、異常系のテスト
4. **命名規約** — 変数名、関数名の明確さ
5. **パフォーマンス** — 不要な再レンダリング、N+1クエリ
6. **セキュリティ** — インジェクション、認証チェック
## 出力形式
各項目について 良好 / 要改善 / 問題あり で評価し、
改善提案がある場合はコード例とともに提示する。
API規約スキル
---
name: api-conventions
description: プロジェクトのAPI設計規約を参照する
disable-model-invocation: true
---
# API設計規約
- RESTful設計に従う
- エンドポイントは複数形名詞: `/users`, `/posts`
- レスポンスは `{ data, error, meta }` 形式
- エラーコードは RFC 7807 Problem Details に準拠
- ページネーションは cursor-based
- 認証は Bearer token (Authorization ヘッダー)
disable-model-invocation: true を指定すると、このスキルはLLM呼び出しを行わず、
テンプレートとしてコンテキストに注入されるのみとなる。
ベストプラクティス
- 単一責任 — 1つのスキルは1つの目的に絞る
- 明確な手順 — 番号付きリストで手順を明示する
- 具体的なdescription — 自動マッチングの精度を上げる
- チームで共有 —
.claude/skills/をリポジトリにコミットする - 段階的に改善 — 使いながらプロンプトを洗練させる