Skip to content

Introduction

AgentPlugins is a toolchain for AI agent plugins. Write a plugin once, ship it to every supported agent harness from a single manifest.

The problem

Every AI agent framework ships its own plugin system with its own manifest format, hook lifecycle, and handler conventions:

FrameworkManifestHandler types
Claude Code.claude-plugin/plugin.jsoncommand, http, prompt
Codex CLI.codex-plugin/plugin.jsoncommand only
GitHub Copilot CLIplugin.jsoncommand, http, prompt
Gemini CLIgemini-extension.jsoncommand only
Kimikimi.plugin.jsoncommand only
OpenCodeTypeScript pluginsinline only
Pi MonoTypeScript extensionsinline only

Seven frameworks, seven different APIs. A plugin author who wants to reach across the ecosystem maintains seven forks of the same logic. Users who switch harnesses lose every plugin they configured.

The solution

AgentPlugins introduces a universal manifest (agentplugins.config.ts) and a universal store (~/.agents/plugins/). You declare hooks, skills, tools, MCP servers, and commands once. The CLI compiles that manifest down to each platform's native format and symlinks the result into every detected agent.

Supported platforms

AgentPlugins targets four harnesses as primary compile targets with universal codegen — the same plugin behaviour across all four:

AgentBinarySkill path
Claude Codeclaude~/.claude/skills
Codex CLIcodex~/.codex/skills
OpenCodeopencode~/.config/opencode/skills
Pi Monopi~/.pi/extensions

Three additional harnesses are tracked with decreasing capability coverage:

AgentBinarySkill path
GitHub Copilot CLIcopilot~/.copilot/skills
Gemini CLIgemini~/.gemini/skills
Kimikimi~/.kimi/skills

See the agent paths reference for the full registry and the adapters reference for what each platform emits.

Custom harnesses

If you maintain an internal harness, you can add it as a custom compile target. Register a private adapter via the plugins field in defineConfig — see Extending the Build Pipeline for the full guide.

Where to go next

Released under the Apache License 2.0.