glean-plugin-checklist
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:
1. 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
2. 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.
3. 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>"
}
4. 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
5. 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>](plugins/<plugin-name>)** | <Description> | [README](plugins/<plugin-name>/README.md) |
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.jsonversion - Update
package.jsonversion - Update ALL
plugins/*/.claude-plugin/plugin.jsonversions
6. 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>notplugins/<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.jsonmanually - Update the main
README.mdmanually - Ensure versions match
Always run the verification commands after using /plugin-dev:create-plugin.
More from gleanwork/claude-plugins
code-exploration
Use when the user asks about internal code, implementations, patterns across repositories, or needs to understand how something is built. Triggers on "how is X implemented", "where is the code for", "find the implementation of", "what repos contain", "who wrote the code for", or code architecture questions about internal systems.
15glean-tools-guide
Use when Glean MCP tools are available and you need guidance on which tool to use, how to format queries, or best practices for enterprise search. This skill provides tool selection logic and query optimization for Glean integrations. Auto-triggers when mcp__glean tools are being considered.
14activity-synthesis
Use when the user asks about their recent work, what they've been doing, their contributions, or needs to recall past activity. Triggers on phrases like "what have I been working on", "what did I do last week", "my recent activity", "what have I accomplished", "summarize my work", "what projects am I on", or when the user needs to recall or reflect on their own work.
13project-awareness
Use when the user asks about project status, ownership, or context. Triggers on phrases like "status of X project", "who owns Y", "what's happening with Z", "project update", "where does the project stand", "what's the state of", "who's working on", or when needing quick project context without a full analysis.
13people-lookup
Use when the user asks about people, employees, team members, org structure, or expertise. Triggers on phrases like "who works on", "who is responsible for", "who owns", "find someone who knows", "who should I talk to", "who reports to", "team members", "org chart", or any question starting with "who" about the company.
12enterprise-search
Use when the user asks about company documents, internal wikis, policies, specifications, design docs, RFCs, or enterprise knowledge. Triggers on phrases like "find the doc about", "what's our policy on", "where is the spec for", "company guidelines", "internal documentation", or when searching for information that would be in enterprise systems rather than the local codebase.
12