Plugins & Skills
プラグインの構造理解からスキル作成、Hooks実践、エージェント定義、公式プラグインの活用まで。Claude Codeの拡張機能を体系的に解説します。
SkillsはAgent Skills(agentskills.io)オープンスタンダードに準拠しています。他のAIコーディングツールとの互換性があります。
プラグイン構造
プラグインはSkills, Hooks, エージェント, MCPサーバーをまとめた配布単位です。1つのプラグインに複数の機能を含めることができ、チーム間での共有やマーケットプレイスでの配布が可能です。
plugin.json の構造
プラグインのルートに配置する設定ファイルです。各フィールドでプラグインに含まれるリソースを宣言します。
{
"name": "my-plugin",
"version": "1.0.0",
"description": "プラグインの説明",
"skills": ["skills/"],
"hooks": ["hooks/"],
"agents": ["agents/"],
"mcp": [".mcp.json"]
}ディレクトリ構造
プラグインの典型的なファイル配置です。各ディレクトリが機能ごとに分かれています。
my-plugin/
├── plugin.json
├── skills/
│ └── my-skill/
│ └── SKILL.md
├── hooks/
│ └── safety-check.sh
├── agents/
│ └── reviewer.md
└── .mcp.json自動検出
.claude/plugins/ に配置するか、claude plugin marketplace add でインストールすると自動的に認識されます。手動でパスを指定する必要はありません。
スキル作成
スキルは特定のタスクに対するClaude Codeの専門知識を定義する仕組みです。SKILL.mdファイルにフロントマターとコンテンツを記述します。
SKILL.md のフォーマット
---
name: code-review
description: Use when the user asks to review code, check for bugs, or improve code quality. Also trigger when PR review is needed.
---
# Code Review Skill
## Process
1. Read the changed files
2. Check for common issues
3. Suggest improvements
4. Summarize findings作成時のポイント
- フォルダ名 — ケバブケース必須(
code-review,frontend-design)。アンダースコアやキャメルケースは使わないでください。 - description — 「いつこのスキルを使うか」を超具体的に記述します。曖昧だとClaude Codeが起動タイミングを判断できません。
- コンテンツのロード — 起動時はdescriptionのみロードされます。呼び出し時にフルコンテンツがロードされるため、descriptionの精度が重要です。
descriptionは「Use when...」で始め、具体的なトリガーワードを列挙するのがベストプラクティスです。例: 「Use when the user mentions 'review', 'check code', 'PR feedback', or asks to improve code quality.」
フロントマター全フィールド一覧
SKILL.mdのフロントマターで指定可能な全フィールドです。
| フィールド | 必須 | 説明 |
|---|---|---|
name |
いいえ | 表示名(デフォルトはフォルダ名) |
description |
推奨 | スキルの説明と使用タイミング。自動検出に使用 |
argument-hint |
いいえ | オートコンプリートヒント(例: [issue-number]) |
disable-model-invocation |
いいえ | true = ユーザーのみ起動可能 |
user-invocable |
いいえ | false = /メニューに非表示 |
allowed-tools |
いいえ | 許可するツールを制限 |
model |
いいえ | 使用モデル指定 |
effort |
いいえ | 負荷レベル: low, medium, high, max |
context |
いいえ | "fork" でサブエージェント実行 |
agent |
いいえ | context:fork 時のサブエージェント種類 |
hooks |
いいえ | スキルのライフサイクルフック |
動的コンテキスト注入
SKILL.md内で !`コマンド` 構文を使うと、スキル読み込み時にシェルコマンドの結果を動的に注入できます。
---
name: pr-summary
description: PRの変更をサマリー
context: fork
agent: Explore
---
## PRコンテキスト
- PR diff: !`gh pr diff`
- PRコメント: !`gh pr view --comments`Skill Creator活用
Skill Creatorメタプラグインを使えば、Claude CodeにSkillを自動生成させることができます。手書きよりも効率的で、フォーマットの間違いも防げます。
使い方
-
Skill Creatorプラグインをインストール
マーケットプレイスからskill-creatorをインストールします。 -
Claudeに依頼
「フロントエンド設計のSkillを作成して」のように自然言語で依頼します。 -
自動生成
Claude CodeがSKILL.mdを自動生成します。適切なフォルダ構造も一緒に作成されます。 -
カスタマイズ
生成されたSKILL.mdを必要に応じて編集・調整します。
プロンプト例
以下のSkillを作成してください:
- 名前: api-design
- 用途: REST API設計時のベストプラクティスとレビュー
- 含めるべき内容: エンドポイント命名規則、エラーハンドリング、バージョニングSkill Creatorは「Skillを作るSkill」です。自分でSKILL.mdを手書きする前に、まずClaude Codeに生成させて、それをカスタマイズする方が効率的です。
カスタムコマンド
.claude/commands/ にMarkdownファイルを配置すると、スラッシュコマンドとして使えるようになります。チーム内で頻繁に行う操作を定型化するのに最適です。
例: /review コマンド
---
name: review
description: コードレビューを実行
---
以下の手順でコードレビューを実行してください:
1. git diff で変更ファイルを確認
2. 各ファイルの変更内容を読む
3. バグ、セキュリティ問題、パフォーマンス問題をチェック
4. 改善提案をまとめるスキルとの統合
2026年にカスタムコマンドとスキルが統合されました。.claude/commands/review.md と .claude/skills/review/SKILL.md は同じ /review コマンドとして動作します。どちらの形式で定義しても、Claude Codeが自動的に認識してくれます。
Hooks実践
Hooksは settings.json で定義する自動実行スクリプトです。特定のイベント(ツール使用前後、ファイル書き込み後など)をトリガーに、チェックや変換を実行します。
Hooksは4種類のハンドラーに対応: command(シェルコマンド)、http(HTTPリクエスト)、prompt(LLM判断)、agent(サブエージェント)
破壊操作ブロック (PreToolUse)
rm -rf や git push --force などの危険なコマンドを事前にブロックします。公式フォーマットではmatcher内にhooks配列をネストします。
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": ".claude/hooks/check-dangerous-command.sh"
}
]
}
]
}
}シークレットキーチェック (PostWrite)
ファイル書き込み後にAPIキーやパスワードの漏洩を検出します。
{
"hooks": {
"PostWrite": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "bash -c 'grep -rn \"sk-ant-\\|ANTHROPIC_API_KEY=sk-\\|password=\" \"$CLAUDE_FILE_PATH\" && echo \"WARNING: Possible secret detected\" && exit 1 || exit 0'"
}
]
}
]
}
}自動lint (PostWrite)
TypeScript/JavaScriptファイルの保存時にESLintを自動実行します。
{
"hooks": {
"PostWrite": [
{
"matcher": "*.ts|*.tsx|*.js|*.jsx",
"hooks": [
{
"type": "command",
"command": "npx eslint --fix \"$CLAUDE_FILE_PATH\""
}
]
}
]
}
}長セッション警告
トークン使用量が閾値を超えた時に警告を表示し、/compact の実行を促します。
{
"hooks": {
"PostToolUse": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "bash -c 'if [ $(echo \"$CLAUDE_TOTAL_TOKENS\" | cut -d. -f1) -gt 100000 ]; then echo \"WARNING: High token usage. Consider /compact\"; fi'"
}
]
}
]
}
}HooksはCLAUDE.mdと違い、100%確実に実行されます。安全に関わるチェックは必ずHooksで実装してください。CLAUDE.mdに「rm -rfを使わないで」と書いても約80%しか守られません。
エージェント定義
サブエージェントを定義することで、特定の役割に特化したAIを呼び出せます。メインのClaude Codeセッションから、専門的なタスクをサブエージェントに委譲できます。
サブエージェントのフロントマター
---
name: code-reviewer
description: コードレビューを実行する専門エージェント
tools: [Read, Grep, Glob]
model: sonnet
isolation: worktree
---
あなたはコードレビューの専門家です。
変更されたファイルを読み、以下の観点でレビューしてください:
- バグの可能性
- セキュリティ問題
- パフォーマンス問題
- コーディング規約違反Key Points
- tools — エージェントが使えるツールを制限します。最小権限の原則に従い、必要なツールのみを許可してください。
- model — 使用するモデルを指定します(
sonnet,opus,haiku)。タスクの複雑さに応じて選択します。 - isolation: worktree — Git worktreeで隔離実行します。並列作業時にメインのワーキングツリーと競合しないため安全です。
追加可能なフロントマターフィールド
| フィールド | 説明 |
|---|---|
permissionMode |
default, acceptEdits, dontAsk, bypassPermissions, plan |
maxTurns |
最大ターン数 |
skills |
プリロードするスキル |
mcpServers |
使用するMCPサーバー |
memory |
永続メモリ: user, project, local |
background |
true = バックグラウンド実行 |
エージェントの作成
/agents コマンドで対話的にエージェントを作成できます。
/agents表示されるメニューから「Create new agent」を選択し、Personal(個人用)またはProject(プロジェクト共有用)を選んだ後、Claudeに自動生成させることも可能です。
公式プラグイン
2026年3月時点で59個の公式プラグインがマーケットプレイスに登録されています。以下はカテゴリ別のおすすめプラグインです。
| カテゴリ | プラグイン名 | 説明 |
|---|---|---|
| DX | ykdojo/claude-code-tips (dx) |
ステータスバー、コンテキスト管理 |
| ワークフロー | obra/superpowers |
TDD、サブエージェント、レビュー |
| ワークフロー | rohitg00/pro-workflow |
自己修正ループ、SQLite学習 |
| チーム | garrytan/gstack |
仮想エンジニアチーム |
| メタ | skill-creator |
Skill自動生成 |
| 品質 | code-reviewer |
自動コードレビュー |
| テスト | test-architect |
テスト戦略設計 |
| セキュリティ | security-auditor |
脆弱性検出 |
| ドキュメント | docs-writer |
ドキュメント自動生成 |
| デバッグ | debugger |
システマティックデバッグ |
公開・共有
自作プラグインをチームや世界に共有する方法と、他のプラグインのインストール手順を解説します。
マーケットプレイスからインストール
claude plugin marketplace add ykdojo/claude-code-tips
claude plugin install dx@ykdojo自作プラグインの公開
-
GitHubリポジトリに配置
plugin.jsonと必要なファイル(Skills, Hooks, Agents等)をリポジトリのルートに配置します。 -
READMEにインストール手順を記載
claude plugin marketplace add username/repo-name形式のインストールコマンドを明記します。 -
awesome-claude-codeに登録申請(任意)
コミュニティのキュレーションリストにPRを送ることで、より多くのユーザーに見つけてもらえます。
プラグインは最初は1-2個にとどめてください。過剰導入はコンテキストを消費し、予期しない挙動の原因になります。まず少数で効果を確認し、段階的に追加していくのが安全です。