プラグインを使用すると、プロジェクトやチーム間で共有できるカスタム機能でDroidを拡張できます。プラグインは、スキル、スラッシュコマンド、エージェント、MCPサーバーを単一の配布可能なパッケージにバンドルします。
プラグインとは何ですか?
プラグインは、マニフェストファイル(.factory-plugin/plugin.json)と、スキル、コマンド、エージェントなどのオプションコンポーネントを含むディレクトリです。.factory/ でのスタンドアロン設定とは異なり、プラグインは共有と配布のために設計されています。
プラグインコンポーネント:
| コンポーネント | 目的 | 呼び出し方法 |
|---|
| スキル | 指示とツールを含む再利用可能な機能 | タスクに基づいてモデルが自動的に呼び出し |
| コマンド | 特定のワークフロー用のスラッシュコマンド | /command-name を介してユーザーが呼び出し |
| エージェント | 特殊化されたサブエージェント定義 | Taskツールを介して呼び出し |
| フック | ライフサイクルイベントハンドラー | マッチするイベントで自動実行 |
| MCPサーバー | 外部ツール統合 | プラグインがアクティブな時にツールとして利用可能 |
プラグインとスタンドアロン設定をいつ使うか
| アプローチ | 最適な用途 |
|---|
スタンドアロン (.factory/ ディレクトリ) | 個人的なワークフロー、プロジェクト固有のカスタマイズ、迅速な実験 |
| プラグイン | チームメートとの共有、コミュニティへの配布、バージョン管理されたリリース、プロジェクト間での再利用 |
迅速な反復のために .factory/ でスタンドアロン設定から始め、共有する準備ができたらプラグインに変換してください。
プラグインの管理
Droidはプラグインを管理する2つの方法を提供します:
対話式UI(推奨)
/plugins スラッシュコマンドを使用してプラグインマネージャーを開きます:
これによりタブ付きインターフェースが開きます:
- ブラウズ - 登録されたマーケットプレイスからプラグインを表示・インストール
- インストール済み - インストール済みプラグインを管理(情報表示、更新、アンインストール)
- マーケットプレイス - マーケットプレイスの追加、更新、削除
ナビゲーション:
- 左/右矢印:タブ間の切り替え
- 上/下矢印:タブ内でのナビゲート
- Enter:選択/確認
- Escape:戻る、または閉じる
CLIコマンド(スクリプト用)
自動化のために、シェルからCLIコマンドを使用してください(スラッシュコマンドとしてではありません):
# Marketplace management
droid plugin marketplace add <url>
droid plugin marketplace remove <name>
droid plugin marketplace list
droid plugin marketplace update [name]
# Plugin management
droid plugin install <plugin@marketplace> [--scope user|project]
droid plugin uninstall <plugin@marketplace> [--scope user|project]
droid plugin update [plugin@marketplace] [--scope user|project]
droid plugin list [--scope user|project]
プラグインIDは pluginName@marketplaceName の形式を使用します(例:security-guidance@claude-plugins-official)。
プラグインの構造
すべてのプラグインは以下のディレクトリ構造に従います:
my-plugin/
├── .factory-plugin/
│ └── plugin.json # Plugin manifest (required)
├── commands/ # Slash commands (optional)
│ └── my-command.md
├── skills/ # Agent skills (optional)
│ └── my-skill/
│ └── SKILL.md
├── droids/ # Subagent definitions (optional)
│ └── my-agent.md
├── mcp.json # MCP server configs (optional)
└── README.md # Documentation
Don’t put commands/, skills/, droids/, or hooks/ inside the .factory-plugin/ directory. Only plugin.json goes inside .factory-plugin/. All other directories must be at the plugin root level.
プラグインフック
プラグインは特定のライフサイクルイベントで実行されるフックを含むことができます。hooks.json ファイルを含む hooks/ ディレクトリを追加してください:
my-plugin/
├── .factory-plugin/
│ └── plugin.json
├── hooks/
│ ├── hooks.json # Hook configuration
│ └── my-script.sh # Hook scripts
└── ...
hooks/hooks.json の例:
{
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "${DROID_PLUGIN_ROOT}/hooks/format.sh"
}
]
}
]
}
${DROID_PLUGIN_ROOT} を使用してプラグインディレクトリ内のファイルを参照してください。この変数はフックが実行される際に実際のプラグインパスに展開されます。詳細は Hooks reference を参照してください。
プラグインマニフェスト
.factory-plugin/plugin.json のマニフェストはプラグインのアイデンティティを定義します:
{
"name": "my-plugin",
"description": "A helpful description of what this plugin does",
"version": "1.0.0",
"author": {
"name": "Your Name"
}
}
| フィールド | 目的 |
|---|
name | プラグインの一意識別子。 |
description | ブラウズまたはインストール時にプラグインマネージャーで表示される。 |
version | セマンティックバージョニングを使用してリリースを追跡。 |
author | オプション。帰属の表示に役立つ。 |
プラグインスコープ
プラグインをインストールする際、インストールスコープを選択します:
| スコープ | 場所 | 可視性 |
|---|
| ユーザー | ~/.factory/ | すべてのプロジェクトで利用可能 |
| プロジェクト | <project>/.factory/ | gitを介してチームメートと共有 |
Org scope: Plugins enabled via organization managed settings are automatically installed with org scope. You cannot manually set org scope.
プラグインは1つのスコープにのみ存在できます。スコープを変更するには、まずアンインストールしてから再インストールしてください。
バージョン追跡
プラグインはセマンティックバージョンではなく、Gitコミットハッシュでバージョン管理されます。プラグインを更新すると、Droidはマーケットプレイスリポジトリから最新のコミットを取得します。
Version pinning is not supported. Updates always fetch the latest version from the marketplace.
マーケットプレイス
マーケットプレイスは、ブラウズしてインストールできるプラグインのカタログです。
マーケットプレイスの追加
UI経由:/plugins → マーケットプレイスタブ → “新しいマーケットプレイスを追加” → URLを入力
CLI経由:
# From GitHub
droid plugin marketplace add https://github.com/owner/repo
# From other Git hosts
droid plugin marketplace add https://gitlab.com/company/plugins.git
# From local path (for development)
droid plugin marketplace add /path/to/local/marketplace
マーケットプレイスの管理
UI経由:/plugins → マーケットプレイスタブ → マーケットプレイスを選択 → アクションを選択(更新、自動更新を無効化、削除)
CLI経由:
droid plugin marketplace list
droid plugin marketplace update [marketplace-name]
droid plugin marketplace remove <marketplace-name>
Removing a marketplace does not uninstall plugins from that marketplace. Installed plugins remain functional from cache.
チームマーケットプレイス
.factory/settings.json に追加することで、マーケットプレイスとプラグインの自動インストールを設定できます:
{
"extraKnownMarketplaces": {
"your-org-internal-plugins": {
"source": {
"source": "github",
"repo": "your-org/internal-plugins"
}
}
},
"enabledPlugins": {
"code-standards@your-org-internal-plugins": true
}
}
Droidが開始すると、自動的に:
- まだ登録されていない
extraKnownMarketplaces からのマーケットプレイスを登録
- まだインストールされていない
enabledPlugins からのプラグインをインストール
インストールスコープは設定が定義された場所によって決まります:
- 組織管理設定 →
org スコープ
- ユーザー設定 →
user スコープ
- プロジェクト設定 →
project スコープ
プラグインの発見
公式Factoryプラグイン
Factoryは Factory-AI/factory-plugins で厳選されたプラグインを含む公式プラグインマーケットプレイスを維持しています。
/plugins UIまたはCLI経由で追加:
droid plugin marketplace add https://github.com/Factory-AI/factory-plugins
利用可能なプラグイン:
| プラグイン | 説明 |
|---|
| droid-evolved | 継続的学習のためのスキル:セッションナビゲーション、人間的な文章作成、スキル作成、ビジュアルデザイン、フロントエンドデザイン、ブラウザ自動化 |
| security-engineer | セキュリティレビュー、脅威モデリング、コミットスキャン、脆弱性検証 |
/plugins UI(ブラウズタブ)またはCLI経由でインストール:
droid plugin install droid-evolved@factory-plugins
droid plugin install security-engineer@factory-plugins
コミュニティプラグイン
| プラグイン | 説明 | ソース |
|---|
| superpowers | ブレインストーミング、計画、サブエージェント駆動開発を含む完全なソフトウェア開発ワークフロー | obra/superpowers |
Enterprise Plugin Registry
承認されたプラグインに対する集中制御が必要な組織については、Enterprise Plugin Registry を参照してください。これにより以下のことが可能になります:
- 承認されたプラグインのプライベートマーケットプレイスを維持
- すべてのユーザーに対して必須プラグインを事前インストール
- チーム、役割、または機能別にプラグインを整理
Claude Code互換性
DroidはClaude Code用に構築されたプラグインと互換性があります。使用したいClaude Codeプラグインを見つけた場合、直接インストールできます - プラグイン形式は相互運用可能です。詳細は Claude Code plugins documentation を参照してください。
次のステップ