Skip to content

Coordinate external marketplace sources before merging the plugins/slack/ refactor (#86) #88

Description

@WilliamBergamin

**Blocks merging #86

The plugins/slack/ refactor moves plugin.json, skills/, commands/, and the MCP configs from root into plugins/slack/. Our plugin is distributed through two external, SHA-pinned marketplace that resolves to the repo root, so we need to coordinate with https://github.com/anthropics/claude-plugins-official

1. Claude Code (https://github.com/anthropics/claude-plugins-official): must fix before/with the merge

Their entry for slack uses source: "url", which resolves at the repo root with no subpath support:

{ "source": { "source": "url", "url": "https://github.com/slackapi/slack-mcp-plugin.git", "sha": "<pin>" } }

After the refactor there is no root plugin.json / skills/, so a url source clones the root and resolves the plugin empty.

Warning

The SHA pin is bumped automatically. A bump/slack bot opens SHA-bump PRs multiple times per day. There is no manual gate on our side. The next automated bump after this refactor lands on main will advance the pin onto the refactored commit and break the listing. (The bot runs claude plugin validate before opening a bump PR, but that's a partial safety net, not something to rely on.)

Fix: open a PR to https://github.com/anthropics/claude-plugins-official switching the slack entry from url to git-subdir with "path": "plugins/slack" (the pattern their own airtable entry already uses):

{
  "source": {
    "source": "git-subdir",
    "url": "https://github.com/slackapi/slack-mcp-plugin.git",
    "path": "plugins/slack",
    "ref": "main"
  }
}

Sequencing (critical): that external PR must land before or at the same time as the refactor merges to our main. If the refactor lands first, the next auto-bump breaks the listing before the source-type fix is in.

2. Cursor Marketplace (cursor.com/marketplace/slack)

  • Current listing is pinned to an old frozen SHA (b647da9) and only reads the MCP url + CLIENT_ID from the then-root mcp.json; no auto-bumper found → the refactor does not break the current listing.
  • README install is a self-contained base64 MCP deeplink, independent of repo layout → fine.
  • But: a future re-pin or "Import from Repo" expects root mcp.json / .cursor-plugin/plugin.json, which no longer exist at root, and Cursor's subdirectory support is undocumented. Confirm with Cursor whether the listing needs updating for the subdir layout, or leave the frozen pin as-is.

Ordered checklist

Related follow-up (out of scope)

Repo rename slack-mcp-pluginslack-skills (tracked in #86's description). Orthogonal to this source-type fix and carries its own coordination risk; handle separately.

Open question to resolve first

The single biggest unknown is how the automated bump/slack bot handles a source object that is no longer url, whether it rewrites the whole source shape on each bump or only touches sha. This determines whether the git-subdir switch is a one-time change or needs bot-side support. Worth confirming with the bump-bot owners before drafting the external PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    choreMaintainer work: repo files, release scaffolding, general maintenancediscussionM-T: An issue where more input is needed to reach a decision

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions