Agent Zero Plugin Router

SkillProductivity

Give your AI a knowledgeable guide to the Agent Zero add-on system, so questions about building, installing, or fixing add-ons get sorted quickly. Once added, it recognizes what you are asking for and routes each request to the specialist skill best suited to handle it. That means you spend less time figuring out where to go and more time getting your add-on working.

Available today. Use it from your connected AI after setup.

Add the skill, then ask about add-ons in plain language, such as how to install one or why one is failing. It will recognize the request and connect you with the specialist that can help.

Then ask your AI: use the Agent Zero Plugin Router skill

What your AI can do with it

  • Explain how the add-on system works
  • Route requests to create or review an add-on to the right specialist skill
  • Guide you through installing or uninstalling an add-on
  • Help debug an add-on that is not behaving as expected
  • Assist with contributing, managing, and publishing add-ons you have built

What this skill tells your AI

The instructions your AI receives, as published by gen-verse/past-bench in agents/agent-zero/skills/a0-plugin-router/SKILL.md and read by ahel’s review.

Routing Decision

Classify the user's request and read the appropriate specialist skill immediately.

User intentSkill to read
Create / build / develop / write a new pluginRead /a0/skills/a0-create-plugin/SKILL.md
Review / audit / validate / check a pluginRead /a0/skills/a0-review-plugin/SKILL.md
Contribute / publish / submit / share to communityRead /a0/skills/a0-contribute-plugin/SKILL.md
Install / update / uninstall / remove / browse / scanRead /a0/skills/a0-manage-plugin/SKILL.md
Plugin not working / crashing / missing / debug / troubleshootRead /a0/skills/a0-debug-plugin/SKILL.md
Explain / how does it work / architectureAnswer 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:

  1. usr/plugins/<name>/ - user plugins (your custom plugins go here)
  2. plugins/<name>/ - core system plugins (framework-bundled, do not modify)

A plugin is valid when its directory contains a plugin.yaml. Directories starting with . are skipped.

Runtime Manifest (plugin.yaml)

Every 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/FilePurpose
api/API handlers (ApiHandler subclasses)
tools/Agent tools (Tool subclasses)
extensions/python/<point>/ and extensions/python/_functions/<module>/<qualname>/<start_or_end>/Backend lifecycle hooks and implicit @extensible hooks
extensions/webui/<point>/HTML/JS injected into UI breakpoints
webui/config.htmlPlugin settings UI
webui/*.html, webui/*.jsFull plugin pages and Alpine stores
hooks.pyFramework runtime hooks (install, pre_update, cache, registration)
execute.pyUser-triggered script (setup, maintenance, repair)
default_config.yamlSettings defaults
README.mdOptional locally; strongly recommended for community plugins so Plugin Hub users can inspect the plugin
agents/<profile>/agent.yamlPlugin-distributed agent profiles
conf/model_providers.yamlAdd/override model providers
LICENSEOptional under usr/plugins/; 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: .toggle-1 (ON) / .toggle-0 (OFF) files in the plugin dir
  • Scoped toggles (project/agent) available when per_project_config or per_agent_config is true
  • Default: enabled when no toggle file exists
  • always_enabled: true forces ON and hides controls (reserved for framework)

Settings Resolution (highest priority first)

  1. project/.a0proj/agents/<profile>/plugins/<name>/config.json
  2. project/.a0proj/plugins/<name>/config.json
  3. usr/agents/<profile>/plugins/<name>/config.json
  4. usr/plugins/<name>/config.json
  5. plugins/<name>/default_config.yaml

Key API Routes

RoutePurpose
GET /plugins/<name>/<path>Serve static plugin assets
POST /api/plugins/<name>/<handler>Call plugin API endpoint
POST /api/pluginsManagement (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

Signals

GitHub stars
26
Forks
4
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
a0-plugin-router
Source
github.com/gen-verse/past-bench