Glean Plugin Marketplace Checklist
This skill provides the checklist for correctly adding or modifying plugins in the glean-claude-plugins marketplace repository.
Repository Structure
glean-claude-plugins/ ├── .claude-plugin/ │ └── marketplace.json # CRITICAL: Plugin registry - must list all plugins ├── plugins/ │ └── <plugin-name>/ │ ├── .claude-plugin/ │ │ └── plugin.json # Plugin manifest with version │ ├── README.md # Plugin documentation │ ├── commands/ # Slash commands │ ├── skills/ # Auto-triggered skills │ └── agents/ # Autonomous agents ├── README.md # Main repo README - must list all plugins └── package.json # NPM package with version
Adding a New Plugin Checklist
When creating a new plugin, you MUST complete ALL of these steps:
- Create Plugin Directory Structure
mkdir -p plugins/<plugin-name>/.claude-plugin mkdir -p plugins/<plugin-name>/commands mkdir -p plugins/<plugin-name>/skills mkdir -p plugins/<plugin-name>/agents
- Create plugin.json (REQUIRED)
Path: plugins/<plugin-name>/.claude-plugin/plugin.json
{ "name": "<plugin-name>", "version": "<MATCH MARKETPLACE VERSION>", "description": "<Brief description>. Requires glean-core.", "author": { "name": "Glean", "email": "steve.calvert@glean.com", "url": "https://glean.com" }, "homepage": "https://docs.glean.com/administration/platform/mcp/about", "repository": "https://github.com/gleanwork/claude-plugins", "license": "MIT", "keywords": ["glean", "mcp", "<relevant-keywords>"] }
CRITICAL: The version MUST match the version in .claude-plugin/marketplace.json .
- Add to marketplace.json (REQUIRED)
Path: .claude-plugin/marketplace.json
Add entry to the plugins array:
{ "name": "<plugin-name>", "source": "./plugins/<plugin-name>", "description": "<One-line description for marketplace listing>" }
- Create Plugin README.md (REQUIRED)
Path: plugins/<plugin-name>/README.md
Include:
-
Plugin description
-
Prerequisites (usually "Requires glean-core")
-
Available commands
-
Available skills
-
Available agents
-
Usage examples
- Update Main README.md (REQUIRED)
Path: README.md
Update THREE sections:
a) Quick Start section - Add install command:
/plugin install <plugin-name>
b) Plugins table - Add row:
| <plugin-name> | <Description> | README |
c) "Which Plugin Do I Need?" section - Add use case:
| <Use case description> | glean-core + <plugin-name> |
Version Management
All plugins should have the same version as the marketplace:
-
Check current version: jq '.version' .claude-plugin/marketplace.json
-
Set plugin version to match in plugins/<plugin-name>/.claude-plugin/plugin.json
When releasing a new version:
-
Update .claude-plugin/marketplace.json version
-
Update package.json version
-
Update ALL plugins/*/.claude-plugin/plugin.json versions
- Add to .release-it.json bumper (REQUIRED)
Path: .release-it.json
Add an entry to the plugins["@release-it/bumper"].out array, after the last existing entry:
{ "file": "plugins/<plugin-name>/.claude-plugin/plugin.json", "path": "version" }
If you skip this step, the plugin version will fall behind the marketplace version on every future release. This failure is silent — no error will be thrown and no CI check will catch it.
Verify the entry was added:
node .claude/skills/glean-plugin-checklist/scripts/check-bumper.mjs <plugin-name>
Verification Commands
After adding a plugin, verify with:
Check marketplace.json is valid JSON
jq . .claude-plugin/marketplace.json
List all plugins in marketplace
jq -r '.plugins[].name' .claude-plugin/marketplace.json
Check all plugin versions match
for p in plugins/*/.claude-plugin/plugin.json; do echo "$p: $(jq -r '.version' "$p")" done
Check README mentions the plugin
grep "<plugin-name>" README.md
Check .release-it.json bumper includes the plugin
node .claude/skills/glean-plugin-checklist/scripts/check-bumper.mjs <plugin-name>
Common Mistakes to Avoid
-
Forgetting marketplace.json - Plugin won't appear in marketplace
-
Version mismatch - Can cause installation issues
-
Missing README update - Users won't know plugin exists
-
Wrong source path - Use ./plugins/<name> not plugins/<name>
Using plugin-dev:create-plugin
The /plugin-dev:create-plugin command can help scaffold the plugin, but you MUST still:
-
Add to .claude-plugin/marketplace.json manually
-
Update the main README.md manually
-
Ensure versions match
Always run the verification commands after using /plugin-dev:create-plugin .