anomalyco / anomalyco/opencode
[FEATURE]: support the Agent Plugins standard (agent-plugins.org)
@jlongster is already working on this.
Since Aug 7, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Describe the enhancement you want to request
OpenCode has no support for Agent Plugins, the vendor-neutral packaging spec for bundling Agent Skills and MCP servers into a portable plugin.
Context
This is a broad, multi-vendor effort rather than any one company's format. Agent Plugins 1.0.0 was published by a TSC of Core Maintainers from Amazon, Cursor, Microsoft, OpenAI, and Vercel, and Google has since joined as a Core Maintainer.
Support already spans most major agent clients:
| Vendor | Products supporting Agent Plugins |
|---|---|
| OpenAI | ChatGPT, Codex |
| Microsoft | VS Code, GitHub Copilot |
| Amazon | Kiro |
| Cursor | Cursor |
| Agents CLI, Data Agent Kit |
The first four rows are per the launch announcement; Google's two are per its Core Maintainer announcement above, with more of its products to follow.
OpenCode is a conspicuous omission, and it's the one place a user's skills currently don't follow them.
Both a client implementation and conformant plugins already exist to test against:
- Codex implements it as of 0.147.0 (2026-08-07), via openai/codex#36544. Root
plugin.jsonnow takes precedence, with the legacy.codex-plugin/plugin.jsondemoted to an optional overlay. - AWS's agent-toolkit-for-aws shipped conformant manifests for all four of its plugins in #214 (2026-08-06).
Those AWS plugins install in Codex today. In OpenCode the same directories are only reachable if a user points skills.paths at them by hand, and their bundled MCP servers are not picked up at all.
What the format is
plugin-name/
├── plugin.json # $schema: https://agent-plugins.org/schemas/1.0.0/plugin.schema.json
├── skills/ # Agent Skills (agentskills.io), which OpenCode already understands
├── mcp.json # $schema: .../1.0.0/mcp.schema.json
└── com.example.client/ # reverse-domain namespace for client-specific extensions
Notably, OpenCode already discovers ~/.claude/skills/** and ~/.agents/skills/** and already speaks MCP. The gap is only the manifest layer that binds them into one installable, versioned unit.
Proposal
- Recognize a root
plugin.jsonas a plugin manifest, gated on$schemamatchinghttps://agent-plugins.org/schemas/1.0.0/plugin.schema.json. Codex treats a non-matching or absent$schemaas "not an Agent Plugin" and falls through, which seems like the right behaviour, since it keeps unrelatedplugin.jsonfiles from being misread. - Load
skills/through the existing skill discovery path. - Load
mcp.jsoninto the existing MCP server config, honouring the spec's transport rules (§7.2.1). - Optionally consume
.agents/plugins/marketplace.jsonfor discovery. Both Codex's own curated marketplace and AWS's toolkit already publish at that vendor-neutral path. - Optionally reserve a
com.opencode.*(or similar) extension namespace per §8.2 for anything OpenCode-specific.
Relationship to existing issues
- #40629 asks for discovery of skills sitting inside VS Code agent-plugin and Claude Code plugin directories, by reading each client's own manifests (
installed.json,cache.json,installed_plugins.json). That's a per-client compatibility shim; Agent Plugins is the standard that makes such shims unnecessary for conformant packages. The two are complementary, one covering what's already installed today and the other what gets published going forward. - #40085 (closed) proposed a unified OpenCode marketplace. Supporting the spec would let such a marketplace serve portable packages rather than an OpenCode-only format.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.