mcpField
A
advanced-features-2025

advanced-features-2025

github.com/josiahsiegelエージェントワークフロー59156 回インストール19 週間前に更新
リポジトリ

advanced-features-2025 について

プラグイン作成者やチーム管理者向けに、Claude プラグインの Agent Skills、フック、MCP サーバー、リポジトリ設定の構成を解説する資料です。イベントの照合、設定例、チームへの配布手順を掲載しています。

主な機能

  1. 01スキル内容を段階的にオンデマンド読み込み
  2. 02フックによるツールイベントの自動化
  3. 03MCP サーバーを使うプラグインの設定
  4. 04リポジトリ単位のチームプラグイン設定
  5. 05プラグインパスとツール入力変数の利用

活用シーン

  1. 01ファイル変更後にテストや lint を実行
  2. 02Bash 実行前にコマンドを検証
  3. 03チームリポジトリでプラグインを設定・配布
  4. 04タスクに応じて参考資料を読み込み

MCP 対応

MCP サーバーは .mcp.json でコマンド、引数、環境変数を指定して設定できます。外部サービスへの接続例も示されています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/josiahsiegel/claude-plugin-marketplace --skill advanced-features-2025

インストール後、Claude Code で/advanced-features-2025を入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

examples/
hook-scripts.md
references/
hooks-advanced.md
mcp-patterns.md
team-distribution.md

詳細

高度なプラグイン機能(2025)

クイックリファレンス

機能場所目的
エージェントスキルskills/*/SKILL.md知識の動的な読み込み
フックhooks/hooks.jsonイベントの自動化
MCP サーバー.mcp.json外部サービスとの統合
チーム設定.claude/settings.jsonリポジトリプラグイン
フックイベント発生タイミング用途
PreToolUseツール実行前検証
PostToolUseツール実行後テスト、リンティング
SessionStartセッション開始時ロギング、セットアップ
SessionEndセッション終了時クリーンアップ
UserPromptSubmitプロンプト送信時前処理
PreCompactコンパクト化の前状態の保存
Notification通知の表示時カスタムアラート
Stopユーザーによる停止時クリーンアップ
SubagentStopサブエージェント終了時ロギング
変数目的
${CLAUDE_PLUGIN_ROOT}プラグインのインストール先
${TOOL_INPUT_*}ツールの入力パラメーター

エージェントスキル

概念

スキルはタスクのコンテキストに応じて動的に読み込まれ、次のことが可能になります。

  • 無制限の容量:知識を複数のファイルに分割できます
  • コンテキスト効率:必要なものだけを読み込みます
  • 段階的な開示:3段階で読み込みます
3段階の読み込み
  1. フロントマター:起動時に読み込みます(トリガー)
  2. SKILL.md の本文:有効化時に読み込みます
  3. references/:詳細が必要なときに読み込みます
構成
skills/
└── skill-name/
    ├── SKILL.md           # Core content
    ├── references/        # Detailed docs
    │   └── deep-dive.md
    ├── examples/          # Working code
    │   └── example.md
    └── scripts/           # Utilities
        └── tool.sh
SKILL.md の形式
---
name: skill-name
description: |
  When to activate this skill. Include:
  (1) Use case 1
  (2) Use case 2
  Provides: what it offers
---

# Skill Title

## Quick Reference
[Tables, key points]

## Core Content
[Essential information - keep lean]

## Additional Resources
See `references/` for detailed guidance.

フック

設定

plugin.json 内に直接記述:

{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Write|Edit",
      "hooks": [{
        "type": "command",
        "command": "${CLAUDE_PLUGIN_ROOT}/scripts/lint.sh"
      }]
    }]
  }
}

hooks.json を個別に使用:

{
  "PostToolUse": [{
    "matcher": "Write",
    "hooks": [{
      "type": "command",
      "command": "${CLAUDE_PLUGIN_ROOT}/scripts/format.sh",
      "timeout": 5000
    }]
  }]
}
マッチャー
  • Write - ファイルへの書き込み
  • Edit - ファイルの編集
  • Bash - シェルコマンド
  • Write|Edit - 複数のツール
  • .* - 任意のツール(使用は控えめにしてください)
一般的なパターン

変更後に自動テストを実行:

{
  "PostToolUse": [{
    "matcher": "Write|Edit",
    "hooks": [{
      "type": "command",
      "command": "${CLAUDE_PLUGIN_ROOT}/scripts/run-tests.sh"
    }]
  }]
}

Bash の実行前に検証:

{
  "PreToolUse": [{
    "matcher": "Bash",
    "hooks": [{
      "type": "command",
      "command": "${CLAUDE_PLUGIN_ROOT}/scripts/validate-cmd.sh"
    }]
  }]
}

MCP サーバーの統合

設定
{
  "mcpServers": {
    "server-name": {
      "command": "node",
      "args": ["${CLAUDE_PLUGIN_ROOT}/mcp/server.js"],
      "env": {
        "API_KEY": "${API_KEY}"
      }
    }
  }
}
外部サービス
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": ["-y", "@stripe/mcp-server"],
      "env": {
        "STRIPE_API_KEY": "${STRIPE_API_KEY}"
      }
    }
  }
}

リポジトリ設定

チームへの配布

リポジトリのルートに .claude/settings.json を作成します。

{
  "extraKnownMarketplaces": [
    "company/internal-plugins"
  ],
  "plugins": {
    "enabled": [
      "deployment-helper@company",
      "code-standards@company"
    ]
  }
}
ワークフロー
  1. メンテナーが .claude/settings.json を作成します
  2. チームメンバーがリポジトリをクローンします
  3. 確認を求められたらフォルダーを信頼します
  4. プラグインが自動的にインストールされます

ベストプラクティス

段階的な開示
  • SKILL.md は500行未満にします
  • 詳細は references/ に移します
  • 動作するコードには examples/ を使用します
  • 相対パスでファイルを参照します
フック
  • 具体的なマッチャーを使用します(.* は避けてください)
  • 適切なタイムアウトを設定します
  • パスには ${CLAUDE_PLUGIN_ROOT} を使用します
  • スクリプトを個別にテストします
MCP
  • 必須の環境変数を記載します
  • セットアップ手順を用意します
  • シークレットには環境変数を使用します
  • 配布前に接続をテストします

追加リソース

詳しいパターンについては、以下を参照してください。

  • references/hooks-advanced.md - フックパターンの全容
  • references/mcp-patterns.md - MCP 統合の例
  • references/team-distribution.md - リポジトリ設定
  • examples/hook-scripts.md - 動作するフックスクリプト

コメント