Skills + Hooks + Plugins:AnthropicによるAIコーディングツールの拡張性の再定義

Skills + Hooks + Plugins:AnthropicによるAIコーディングツールの拡張性の再定義

共有:

こんな経験はありませんか?

GitHub Copilotでコードを書いているとき、チームのPR規範に従わせたいのに、毎回会話の冒頭でその長いプロンプトを繰り返し貼り付けなければならない。

Cursorでプロジェクトを開発しているとき、コミット前に自動的にlintを実行したいのに、複雑な.cursorrulesファイルを手動で設定する必要があり、それが実際に機能するかどうかも不確か。

あるいは、AIアシスタントに会社の内部データベース、API、ナレッジベースに接続させたいのに、統一された統合標準がなく、自分で大量のグルーコードを書かざるを得ない。

これらの問題点の本質は何でしょうか?

AIコーディングツールの拡張性は、まだ「設定ファイル時代」に留まっている。

そしてAnthropicは、Claude CodeのSkills + Hooks + Pluginsという三位一体アーキテクチャで、目を見張るような答えを提示しました。

なぜ拡張性がそれほど重要なのか?

技術的な詳細に入る前に、なぜ拡張性がAIコーディングツールにとってそれほど重要なのかを考えてみましょう。

汎用的なAIアシスタントは汎用的なことしかできません:コード補完、エラー説明、テスト生成。しかし、実際の開発シナリオは千差万別です:

  • チームには独自のコード規範があるかもしれません(Google Style Guide、Airbnb Style)
  • プロジェクトは特定のフレームワークやツールチェーンに依存しているかもしれません(Next.js、Django、Kubernetes)
  • 企業には統合する必要がある内部システムがあるかもしれません(JIRA、GitLab、内部API)
  • ワークフローには特別な自動化が必要かもしれません(コミット前チェック、デプロイプロセス、セキュリティスキャン)

AIアシスタントがこれらの違いに適応できなければ、それは永遠に「おもちゃ」に過ぎず、真の生産性ツールにはなりません。

これがClaude Codeの拡張性設計がそれほど重要な理由です—それは「技術を見せびらかす」ためではなく、AIを本当にあなたのワークフローに統合するためです。

Skills + Hooks + Plugins:三位一体の設計哲学

Claude Codeの拡張性は3つの核心概念に基づいています。それぞれが独自の役割を果たしながら、緊密に連携しています:

Skills:知識の伝達

Skillsとは何か?

SkillsはAIアシスタントに渡す「トレーニングマニュアル」のようなものです。Claudeに次のことを伝えます:

  • チームのPRはどのように書くべきか
  • データベーススキーマはどのようなものか
  • このプロジェクトのアーキテクチャはどのように設計されているか
  • 特定の問題にどのように対処すべきか

Skillsの核心的特性:

  1. 自動アクティベーション:Claudeは会話内容に基づいて自動的にSkillをロードするかどうかを判断します。手動で呼び出す必要はありません
  2. 軽量:各Skillは非アクティブ時には30-50トークンしか占有しません
  3. 組み合わせ可能:異なるシナリオ向けに異なるSkillsを書くことができ、それらは協調して動作します

実例:

---
name: pr-review-standards
description: チームのPRレビュー基準
when: ユーザーがPRのレビューまたは作成を要求したとき
---

# PRレビュー基準

## チェック必須項目:
1. コードスタイル:Airbnb JavaScript Style Guideに従う
2. テストカバレッジ:新しいコードには最低80%のカバレッジを持つユニットテストが必要
3. ドキュメント:パブリックAPIにはJSDocコメントが必要
4. パフォーマンス:不要な再レンダリングを避ける(React.memo、useMemo)
5. セキュリティ:ハードコードされたキーや機密情報がないこと

## PR説明フォーマット:
- **Summary**: 3-5文で変更を要約
- **Test Plan**: これらの変更をどのようにテストするか
- **Screenshots**: UI変更がある場合、スクリーンショットを添付

このSkillがあれば、ClaudeはPRをレビューする際に自動的にチームの基準に従ってチェックし、「一般的な知識」を使うことはありません。

Hooks:ルールの実行

Hooksとは何か?

Skillsが「提案」なら、Hooksは「強制実行」です。

Hooksは特定のイベントが発生したときに自動的に実行されるスクリプトです。以下のことができます:

  • AIの動作を傍受してチェックを行う
  • 追加のコンテキスト情報を注入する
  • 出力が規範に準拠しているか検証する
  • ツール呼び出しの前後にカスタムロジックを実行する

Claude CodeがサポートするHookイベント:

Hookタイプ トリガータイミング 典型的な用途
UserPromptSubmit ユーザーがプロンプトを送信したとき コンテキスト注入、ログ記録、セキュリティチェック
PreToolUse ツール呼び出し前 権限検証、パラメータ検証
PostToolUse ツール呼び出し後 結果検証、ログ記録
Stop Claudeが終了準備をしているとき 品質チェック、自動化タスク(lint、test)
SubagentStop サブエージェント完了時 サブエージェントの出力をレビュー

強力な例:Stop Hookによる自動品質ゲート

#!/bin/bash
# hooks/stop-hook.sh

echo "🔍 Running quality checks before session ends..."

# 1. リンターを実行
if ! npm run lint; then
  echo "❌ Lint failed. Please fix the issues."
  exit 2  # 2を返すとClaudeの終了を阻止し、問題を修正させる
fi

# 2. テストを実行
if ! npm test; then
  echo "❌ Tests failed. Please fix the issues."
  exit 2
fi

# 3. コミットされていない変更をチェック
if [[ -n $(git status --porcelain) ]]; then
  echo "⚠️ You have uncommitted changes. Consider creating a commit."
fi

echo "✅ All quality checks passed!"
exit 0

このHookは、Claudeが作業を完了するたびにコードがlintとテストを通過していることを保証します。チェックが失敗した場合、Claudeは自動的に問題を修正し、面倒を残しません。

これが「Skillsが提案し、Hooksが実行する」の真髄です。

Plugins:エコシステムの集約

Pluginsとは何か?

PluginsはSkills + Hooks + MCPサーバー + カスタムコマンドのパッケージ化および配布メカニズムです。

核心的な問題を解決します:カスタマイズされたワークフローをチームやコミュニティとどのように共有するか?

典型的なPluginの構造:

my-plugin/
├── .claude-plugin/
│   └── plugin.json         # プラグインメタデータ
├── skills/                 # Skills定義
│   ├── code-review.md
│   └── commit-message.md
├── hooks/                  # Hookスクリプト
│   ├── stop-hook.sh
│   └── user-prompt-submit.sh
├── commands/               # カスタムコマンド
│   └── deploy.sh
└── .mcp.json              # MCPサーバー設定

インストールはたった1つのコマンド:

/plugin install my-plugin@my-org

チーム全員が即座に統一されたワークフローと規範を手に入れることができます。

実例:他の人がどのように使っているか

ケース1:Sionic AI - 毎日1000+の機械学習実験を実行

Sionic AIは大規模モデルトレーニングに特化した企業です。Claude Code Skillsを使って複雑なMLトレーニングプロセスを管理しています。

彼らの課題:

  • 毎日異なるGPUクラスターで大量の実験を実行する必要がある
  • 複数のフレームワークを調整する必要がある:ms-swift、vLLM、DeepSpeed
  • 失敗した実験パスを記録して、同じ失敗を繰り返さないようにする必要がある

彼らの解決策:

トレーニング知識をカプセル化する一連のSkillsを作成:

---
name: grpo-training
description: vLLMサーバーとA100 GPUを使用したGRPOトレーニングプロセス
---

## ハードウェア設定
- GPU: NVIDIA A100-SXM4-80GB x 8
- フレームワーク: ms-swift + vLLM + DeepSpeed ZeRO2

## トレーニングステップ
1. vLLM推論サーバーを起動
2. GRPOトレーニングパラメータを設定
3. GPU メモリ使用量を監視
4. OOMエラーを処理(既知の失敗パス)

## よくある問題
[20+の失敗ケースと解決策を記録]

結果:

チームメンバーは単にClaudeに「GRPOトレーニングを実行」と伝えるだけで、Claudeは自動的に:

  • 正しいハードウェア設定を選択
  • 正しいフレームワークパラメータを設定
  • 既知の失敗パスを回避
  • 一般的なエラーを処理

これにより実験効率が数倍向上しました。

ケース2:コミュニティプラグインエコシステムの爆発的成長

2026年初頭時点で、Claude Codeのプラグインエコシステムには:

  • 500+の公式およびコミュニティプラグイン
  • 270+の組み込みAgent Skills
  • 140+の専門ツールセット(DevOps、テスト、ドキュメント、デプロイ)

興味深いコミュニティ貢献:

  1. アクセシビリティ開発プラグイン:神経多様性ユーザー向けに最適化されたインターフェースとプロンプト
  2. 企業コンプライアンスプラグイン:GDPR、SOC2などのコンプライアンス要件を自動チェック
  3. 多言語ドキュメントジェネレーター:10+言語をサポートするAPIドキュメントをワンクリックで生成
  4. CI/CD統合パッケージ:GitHub Actions、GitLab CI、Jenkinsをオールインワンで統合

競合との比較:なぜClaude Codeの設計がより先進的なのか?

3つの主要AIコーディングツールの拡張性を比較してみましょう:

GitHub Copilot:クローズドエコシステム + GitHub中心

拡張方法:

  • Copilot Extensions(GitHubのレビューとホスティングが必要)
  • Skillsets(軽量タスク設定)
  • Agents(複雑な統合)

利点:

  • GitHubエコシステムとの深い統合
  • エンタープライズグレードのセキュリティと権限管理
  • 公式メンテナンスのSDKとツール

制限:

  • GitHubエコシステム内で作業する必要がある
  • プラグインはレビューが必要
  • 非GitHubユーザーには不親切
  • 拡張配布はGitHub Marketplaceに依存

適用シナリオ: ワークフローが完全にGitHub上にあれば、Copilotは良い選択です。

Cursor:組み込みルール + VS Code互換

拡張方法:

  • .cursorrulesファイル(プロジェクトレベルルール)
  • User Rules(グローバル設定)
  • MCPサーバーサポート

利点:

  • ルールがコードリポジトリに書かれ、バージョン管理が容易
  • 学習曲線が低く、Markdownを書くだけ
  • VS Codeベースで既存のプラグインが使える

制限:

  • ルールは「提案」に過ぎず、強制できない
  • イベント駆動型Hookメカニズムがない
  • 複雑な自動化を実装するのが難しい
  • ルールのアクティベーションはLLMの理解に依存し、信頼できない

適用シナリオ: シンプルなルールカスタマイズが必要で、複雑な自動化が不要なら、Cursorで十分です。

Claude Code:オープンスタンダード + 三位一体アーキテクチャ

拡張方法:

  • Skills(知識伝達)
  • Hooks(ルール実行)
  • Plugins(エコシステム集約)
  • MCP(オープンツールプロトコル)

利点:

  • 真のオープンスタンダード:MCPプロトコルは任意のツールで採用可能
  • 強制実行能力:Hooksは非準拠の動作をブロックできる
  • 完全なライフサイクルカバレッジ:プロンプト送信からセッション終了まで、すべての段階が制御可能
  • 高いプログラマビリティ:Hookは実行可能なスクリプトで、LLMの理解に依存しない
  • コミュニティ駆動:誰でもレビューなしでプラグインを公開できる

制限:

  • 学習曲線がやや急(Skills、Hooks、Pluginsの違いを理解する必要がある)
  • エコシステムは急速に進化中で、標準が変わる可能性がある
  • ある程度のスクリプト作成能力が必要

適用シナリオ: 深いカスタマイズ、チームコラボレーション、または複雑な自動化ワークフローの構築が必要なら、Claude Codeが最良の選択です。

設計哲学の違い:なぜAnthropicのアーキテクチャがより先進的なのか?

第一原理からこれら3つの設計を分析してみましょう。

問題の本質:AIアシスタントの「記憶」と「制約」

AIアシスタントは2つの核心的課題に直面しています:

  1. 記憶問題:各会話は状態を持たず、AIは前回言及した規範を覚えていない
  2. 制約問題:AIは要件を「忘れる」か「誤解」して、規範に準拠しないことをする可能性がある

3つのツールの解決策:

ツール 記憶解決策 制約解決策 本質
Cursor ファイルにルールを書き、毎回コンテキストに注入 LLMの理解に依存 「プロンプトエンジニアリング」
Copilot Skillsetsを通じてコンテキスト注入 GitHubプラットフォーム能力に依存 「プラットフォームロックイン」
Claude Code Skills動的アクティベーション Hooks強制実行 「階層アーキテクチャ」

Cursorの問題: ルールは「提案」に過ぎず、LLMは誤解したり無視したりする可能性があり、特に長い会話では顕著です。

Copilotの問題: GitHubエコシステムに依存し、GitHub外では機能しません。

Claude Codeの利点:

  • Skillsは「知識」層を処理(What & How)
  • Hooksは「実行」層を処理(Must & Must Not)
  • MCPは「ツール」層を処理(Can Connect)
  • Pluginsは「配布」層を処理(How to Share)

これは明確な階層アーキテクチャで、各層がそれぞれの目的を果たします。

オープン vs クローズド:MCPプロトコルの戦略的意義

Claude Codeのもう1つの重要な利点はMCP(Model Context Protocol)です。

MCPはAnthropicがリリースしたオープンスタンダードで、AIモデルが外部ツールやデータソースにどのように接続するかを定義しています。

なぜこれが重要なのか?

  1. エコシステムの壁を打破:MCPサーバーはMCPをサポートする任意のツールで使用可能(Claude.ai、Claude Code、将来の競合製品でも)
  2. 車輪の再発明を避ける:コミュニティはすでに数百のMCPサーバーを構築(GitHub、Linear、Notion、PostgreSQL...)
  3. エンタープライズフレンドリー:企業は内部システム用にMCPサーバーを構築でき、一度書けばどこでも使える

比較:

  • Copilot Extensions:GitHub Copilotでのみ使用可能、クローズドエコシステム
  • Cursor Rules:テキストルールのみで、ツール接続には関与しない
  • MCP:オープンプロトコルで、任意のツールで採用可能

これはUSBインターフェースの登場に似ています—その前は各デバイスが独自の専用インターフェースを持っていましたが、USBによりすべてのデバイスが汎用的になりました。

MCPはAIツールが外部世界に接続するための「USBインターフェース」になる可能性があります。

ベストプラクティス:Skills + Hooks + Pluginsをうまく使う方法

コミュニティの実践経験に基づいて、検証済みのベストプラクティスをいくつか紹介します:

1. Skills:明確なWHEN記述

Skillのアクティベーションは記述の精度に依存します。良いSkill記述には以下が含まれるべきです:

---
name: database-schema-expert
description: WHEN user asks about database schema, table relationships, or SQL queries. WHEN NOT dealing with frontend or API logic.
---

重要ポイント:

  • WHEN(いつアクティベートするか)を明確にする
  • WHEN NOT(いつアクティベートしないか)を明確にする
  • 曖昧な記述を避ける

コミュニティテストによると、WHEN + WHEN NOTパターンを使用したSkillsのアクティベーション精度は80-84%に達し、通常の記述は50%のみです。

2. Hooks:優雅な終了コード設計

Hookスクリプトの終了コードには特別な意味があります:

  • exit 0:成功、実行継続
  • exit 1:失敗、しかし継続を許可
  • exit 2:失敗、継続をブロック、修正を要求

典型的な応用:

#!/bin/bash
# Stop Hook: コード品質を保証

npm run lint
if [ $? -ne 0 ]; then
  echo "Lint failed. Claude will fix the issues."
  exit 2  # 終了をブロック、修正を強制
fi

npm test
if [ $? -ne 0 ]; then
  echo "Tests failed. Claude will fix the issues."
  exit 2
fi

exit 0  # すべて正常、終了を許可

3. Plugins:モジュール化された組み合わせ

すべての機能を1つの巨大なPluginに詰め込もうとしないでください。代わりに、小さく焦点を絞ったPluginsを作成し、組み合わせて使用します:

{
  "plugins": [
    "@myteam/code-review",      // PRレビュー規範
    "@myteam/commit-message",   // コミットメッセージ規範
    "@myteam/security-scan",    // セキュリティチェック
    "@myteam/deploy-workflow"   // デプロイプロセス
  ]
}

こうすることで、各Pluginを独立してメンテナンスおよび更新できます。

4. MCP:コミュニティサーバーを優先的に使用

独自のMCPサーバーを書く前に、コミュニティに既製のものがあるか検索してください:

よく使われるMCPサーバー:

  • GitHub: PR、Issues、コード検索
  • Linear: タスク管理
  • Notion: ナレッジベースアクセス
  • PostgreSQL/MySQL: データベースクエリ
  • Slack: メッセージと通知

将来展望:エコシステムの力

2026年1月、Claude Codeのプラグインエコシステムは爆発的な成長を遂げています。

注目すべきトレンド:

1. エンタープライズグレードプラグインの出現

より多くの企業が内部プラグインを構築しています:

  • コンプライアンスチェック(GDPR、HIPAA、SOC2)
  • セキュリティスキャン(依存関係の脆弱性、機密情報検出)
  • 内部システム統合(ERP、CRM、内部API)

2. 垂直領域の専門化

特定領域向けのプラグインスイートが登場:

  • Web3開発:Solidityレビュー、Gas最適化、セキュリティチェック
  • モバイル開発:iOS/Android規範、パフォーマンス最適化、提出チェック
  • データエンジニアリング:ETLプロセス、データ品質、SQL最適化
  • DevOps:Infrastructure as Code、監視アラート、インシデント対応

3. AI生成プラグイン

Anthropicはメタプラグインをリリースしました:plugin-developmentは、新しいプラグインの作成を支援します。

これは:AIがAI自身を強化するツールを作成できることを意味します。

これは自己強化のフライホイールです:

  1. ユーザーが新機能を必要とする
  2. AIがプラグイン生成を支援
  3. プラグインがAIをより強力にする
  4. より強力なAIがより良いプラグインを生成できる
  5. 繰り返す

4. 標準化の勝利

MCPプロトコルの普及に伴い、以下が見られるかもしれません:

  • 他のAIツールがMCPをサポート開始
  • 企業が統一ツール統合層を構築
  • ツール間のプラグイン再利用

これは当時のLSP(Language Server Protocol)のようなものです—現在ほぼすべてのエディターがLSPをサポートしており、各エディターごとに構文ハイライトや補完を書き直す必要はありません。

MCPはAIツールのLSPになる可能性があります。

結論:拡張性の本質は「コントロール」

冒頭の質問に戻りましょう:なぜ拡張性がそれほど重要なのか?

拡張性の本質はコントロールだからです。

拡張性のないツールでは、AIがコントロールを持っています—それがあなたのニーズをどう理解し、タスクをどう実行し、結果をどう出力するかを決定します。あなたは「要求」しかできず、「命令」はできません。

Skills + Hooks + Pluginsがあれば、コントロールはあなたの手に戻ります:

  • SkillsでAIの知識をコントロール:何を知っているか、何を知らないか
  • HooksでAIの行動をコントロール:何ができるか、何ができないか
  • PluginsでAIの能力をコントロール:どのツールに接続するか、どのリソースを使うか
  • MCPでAIのエコシステムをコントロール:世界とどのように相互作用するか

これは AIを「飼い慣らす」ことではなく、AIを真の協力パートナーにすることです—それは独自の能力を持ちながら、あなたのルールを尊重します。

そしてこれこそが、AIコーディングツールがあるべき姿です。


関連リソース:

コメント

まだコメントがありません。最初のコメントを投稿してください!

関連ツール

関連記事

発行者

M

myaiexp

15 分で読む

カテゴリー