| name | reviewing-plugin-marketplace |
| description | Review Claude Code plugin marketplace configurations against official best practices. Use when analyzing marketplace.json and plugin.json files for structural issues, common errors, path validation, and consistency with Anthropic's official format. Detects repository URL mismatches, incorrect source paths, and missing required fields. |
| license | Apache-2.0 |
| metadata | [object Object] |
Reviewing Plugin Marketplace Configurations
Comprehensive review of Claude Code plugin marketplace and plugin configurations against official best practices and common pitfalls.
Quick Start
Automated Review (Recommended)
Run the verification script:
bash scripts/verify-marketplace.sh [marketplace-directory]
This automatically checks:
- marketplace.json structure
- Skills paths validation
- Git remote URL
- README.md repository references
- plugin.json presence (warns if exists)
Manual Review
- Ask user for marketplace directory (e.g.,
.claude-plugin/) - Read marketplace.json and plugin.json (if exists)
- Check against official format and common errors
- Provide detailed feedback with priorities
Example review output:
## Critical Issues
- ❌ Repository URL mismatch: README.md uses "owner-a/repo" but marketplace.json uses "owner-b/repo"
- ❌ Source path "./.claude-plugin" does not exist
## Important Issues
- ⚠ plugin.json exists but Anthropic's official format uses marketplace.json only
- ⚠ Skills path "./skills/missing-skill" not found
## Compliance Score
- Structure: ✓ Valid JSON
- Required fields: ✓ Present
- Path validation: ✗ 2 invalid paths
Review Process
Step 1: Read Configuration Files
Read and analyze:
.claude-plugin/marketplace.json(required for marketplaces).claude-plugin/plugin.json(optional, check if present)README.md(for repository URL consistency)- Git remote URL (if in git repository)
Step 2: Validate marketplace.json Structure
Required fields:
-
name- Marketplace identifier -
owner.name- Owner name -
plugins- Array of plugin definitions
Each plugin must have:
-
name- Plugin identifier -
source- Source path (must start with./, e.g.,"./plugins/plugin-name") -
description- What the plugin does
Recommended fields:
-
metadata.description- Marketplace description -
metadata.version- Version number
Note: skills field specifies skills directory path (root-relative, e.g., "./plugins/plugin-name/skills/")
Optional fields (context-dependent):
-
strict: false- Only needed if plugins lack plugin.json files (see references/common-errors.md)
Step 3: Check Common Errors
Repository URL consistency:
- Compare URLs in marketplace.json, plugin.json, README.md, git remote
- All should point to the same repository
- Common issue: Using organization name instead of personal username
Source path validation:
- Verify
sourcepath exists - Must start with
./(e.g.,"./plugins/plugin-name") - Check that source directory contains
skills/subdirectory with SKILL.md files
Skills path validation:
- Verify
skillspath exists (root-relative, e.g.,"./plugins/plugin-name/skills/") - Directory should contain subdirectories with SKILL.md files
plugin.json conflicts:
- Anthropic's official format uses marketplace.json only
- Having both may cause confusion
- If both exist, ensure names match
README.md consistency checks:
- Skills documentation: Verify all skills in marketplace.json are documented in README.md
- Check "Skills Included" section lists each skill from the
skillsarray - Each skill should have description and "Use when" guidance
- Check "Skills Included" section lists each skill from the
- Project Structure accuracy:
- If
plugin.jsonmentioned in README but doesn't exist, suggest usingmarketplace.json - Verify structure diagram matches actual files in
.claude-plugin/
- If
- Permissions section completeness:
- Check if README.md settings.json examples include all skills from marketplace.json
- Example:
"Skill(skill-name)"for each skill should be in permissions array
- Repository references: Ensure consistent GitHub URLs across README installation examples
Step 4: Compare with Anthropic Format
See references/anthropic-format.md for official structure.
Key patterns from Anthropic:
- marketplace.json at
.claude-plugin/marketplace.json - No plugin.json (marketplace.json only)
source: "./plugins/plugin-name"pointing to plugin directory (must start with./)strict: false(optional - only needed when plugin.json is missing)skillsfield specifies skills directory (root-relative path)
Step 5: Generate Feedback
Organize findings by priority:
Critical Issues (breaks functionality):
- enabledPlugins format error (array instead of object)
- Repository URL mismatch with git remote
- Invalid source path (doesn't exist)
- Missing required fields
- Invalid JSON syntax
Important Issues (causes confusion):
- Repository URL inconsistency across files
- Invalid skills paths
- Conflicting plugin.json and marketplace.json
- Missing recommended fields
Suggestions (best practices):
- Add
metadatasection (improves discoverability) - Add
strict: falseonly if plugins lack plugin.json (otherwise no effect) - Follow Anthropic's single-file pattern
- Explicit
skillsarray
Common Issues Reference
See references/common-errors.md for detailed error patterns and solutions.
Top 3 issues from real experience (by actual impact):
enabledPlugins format error ⚠️ BREAKS FUNCTIONALITY
- Error: Plugins don't load, no activation
- Cause: Using array
["plugin@marketplace"]instead of object{"plugin@marketplace": true} - Fix: Change to object format in settings.json
- This is the #1 cause of "plugin not working" issues
Repository URL mismatch
- Error:
Plugin 'name' not found in marketplace - Cause: README/settings use different owner than actual git remote
- Fix: Ensure all URLs match
git remote -v
- Error:
Wrong source path
- Error:
Plugin 'name' not found - Cause: Source points to non-existent directory
- Fix: Use
"./"for root, verify path exists
- Error:
Output Format
Structure review with these sections:
- Summary: Overall assessment
- Critical Issues: Must fix (with file:line references)
- Important Issues: Should fix (with explanations)
- Suggestions: Best practices alignment
- Compliance Score: Quick visual assessment
Tips for Effective Reviews
Be Specific: Don't say "URL is wrong" - say "marketplace.json line 7 uses 'owner-a/repo' but git remote shows 'owner-b/repo'"
Verify Paths: Actually check if files/directories exist, don't just validate format
Check Consistency: Cross-reference all files that mention repository URLs
Use Official Examples: Compare against Anthropic's format at https://github.com/anthropics/skills
References
Anthropic Format: See references/anthropic-format.md for official marketplace.json structure
Common Errors: See references/common-errors.md for detailed error patterns and solutions