Skip to content

Adopt the Agent Plugins v1.0.0 open standard - #1

Open
tadaspetra wants to merge 2 commits into
mainfrom
agent-plugins-spec
Open

Adopt the Agent Plugins v1.0.0 open standard#1
tadaspetra wants to merge 2 commits into
mainfrom
agent-plugins-spec

Conversation

@tadaspetra

Copy link
Copy Markdown
Collaborator

What changed

Agent Plugins v1.0.0 just launched — an open, vendor-neutral plugin packaging standard backed by a steering committee including Cursor, OpenAI, Amazon, Microsoft, and Vercel. This PR makes the repo conformant while keeping the existing Cursor / Claude Code / Codex vendor manifests working unchanged.

  • New root plugin.json — the portable manifest required by the spec ($schema + name + allowed metadata). The spec's schema is closed, so it deliberately omits vendor-only fields like displayName, logo, and component pointers (skills and MCP are auto-discovered from skills/ and mcp.json).
  • mcp.json made spec-conformant — added $schema and type: "stdio", and removed the ${ELEVENLABS_API_KEY} env interpolation. This is the important fix: the spec only expands ${PLUGIN_ROOT}/${PLUGIN_DATA} and leaves other placeholders literal, so a spec-strict client would have set the API key to the literal string "${ELEVENLABS_API_KEY}", clobbering the real key inherited from the user's shell. Without the env block, the stdio subprocess inherits ELEVENLABS_API_KEY from the environment — matching what the README already instructs.
  • New .cursor-plugin/mcp.json — Cursor-specific MCP config that keeps the ${ELEVENLABS_API_KEY} interpolation, since Cursor resolves it from the dashboard variables declared in its manifest. .cursor-plugin/plugin.json now points at it.
  • README — notes Agent Plugins conformance and the two MCP config paths.

Why

One repo now serves four surfaces: Cursor, Claude Code, Codex, and any future client implementing the open standard — with no repackaging.

Reviewer notes

  • Skills required no changes: the spec delegates skill format to agentskills.io, which the upstream elevenlabs/skills content already follows.
  • Verified: both root files validate against the official 1.0.0 JSON Schemas (jsonschema), claude plugin validate passes, and a full Claude Code marketplace addinstalluninstall cycle succeeds on this branch.
  • The spec is a Working Draft and defines no marketplace/distribution format yet, so vendor marketplace submissions are unaffected.

🤖 Generated with Claude Code

tadaspetra and others added 2 commits August 6, 2026 14:33
Add a portable root plugin.json conforming to agent-plugins.org and make
mcp.json spec-conformant ($schema, explicit stdio type). Remove the
${ELEVENLABS_API_KEY} env interpolation from the portable mcp.json — the
spec only expands ${PLUGIN_ROOT}/${PLUGIN_DATA}, so spec-strict clients
would set the key to the literal placeholder string instead of inheriting
it from the environment. Cursor keeps its dashboard-variable interpolation
via a dedicated .cursor-plugin/mcp.json.

Both root files validate against the official 1.0.0 JSON Schemas, and the
Claude Code marketplace add/install flow was re-verified end to end.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@tadaspetra

Copy link
Copy Markdown
Collaborator Author

Resolved conflicts with main (#2 switched to the hosted MCP server). Resolution: main's hosted-only direction wins everywhere; the Agent Plugins v1.0.0 conformance is reapplied on top of it.

  • mcp.json now declares the hosted server in spec form: $schema + "type": "streamable-http" + the OAuth URL. Verified against the official 1.0.0 JSON Schema, and verified Claude Code parses it (claude mcp list shows the server as HTTP; the unauthenticated health-check 401 is expected — the endpoint serves OAuth protected-resource metadata).
  • Dropped .cursor-plugin/mcp.json and the Cursor variables block from this branch — both existed only to wire ELEVENLABS_API_KEY, which the hosted server no longer needs.
  • Root plugin.json bumped to 0.3.0 with main's hosted-only description/keywords.

Full local re-test after merge: schema validation, claude plugin validate, and a marketplace add → install → uninstall cycle all pass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant