Official Agent Plugins 1.0.0 specification · reproduced from agent-plugins.org under CC BY 4.0 · synced 2026-08-07

Build an Agent Plugin

An Agent Plugin is a self-contained directory. Every plugin has a root plugin.json; skills and MCP configuration are optional.

Create a minimal plugin

hello-plugin/
├── plugin.json
└── skills/
    └── greet/
        └── SKILL.md

Create plugin.json:

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "hello-plugin"
}

Create the skill:

---
name: greet
description: Greet the user and offer help.
---

Greet the user and offer help.

A skills-capable client loads plugin.json, discovers the immediate children of skills/, and validates each SKILL.md against the Agent Skills specification. To add MCP servers, place mcp.json at the plugin root using the same Agent Plugins schema version.

For a copyable package with a complete manifest and a real skill, see the Agent Plugins example.

Package boundaries

Files supplied by the package must resolve within the plugin root. Configuration fields defined as plugin-relative paths begin with ./; symlinks and equivalent filesystem mechanisms must not be used to escape the package.

Client-managed installation, distribution, enablement, updates, and user interface are outside the portable specification.

Next steps

  • Manifest — Define the plugin identity, metadata, and target specification version.
  • Skills — Package Agent Skills under the fixed skills/ directory.
  • MCP servers — Configure local and remote MCP connections in mcp.json.
  • Client extensions — Add namespaced behavior for particular clients without changing the portable contract.