Agent-zero a0-plugin-router
Main entry point for all Agent Zero plugin tasks. Routes to specialist skills for creating, reviewing, contributing, managing, or debugging plugins. Use when the user mentions plugins, asks how the plugin system works, wants to build/install/uninstall/publish/debug a plugin, or asks about the Plugin Hub.
git clone https://github.com/agent0ai/agent-zero
T=$(mktemp -d) && git clone --depth=1 https://github.com/agent0ai/agent-zero "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/a0-plugin-router" ~/.claude/skills/agent0ai-agent-zero-a0-plugin-router && rm -rf "$T"
skills/a0-plugin-router/SKILL.mdAgent Zero Plugin Router
Routing Decision
Classify the user's request and read the appropriate specialist skill immediately.
| User intent | Skill to read |
|---|---|
| Create / build / develop / write a new plugin | Read |
| Review / audit / validate / check a plugin | Read |
| Contribute / publish / submit / share to community | Read |
| Install / update / uninstall / remove / browse / scan | Read |
| Plugin not working / crashing / missing / debug / troubleshoot | Read |
| Explain / how does it work / architecture | Answer inline using the overview below |
If intent is ambiguous, ask one question before routing:
"Are you trying to create a new plugin, review one, contribute it to the community, manage (install/update/uninstall) plugins, or debug a plugin that isn't working?"
If the user says "make a plugin for the community" - start with
a0-create-plugin, then note that a0-contribute-plugin handles the publishing step after the plugin is built and tested.
Plugin System Overview (for explain/explore queries)
Roots and Discovery
Agent Zero discovers plugins from two roots, in priority order:
- user plugins (your custom plugins go here)usr/plugins/<name>/
- core system plugins (framework-bundled, do not modify)plugins/<name>/
A plugin is valid when its directory contains a
plugin.yaml. Directories starting with . are skipped.
Runtime Manifest (plugin.yaml
)
plugin.yamlEvery plugin requires a
plugin.yaml at its root:
name: my_plugin # required by CI for community plugins (^[a-z0-9_]+$) title: My Plugin # UI display name description: What it does. version: 1.0.0 settings_sections: [agent] # which Settings tabs show a subsection per_project_config: false # enables project-scoped settings/toggle per_agent_config: false # enables agent-profile-scoped settings/toggle always_enabled: false # forces ON, disables toggle (framework use only)
settings_sections valid values: agent, external, mcp, developer, backup. Use [] for none.
What a Plugin Can Provide
| Directory/File | Purpose |
|---|---|
| API handlers ( subclasses) |
| Agent tools ( subclasses) |
and | Backend lifecycle hooks and implicit hooks |
| HTML/JS injected into UI breakpoints |
| Plugin settings UI |
, | Full plugin pages and Alpine stores |
| Framework runtime hooks (install, uninstall, pre_update, cache, registration) |
| User-triggered script (setup, maintenance, repair) |
| Settings defaults |
| Optional locally; strongly recommended for community plugins so Plugin Hub users can inspect the plugin |
| Plugin-distributed agent profiles |
| Add/override model providers |
| Optional under ; required at the root of a plugin GitHub repo before submitting to the Plugin Index |
For
@extensible targets, the only valid implicit hook layout is extensions/python/_functions/<module>/<qualname>/<start|end>/. The older flattened extensions/python/<module>_<qualname>_<start|end>/ folders are obsolete.
Activation
- Global toggle:
(ON) /.toggle-1
(OFF) files in the plugin dir.toggle-0 - Scoped toggles (project/agent) available when
orper_project_config
is trueper_agent_config - Default: enabled when no toggle file exists
forces ON and hides controls (reserved for framework)always_enabled: true
Settings Resolution (highest priority first)
project/.a0proj/agents/<profile>/plugins/<name>/config.jsonproject/.a0proj/plugins/<name>/config.jsonusr/agents/<profile>/plugins/<name>/config.jsonusr/plugins/<name>/config.jsonplugins/<name>/default_config.yaml
Key API Routes
| Route | Purpose |
|---|---|
| Serve static plugin assets |
| Call plugin API endpoint |
| Management (toggle, config, docs) |
Deep-Dive References
- Architecture + extension points:
/a0/docs/agents/AGENTS.plugins.md - Developer guide:
/a0/docs/developer/plugins.md - Component system:
/a0/docs/agents/AGENTS.components.md - Modal system:
/a0/docs/agents/AGENTS.modals.md