Skip to content

Adopt agent-plugins-spec 1.0.0 (additive, no deletions) - #84

Open
gjethwani-figma wants to merge 1 commit into
figma:mainfrom
gjethwani-figma:adopt-agent-plugins-spec
Open

Adopt agent-plugins-spec 1.0.0 (additive, no deletions)#84
gjethwani-figma wants to merge 1 commit into
figma:mainfrom
gjethwani-figma:adopt-agent-plugins-spec

Conversation

@gjethwani-figma

Copy link
Copy Markdown

What

Adds the two spec-canonical root files defined by agent-plugins-spec 1.0.0 so spec-aware clients discover this plugin via the standard layout:

  • plugin.json — conforms to plugin.schema.json 1.0.0 ($schema + name required). Mirrors the metadata already in .github/plugin/plugin.json.
  • mcp.json — conforms to mcp.schema.json 1.0.0. Declares the remote Figma MCP server as type: "streamable-http" (the spec's constant) pointing at https://mcp.figma.com/mcp.

Why

Cross-company Agent Plugins spec is being announced; adopting it here is a small, structural change that unifies the plugin folder/JSON layout. The awesome-copilot marketplace listing is unaffected — it continues to resolve to this repo.

Scope — intentionally additive, nothing deleted

This PR adds two files and changes/removes nothing, so no live integration is touched:

  • Bundled skills/, workflow-skills/, figma-power/kept.
  • Per-client manifests .claude-plugin/, .cursor-plugin/, gemini-extension.jsonkept.
  • Existing .mcp.jsonkept as-is (still type: "http" for current VS Code consumption).

Retiring the bundle and unifying the per-client manifests are deliberately left for a separate follow-up PR.

Notes

  • The VS Code-specific _meta block (tool titles / icon) from .mcp.json is omitted from mcp.json: the spec's streamable-http server sets additionalProperties: false, so only type/url/headers are permitted. _meta remains in .mcp.json.
  • Both files validated against the 1.0.0 schemas (required fields, allowed keys, name pattern, server type constant).

🤖 Generated with Claude Code

Add spec-canonical root manifest files so agent-plugins-spec-aware
clients discover the Figma plugin via the standard layout:

- plugin.json  — conforms to plugin.schema.json 1.0.0 ($schema + name
  required; mirrors existing .github/plugin metadata)
- mcp.json     — conforms to mcp.schema.json 1.0.0; declares the remote
  Figma MCP server as type "streamable-http" (the spec value; the
  existing .mcp.json keeps "http" for current VS Code consumption)

No existing files are changed or removed. The bundled skills/,
workflow-skills/, figma-power/ and the per-client manifests
(.claude-plugin, .cursor-plugin, gemini-extension.json) are untouched,
so no live integration is affected. The VS Code-specific _meta block
(tool titles/icon) is intentionally omitted from mcp.json because the
spec's streamable-http server sets additionalProperties:false; it
remains in .mcp.json.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@digitarald

Copy link
Copy Markdown

The new plugin.json and mcp.json look schema-correct, and the immediate-child skills/ layout matches Agent Plugins 1.0. Nice to see Figma adopting the portable entrypoint.

One behavior caveat: this is not entirely additive for spec-aware VS Code versions. A root plugin.json with the Agent Plugins $schema takes precedence over legacy metadata. VS Code then reads only root mcp.json and ignores .mcp.json, so the existing VS Code-specific _meta block—including tool titles and the icon—is no longer consumed. The MCP server should continue to work, but its presentation metadata may regress.

I suggest updating the PR description to make that behavior change explicit and verifying the resulting VS Code experience. Longer term, this metadata likely belongs under the com.github.copilot client namespace once VS Code defines semantics for it; until then, there is no spec-valid place for _meta in the portable mcp.json.

Also worth documenting that workflow-skills/ is not a portable component path. Agent Plugins clients discover only immediate child skill directories under skills/, so those workflow skills remain client-specific unless they are moved or projected separately.

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.

2 participants