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.
This skill inherits all available tools. When active, it can use any tool Claude has access to.
README.mdreferences/anthropic-format.mdreferences/common-errors.mdscripts/verify-marketplace.shComprehensive review of Claude Code plugin marketplace and plugin configurations against official best practices and common pitfalls.
Run the verification script:
bash scripts/verify-marketplace.sh [marketplace-directory]
This automatically checks:
.claude-plugin/)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
Read and analyze:
.claude-plugin/marketplace.json (required for marketplaces).claude-plugin/plugin.json (optional, check if present)README.md (for repository URL consistency)Required fields:
name - Marketplace identifierowner.name - Owner nameplugins - Array of plugin definitionsEach plugin must have:
name - Plugin identifiersource - Source path (must start with ./, e.g., "./plugins/plugin-name")description - What the plugin doesRecommended fields:
metadata.description - Marketplace descriptionmetadata.version - Version numberNote: 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)Repository URL consistency:
Source path validation:
source path exists./ (e.g., "./plugins/plugin-name")skills/ subdirectory with SKILL.md filesSkills path validation:
skills path exists (root-relative, e.g., "./plugins/plugin-name/skills/")plugin.json conflicts:
README.md consistency checks:
skills arrayplugin.json mentioned in README but doesn't exist, suggest using marketplace.json.claude-plugin/"Skill(skill-name)" for each skill should be in permissions arraySee references/anthropic-format.md for official structure.
Key patterns from Anthropic:
.claude-plugin/marketplace.jsonsource: "./plugins/plugin-name" pointing to plugin directory (must start with ./)strict: false (optional - only needed when plugin.json is missing)skills field specifies skills directory (root-relative path)Organize findings by priority:
Critical Issues (breaks functionality):
Important Issues (causes confusion):
Suggestions (best practices):
metadata section (improves discoverability)strict: false only if plugins lack plugin.json (otherwise no effect)skills arraySee references/common-errors.md for detailed error patterns and solutions.
Top 3 issues from real experience (by actual impact):
enabledPlugins format error ⚠️ BREAKS FUNCTIONALITY
["plugin@marketplace"] instead of object {"plugin@marketplace": true}Repository URL mismatch
Plugin 'name' not found in marketplacegit remote -vWrong source path
Plugin 'name' not found"./" for root, verify path existsStructure review with these sections:
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
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