Skip to content

feat(distribution): official Claude Code plugin — one plugin for every deployment #2713

Description

@os-zhuang

Context

With OAuth 2.1 (#2709) and the default-on MCP surface (#2712) merged, any deployment is self-serve connectable: paste the URL, log in through the browser. The remaining friction is distribution — users shouldn't need to hand-write MCP config or know what a SKILL.md is.

Per ADR-0036 Amendment C, the cross-agent distributable is ONE generic skill (packages/mcp/src/skill.ts, renderSkillMarkdown) — schema-free, valid for every deployment. That makes a single official Claude Code plugin sufficient for all customers, including private deployments: the deployment URL is the only per-customer input, and OAuth + Dynamic Client Registration handle identity against any deployment with no pre-registered credentials.

Deliverable

A public plugin repo (proposal: objectstack-ai/claude-plugin) installable via claude plugin marketplace add objectstack-ai/claude-plugin, containing:

  • .claude-plugin/plugin.json — plugin metadata (name objectstack, description, version)
  • .mcp.json — bundled MCP server config with env interpolation: {"objectstack": {"type": "http", "url": "${OBJECTSTACK_MCP_URL}"}} — set the env once, connect to your own deployment
  • skills/objectstack/SKILL.md — the generic skill rendered from renderSkillMarkdown() (URL placeholder variant)
  • commands/connect.md/objectstack:connect guided command: ask for the deployment URL, run claude mcp add --transport http <name> <url> on the user's behalf (supports multiple environments via distinct server names); OAuth login pops automatically
  • README: install + connect walkthrough for Claude Code, incl. the API-key fallback for headless use
  • Sync guard: CI (here or in the plugin repo) that fails when the plugin's SKILL.md drifts from @objectstack/mcp's renderSkillMarkdown() output — skill.ts stays the single source

Non-goals

  • No per-app or per-customer artifacts (ADR-0036 Amendment C)
  • claude.ai web users don't need this plugin (custom connector = paste URL); the plugin serves Claude Code/Desktop users

Refs #2698. Companion: the Setup "Connect an agent" page (objectui) should link to this plugin as the last step of its Claude Code card.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions