What are plugins?
Plugins are directories containing a manifest file (.factory-plugin/plugin.json) and optional components like skills, commands, and agents. Unlike standalone configuration in .factory/, plugins are designed for sharing and distribution.
Plugin components:
When to use plugins vs standalone configuration
Start with standalone configuration in
.factory/ for quick iteration, then convert to a plugin when you’re ready to share.
Managing plugins
Droid provides two ways to manage plugins:Interactive UI (recommended)
Use the/plugins slash command to open the plugin manager:
- Browse - View and install plugins from registered marketplaces
- Installed - Manage installed plugins (view info, update, uninstall)
- Marketplaces - Add, update, or remove marketplaces
- Left/Right arrows: Switch between tabs
- Up/Down arrows: Navigate within a tab
- Enter: Select/confirm
- Escape: Go back or close
CLI commands (for scripting)
For automation, use CLI commands from your shell (not as slash commands):pluginName@marketplaceName (e.g., security-guidance@claude-plugins-official).
Plugin structure
Every plugin follows this directory structure:Plugin hooks
Plugins can include hooks that execute at specific lifecycle events. Add ahooks/ directory with a hooks.json file:
${DROID_PLUGIN_ROOT} to reference files within your plugin directory. This variable is expanded to the actual plugin path when the hook runs. See Hooks reference for details.
Plugin manifest
The manifest at.factory-plugin/plugin.json defines your plugin’s identity:
Plugin scopes
When installing plugins, you choose an installation scope:Org scope: Plugins enabled via organization managed settings are automatically installed with
org scope. You cannot manually set org scope.Version tracking
Plugins are versioned by Git commit hash, not semantic version. When you update a plugin, Droid fetches the latest commit from the marketplace repository. To pin a marketplace to a specific version, setref (a branch or tag) or sha (a full 40-character commit SHA) on the marketplace source. See Pinning a marketplace to a ref or commit below.
Marketplaces
Marketplaces are catalogs of plugins that you can browse and install from.Adding marketplaces
Via UI:/plugins → Marketplaces tab → “Add new marketplace” → enter URL
Via CLI:
Managing marketplaces
Via UI:/plugins → Marketplaces tab → select marketplace → choose action (Update, Disable auto-update, Delete)
Via CLI:
Removing a marketplace does not uninstall plugins from that marketplace. Installed plugins remain functional from cache.
Team marketplaces
Configure automatic marketplace and plugin installation by adding to.factory/settings.json:
- Registers any marketplaces from
extraKnownMarketplacesthat aren’t already registered - Installs any plugins from
enabledPluginsthat aren’t already installed
- Org-managed settings →
orgscope - User settings →
userscope - Project settings →
projectscope
Pinning a marketplace to a ref or commit
By default Droid tracks the marketplace’s default branch and pulls the latest commit on update. You can pin a marketplace to a specific Git ref or commit by addingref or sha to the source object.
ref and sha are supported on the github, url, and git-subdir source types. Use sha for hard pins; use ref to follow a branch or tag.
--ref or --sha when adding a marketplace:
Discovering plugins
Official Factory plugins
Factory maintains an official plugin marketplace atFactory-AI/factory-plugins with curated plugins.
Add via /plugins UI or CLI:
Install via
/plugins UI (Browse tab) or CLI:
Community plugins
Enterprise Plugin Registry
For organizations that need centralized control over approved plugins, see Enterprise Plugin Registry. This allows you to:- Maintain a private marketplace of approved plugins
- Pre-install mandatory plugins for all users
- Organize plugins by team, role, or capability
Claude Code compatibility
Droid is compatible with plugins built for Claude Code. If you find a Claude Code plugin you’d like to use, you can install it directly - the plugin format is interoperable. See the Claude Code plugins documentation for more details.CLI command reference
Quick reference for thedroid plugin subcommands. All commands accept --scope user|project (alias -s) to control where the plugin is installed; omit the flag to be prompted.
Common workflows:
Next steps
Building plugins
Learn how to create your own plugins with skills and commands.
Skills
Understand how skills work and how to create them.
Custom commands
Create user-invoked slash commands.
Custom Droids
Create specialized subagents for your plugins.
