refactor: move plugin into plugins/slack/ and add marketplace.json#86
Draft
WilliamBergamin wants to merge 1 commit into
Draft
refactor: move plugin into plugins/slack/ and add marketplace.json#86WilliamBergamin wants to merge 1 commit into
WilliamBergamin wants to merge 1 commit into
Conversation
Restructure the repo so the plugin lives under plugins/slack/ and add a top-level .claude-plugin/marketplace.json, per the FY27Q2 Technical Specification. This enables a Slack-hosted marketplace and a future multi-plugin layout while keeping the plugin's skills, commands, and MCP configuration unchanged. Dev/test/release tooling stays at the repo root and is re-pointed at plugins/slack/ via a PLUGIN_ROOT constant (tests/config.py, scripts/sync_versions.py, scripts/cursor.py) and updated rumdl globs (pyproject.toml). scripts/cursor.py flattens the plugins/slack/ prefix on copy so the local Cursor install matches the root-style layout Cursor expects. Docs and the stale plugin homepage are updated to match. Verified: make lint/typecheck/test-unit, sync_versions, claude plugin validate (marketplace + plugin), local Claude Code install (slack@slack-skills), and make cursor-install all pass. Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Restructures the repo so the plugin lives under
plugins/slack/and adds a top-level.claude-plugin/marketplace.json, per the FY27Q2 Technical Specification (Step 5). This enables a Slack-hosted marketplace and a future multi-plugin layout while keeping the plugin's skills, commands, and MCP configuration unchanged.Layout: the two
.claude-plugin/dirs are deliberate — the root one holdsmarketplace.json, the plugin's own holdsplugin.json.git mv, history preserved):.claude-plugin/,.cursor-plugin/,.mcp.json,.cursor-mcp.json,skills/,commands/→plugins/slack/.claude-plugin/marketplace.json(marketplaceslack-skills, plugin sourced at./plugins/slack)plugins/slack/via aPLUGIN_ROOTconstant (tests/config.py,scripts/sync_versions.py,scripts/cursor.py) and updated rumdl globs (pyproject.toml).scripts/cursor.pyflattens theplugins/slack/prefix on copy so the local Cursor install matches the root-style layout Cursor expects.homepage(slack-mcp-cursor-plugin→slack-mcp-plugin)Distribution safety
Verified end-to-end with the real Claude Code CLI (v2.1.205):
claude plugin validatepasses for both the marketplace and the plugin, and/plugin marketplace add ./+install slack@slack-skillsinstalls cleanly (cache flattened correctly).The official
claude-plugins-officiallisting is SHA-pinned to the current HEAD, so published installs keep working the moment this merges.Testing
make lint— ✅ (rumdl finds all 14 md files at new paths)make typecheck— ✅ 16 files, no issuesmake test-unit— ✅ 18/18 (skill discovery resolves new paths)python scripts/sync_versions.py— ✅ writes intoplugins/slack/manifests, formatting preservedclaude plugin validate .and./plugins/slack— ✅ both passclaude plugin marketplace add ./+install slack@slack-skills— ✅ installs, cache flattenedmake cursor-install— ✅ 16 files land flattened (noplugins/slack/prefix)Notes
Follow-ups tracked separately (out of scope here):
anthropics/claude-plugins-official: switch theslackentry from aurlsource togit-subdirwith"path": "plugins/slack". Must land before that listing's pinned SHA advances past this restructure, or the official listing breaks.slack-mcp-plugin→slack-skills(GitHub redirects cover it; never recreate the old name).Requirements
make testand the tests pass. (make test-unit/lint/typecheckpass;make test-evalrequires Gemini keys — runs in CI.)🤖 Generated with Claude Code