Skip to content

feat: conform packaging to agent-plugins.org v1.0.0 - #5

Merged
elrolio merged 4 commits into
mainfrom
claude/agent-plugins-conformance
Sep 11, 2026
Merged

elrolio merged 4 commits into
mainfrom
claude/agent-plugins-conformance

Conversation

@claude

@claude claude Bot commented Sep 10, 2026 •

Copy link
Copy Markdown
Contributor

Requested by Matthew Scott · Slack thread

TL;DR

Before, a tool that follows the Agent Plugins v1.0.0 standard strictly (the standard Cursor recommends) would look at the repo root, find no plugin manifest there, and treat this as not a conformant plugin — even though .cursor-plugin/ and .claude-plugin/ manifests exist for Cursor and Claude Code. After, the repo root carries a portable AP-v1 plugin.json and the root mcp.json matches the AP-v1 schema, so a strict AP-v1 client discovers a conformant plugin with a valid MCP transport.

The three must-do conformance fixes:

  • Root plugin.json — a new portable AP-v1 manifest at the repo root, with "$schema" as its first field and portable fields (name, version, description, author, homepage, repository, license, keywords) copied from .cursor-plugin/plugin.json. repository points at descript-mcp; license left as the existing MIT (unchanged — the team is still deciding).
  • mcp.json $schema — added the AP-v1 mcp.schema.json reference.
  • mcp.json transport — changed the descript server's "type" from "http" to "streamable-http", the AP-v1 transport enum value.

The tool-specific .cursor-plugin/plugin.json and .claude-plugin/plugin.json (what Cursor and Claude Code read today) are untouched, and no fields were moved into extensions — that was a separate should-do, out of scope here.

node scripts/validate-plugin.mjs passes.

Schemas confirmed: The requester (Matthew Scott) confirmed both $schema URLs against the live v1.0.0 schemas — plugin.schema.json and mcp.schema.json — and they match, including the streamable-http transport enum value. Both root manifests were verified against the schemas' additionalProperties: false constraint: root plugin.json carries only the allowed top-level keys ($schema, name, version, description, author, homepage, repository, license, keywords), its name matches the required pattern, and author has only name/email; root mcp.json carries only $schema + mcpServers, with the descript server using only the schema-permitted keys (type, url).

🤖 Generated with Claude Code

https://claude.ai/code/session_01DokQCcnFTDAK959sE2cWDa


Generated by Claude Code

Add a portable Agent Plugins v1 manifest at the repo root and align the
root mcp.json with the AP-v1 schema, so a strict AP-v1 client (the standard
Cursor recommends) finds a conformant root manifest and a valid transport.

- Add root plugin.json with $schema first, portable fields from
  .cursor-plugin/plugin.json (repository points at descript-mcp).
- Add $schema to mcp.json.
- Change the descript server transport from "http" to "streamable-http".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DokQCcnFTDAK959sE2cWDa
@claude
claude Bot requested a review from elrolio September 10, 2026 17:30
elrolio
elrolio previously approved these changes Sep 10, 2026

@elrolio elrolio left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated to include critical fixes from guidance in the agent plugins spec

@elrolio
elrolio marked this pull request as ready for review September 10, 2026 17:39
@elrolio
elrolio enabled auto-merge September 10, 2026 17:39
Resolve mcp.json conflict: keep AP-v1 $schema and streamable-http transport
from this branch, adopt main's oxfmt 2-space formatting. Reformat root
plugin.json to match the oxfmt convention main introduced.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DokQCcnFTDAK959sE2cWDa
Keep the root AP-v1 manifest's license consistent with the Descript
legal review (Apache-2.0) regardless of which PR lands first.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DokQCcnFTDAK959sE2cWDa
auto-merge was automatically disabled September 11, 2026 01:14

Merge commits are not allowed on this repository

@elrolio
elrolio merged commit e422ce4 into main Sep 11, 2026
1 check passed
@elrolio
elrolio deleted the claude/agent-plugins-conformance branch September 11, 2026 01:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants