メインコンテンツへスキップ
プラグインを使用すると、プロジェクトやチーム間で共有できるカスタム機能でDroidを拡張できます。プラグインは、スキル、スラッシュコマンド、エージェント、MCPサーバーを単一の配布可能なパッケージにバンドルします。

プラグインとは?

プラグインは、マニフェストファイル(.factory-plugin/plugin.json)とスキル、コマンド、エージェントなどのオプションコンポーネントを含むディレクトリです。.factory/内のスタンドアロン設定とは異なり、プラグインは共有と配布を目的として設計されています。 プラグインコンポーネント:

プラグイン vs スタンドアロン設定を使用するタイミング

迅速な反復のためには.factory/でのスタンドアロン設定から始め、共有する準備ができたらプラグインに変換してください。

プラグイン管理

Droidはプラグインを管理する2つの方法を提供します:

インタラクティブUI(推奨)

/pluginsスラッシュコマンドを使用してプラグインマネージャーを開きます:
これはタブ形式のインターフェイスが開きます:
  • Browse(閲覧) - 登録されたマーケットプレイスからプラグインを表示・インストール
  • Installed(インストール済み) - インストール済みプラグインを管理(情報表示、更新、アンインストール)
  • Marketplaces(マーケットプレイス) - マーケットプレイスの追加、更新、削除
ナビゲーション:
  • 左/右矢印: タブ間の切り替え
  • 上/下矢印: タブ内のナビゲーション
  • Enter: 選択/確認
  • Escape: 戻る、または閉じる

CLI コマンド(スクリプト用)

自動化には、シェルからCLI コマンドを使用してください(スラッシュコマンドではありません):
プラグインIDはpluginName@marketplaceNameの形式を使用します(例:security-guidance@claude-plugins-official)。

プラグインの構造

すべてのプラグインは以下のディレクトリ構造に従います:
commands/skills/droids/、または hooks/.factory-plugin/ ディレクトリ内に配置しないでください。.factory-plugin/ 内に配置するのは plugin.json のみです。その他のディレクトリはすべてプラグインのルートレベルに配置する必要があります。

プラグインフック

プラグインは特定のライフサイクルイベントで実行されるフックを含めることができます。hooks/ ディレクトリを追加し、hooks.json ファイルを配置してください:
hooks/hooks.json の例:
${DROID_PLUGIN_ROOT}を使用して、プラグインディレクトリ内のファイルを参照します。この変数は、フックが実行される際に実際のプラグインパスに展開されます。詳細についてはフック リファレンスを参照してください。

プラグインマニフェスト

.factory-plugin/plugin.jsonのマニフェストは、プラグインのアイデンティティを定義します:

プラグインスコープ

プラグインをインストールする際、インストールスコープを選択します:
Orgスコープ: 組織管理設定を通じて有効化されたプラグインは、自動的にorgスコープでインストールされます。手動でorgスコープを設定することはできません。
プラグインは1つのスコープにのみ存在できます。スコープを変更するには、まずアンインストールしてから再インストールしてください。

バージョン追跡

プラグインはセマンティックバージョンではなく、Gitコミットハッシュによってバージョニングされます。プラグインを更新すると、Droidはマーケットプレイスリポジトリから最新のコミットを取得します。 マーケットプレイスを特定のバージョンに固定するには、マーケットプレイスソースに ref(ブランチまたはタグ)または sha(40文字のフルコミットSHA)を設定します。下記のマーケットプレイスをrefまたはコミットに固定するを参照してください。

マーケットプレイス

マーケットプレイスは、閲覧やインストールが可能なプラグインのカタログです。

マーケットプレイスの追加

UI経由:/plugins → マーケットプレイスタブ → “新しいマーケットプレイスを追加” → URLを入力 CLI経由:

マーケットプレースの管理

UI経由: /plugins → マーケットプレースタブ → マーケットプレースを選択 → アクションを選択 (更新、自動更新を無効化、削除) CLI経由:
マーケットプレイスを削除しても、そのマーケットプレイスからのプラグインはアンインストールされません。インストールされたプラグインはキャッシュから機能し続けます。

チームマーケットプレイス

.factory/settings.jsonに追加して、自動マーケットプレイスおよびプラグインインストールを設定します:
Droidが起動すると、自動的に以下を実行します:
  1. extraKnownMarketplacesから、まだ登録されていないマーケットプレースを登録
  2. enabledPluginsから、まだインストールされていないプラグインをインストール
インストールスコープは設定が定義されている場所によって決まります:
  • 組織管理設定 → orgスコープ
  • ユーザー設定 → userスコープ
  • プロジェクト設定 → projectスコープ

マーケットプレイスをrefまたはコミットに固定する

デフォルトでは、Droidはマーケットプレイスのデフォルトブランチを追跡し、更新時に最新のコミットを取得します。ソースオブジェクトに ref または sha を追加することで、マーケットプレイスを特定のGit refまたはコミットに固定できます。 refshagithuburlgit-subdir ソースタイプでサポートされています。ハードピンには sha、ブランチやタグを追跡するには ref を使用します。
CLIからマーケットプレイスを追加する際は、--ref または --sha を渡します:

プラグインの発見

公式Factoryプラグイン

FactoryはFactory-AI/factory-pluginsで厳選されたプラグインを含む公式プラグインマーケットプレースを管理しています。 /plugins UIまたはCLIから追加:
利用可能なプラグイン: /plugins UIの(Browse(閲覧)タブ)またはCLI経由でインストール:

コミュニティプラグイン

エンタープライズプラグインレジストリ

承認済みプラグインの集中管理が必要な組織については、エンタープライズプラグインレジストリを参照してください。これにより以下が可能になります:
  • 承認済みプラグインのプライベートマーケットプレイスの維持
  • 全ユーザー向けの必須プラグインの事前インストール
  • チーム、役割、または機能によるプラグインの整理

Claude Code互換性

DroidはClaude Code向けに構築されたプラグインと互換性があります。使用したいClaude Codeプラグインを見つけた場合、直接インストールできます - プラグイン形式は相互運用可能です。詳細についてはClaude Codeプラグインドキュメントを参照してください。

CLI コマンドリファレンス

droid plugin サブコマンドのクイックリファレンスです。すべてのコマンドは --scope user|project(エイリアス -s)を受け付け、プラグインのインストール先を指定できます。フラグを省略するとプロンプトが表示されます。 よくあるワークフロー:
閲覧やワンオフのインストールにはインタラクティブな /plugins UI を推奨します。オンボーディングのスクリプト化、CI セットアップ、共有のドットファイルでは CLI を利用してください。

次のステップ

プラグインの構築

スキルとコマンドを使用して独自のプラグインを作成する方法を学習します。

スキル

スキルの動作方法と作成方法を理解します。

カスタムコマンド

ユーザー呼び出し可能なスラッシュコマンドを作成します。

カスタムDroid

プラグイン用の専用サブエージェントを作成します。