Loading...
    • 開発者ガイド
    • API リファレンス
    • MCP
    • リソース
    • リリースノート
    Search...
    ⌘K
    はじめに
    Claude の紹介クイックスタート
    モデルと料金
    モデル概要モデルの選び方Claude 4.6 の新機能移行ガイドモデルの廃止料金
    Claude で構築する
    機能概要Messages API の使用停止理由の処理プロンプトのベストプラクティス
    コンテキスト管理
    コンテキストウィンドウコンパクションコンテキスト編集
    機能
    プロンプトキャッシング拡張思考適応型思考エフォートメッセージのストリーミングバッチ処理引用多言語サポートトークンカウントエンベディングビジョンPDF サポートFiles API検索結果構造化出力
    ツール
    概要ツール使用の実装方法きめ細かいツールストリーミングBash ツールコード実行ツールプログラムによるツール呼び出しコンピュータ使用ツールテキストエディタツールWeb フェッチツールWeb 検索ツールメモリツールツール検索ツール
    Agent Skills
    概要クイックスタートベストプラクティスエンタープライズ向け SkillsAPI での Skills の使用
    Agent SDK
    概要クイックスタートTypeScript SDKTypeScript V2(プレビュー)Python SDK移行ガイド
    ストリーミング入力リアルタイムでレスポンスをストリーミング停止理由の処理権限の処理ユーザー承認と入力フックによる実行制御セッション管理ファイルチェックポイントSDK での構造化出力Agent SDK のホスティングAI エージェントの安全なデプロイシステムプロンプトの変更SDK での MCPカスタムツールSDK でのサブエージェントSDK でのスラッシュコマンドSDK での Agent Skillsコストと使用量の追跡Todo リストSDK でのプラグイン
    API での MCP
    MCP コネクタリモート MCP サーバー
    サードパーティプラットフォームの Claude
    Amazon BedrockMicrosoft FoundryVertex AI
    プロンプトエンジニアリング
    概要プロンプトジェネレータープロンプトテンプレートの使用プロンプト改善ツール明確かつ直接的に例を使う(マルチショットプロンプティング)Claude に考えさせる(CoT)XML タグを使うClaude に役割を与える(システムプロンプト)複雑なプロンプトを連鎖させる長文コンテキストのヒント拡張思考のヒント
    テストと評価
    成功基準の定義テストケースの開発評価ツールの使用レイテンシの削減
    ガードレールの強化
    ハルシネーションの削減出力の一貫性を高めるジェイルブレイクの軽減ストリーミング拒否プロンプト漏洩の防止Claude をキャラクターに保つ
    管理とモニタリング
    Admin API 概要データレジデンシーワークスペースUsage and Cost APIClaude Code Analytics APIゼロデータリテンション
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    ガイド

    SDK のプラグイン

    Agent SDK を通じてコマンド、エージェント、スキル、フックを使用してカスタムプラグインを読み込み、Claude Code を拡張します

    プラグインを使用すると、プロジェクト全体で共有できるカスタム機能を使用して Claude Code を拡張できます。Agent SDK を通じて、ローカルディレクトリからプログラムでプラグインを読み込んで、カスタムスラッシュコマンド、エージェント、スキル、フック、MCP サーバーをエージェントセッションに追加できます。

    プラグインとは何ですか?

    プラグインは Claude Code 拡張機能のパッケージであり、以下を含むことができます:

    • コマンド: カスタムスラッシュコマンド
    • エージェント: 特定のタスク用の特殊なサブエージェント
    • スキル: Claude が自律的に使用するモデル呼び出し機能
    • フック: ツール使用およびその他のイベントに応答するイベントハンドラー
    • MCP サーバー: Model Context Protocol 経由の外部ツール統合

    プラグイン構造とプラグインの作成方法に関する完全な情報については、プラグインを参照してください。

    プラグインの読み込み

    オプション設定でローカルファイルシステムパスを指定してプラグインを読み込みます。SDK は複数の場所から複数のプラグインを読み込むことをサポートしています。

    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    for await (const message of query({
      prompt: "Hello",
      options: {
        plugins: [
          { type: "local", path: "./my-plugin" },
          { type: "local", path: "/absolute/path/to/another-plugin" }
        ]
      }
    })) {
      // Plugin commands, agents, and other features are now available
    }

    パス指定

    プラグインパスは以下のいずれかです:

    • 相対パス: 現在の作業ディレクトリを基準に解決されます(例:"./plugins/my-plugin")
    • 絶対パス: ファイルシステムの完全なパス(例:"/home/user/plugins/my-plugin")

    パスはプラグインのルートディレクトリ(.claude-plugin/plugin.json を含むディレクトリ)を指す必要があります。

    プラグインインストールの確認

    プラグインが正常に読み込まれると、システム初期化メッセージに表示されます。プラグインが利用可能であることを確認できます:

    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    for await (const message of query({
      prompt: "Hello",
      options: {
        plugins: [{ type: "local", path: "./my-plugin" }]
      }
    })) {
      if (message.type === "system" && message.subtype === "init") {
        // Check loaded plugins
        console.log("Plugins:", message.plugins);
        // Example: [{ name: "my-plugin", path: "./my-plugin" }]
    
        // Check available commands from plugins
        console.log("Commands:", message.slash_commands);
        // Example: ["/help", "/compact", "my-plugin:custom-command"]
      }
    }

    プラグインコマンドの使用

    プラグインからのコマンドは、競合を避けるためにプラグイン名で自動的に名前空間化されます。形式は plugin-name:command-name です。

    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    // Load a plugin with a custom /greet command
    for await (const message of query({
      prompt: "/my-plugin:greet",  // Use plugin command with namespace
      options: {
        plugins: [{ type: "local", path: "./my-plugin" }]
      }
    })) {
      // Claude executes the custom greeting command from the plugin
      if (message.type === "assistant") {
        console.log(message.content);
      }
    }

    CLI 経由でプラグインをインストールした場合(例:/plugin install my-plugin@marketplace)、SDK でもそのインストールパスを指定することで使用できます。CLI でインストールされたプラグインについては ~/.claude/plugins/ を確認してください。

    完全な例

    プラグインの読み込みと使用を示す完全な例を以下に示します:

    import { query } from "@anthropic-ai/claude-agent-sdk";
    import * as path from "path";
    
    async function runWithPlugin() {
      const pluginPath = path.join(__dirname, "plugins", "my-plugin");
    
      console.log("Loading plugin from:", pluginPath);
    
      for await (const message of query({
        prompt: "What custom commands do you have available?",
        options: {
          plugins: [
            { type: "local", path: pluginPath }
          ],
          maxTurns: 3
        }
      })) {
        if (message.type === "system" && message.subtype === "init") {
          console.log("Loaded plugins:", message.plugins);
          console.log("Available commands:", message.slash_commands);
        }
    
        if (message.type === "assistant") {
          console.log("Assistant:", message.content);
        }
      }
    }
    
    runWithPlugin().catch(console.error);

    プラグイン構造リファレンス

    プラグインディレクトリには .claude-plugin/plugin.json マニフェストファイルが含まれている必要があります。オプションで以下を含めることができます:

    my-plugin/
    ├── .claude-plugin/
    │   └── plugin.json          # Required: plugin manifest
    ├── commands/                 # Custom slash commands
    │   └── custom-cmd.md
    ├── agents/                   # Custom agents
    │   └── specialist.md
    ├── skills/                   # Agent Skills
    │   └── my-skill/
    │       └── SKILL.md
    ├── hooks/                    # Event handlers
    │   └── hooks.json
    └── .mcp.json                # MCP server definitions

    プラグイン作成の詳細については、以下を参照してください:

    • プラグイン - 完全なプラグイン開発ガイド
    • プラグインリファレンス - 技術仕様とスキーマ

    一般的なユースケース

    開発とテスト

    グローバルにインストールせずに開発中にプラグインを読み込みます:

    plugins: [
      { type: "local", path: "./dev-plugins/my-plugin" }
    ]

    プロジェクト固有の拡張機能

    チーム全体の一貫性のためにプロジェクトリポジトリにプラグインを含めます:

    plugins: [
      { type: "local", path: "./project-plugins/team-workflows" }
    ]

    複数のプラグインソース

    異なる場所からプラグインを組み合わせます:

    plugins: [
      { type: "local", path: "./local-plugin" },
      { type: "local", path: "~/.claude/custom-plugins/shared-plugin" }
    ]

    トラブルシューティング

    プラグインが読み込まれない

    プラグインが init メッセージに表示されない場合:

    1. パスを確認する: パスがプラグインルートディレクトリ(.claude-plugin/ を含む)を指していることを確認してください
    2. plugin.json を検証する: マニフェストファイルが有効な JSON 構文を持っていることを確認してください
    3. ファイルパーミッションを確認する: プラグインディレクトリが読み取り可能であることを確認してください

    コマンドが利用できない

    プラグインコマンドが機能しない場合:

    1. 名前空間を使用する: プラグインコマンドには plugin-name:command-name 形式が必要です
    2. init メッセージを確認する: コマンドが正しい名前空間で slash_commands に表示されていることを確認してください
    3. コマンドファイルを検証する: コマンドマークダウンファイルが commands/ ディレクトリにあることを確認してください

    パス解決の問題

    相対パスが機能しない場合:

    1. 作業ディレクトリを確認する: 相対パスは現在の作業ディレクトリから解決されます
    2. 絶対パスを使用する: 信頼性のために絶対パスの使用を検討してください
    3. パスを正規化する: パスユーティリティを使用してパスを正しく構築してください

    関連項目

    • プラグイン - 完全なプラグイン開発ガイド
    • プラグインリファレンス - 技術仕様
    • スラッシュコマンド - SDK でのスラッシュコマンドの使用
    • サブエージェント - 特殊なエージェントの操作
    • スキル - Agent Skills の使用

    Was this page helpful?