Use when verifying a plugin is correctly structured before testing or publishing — checks plugin.json schema, directory layout, hooks declaration, skill structure, and file permissions.
From interplugnpx claudepluginhub mistakeknot/interagency-marketplace --plugin interplugThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides agent creation for Claude Code plugins with file templates, frontmatter specs (name, description, model), triggering examples, system prompts, and best practices.
Verify a Claude Code plugin follows structural requirements and conventions.
Given a plugin directory, check each item below. Report findings as PASS/WARN/FAIL.
.claude-plugin/plugin.json exists and is valid JSONname field present (lowercase, hyphens only)version field present (semver format)description field present and descriptive.claude-plugin/ besides manifestsskills/ at plugin root (not inside .claude-plugin/)commands/ at plugin rootSKILL.md with valid YAML frontmatter${CLAUDE_PLUGIN_ROOT} (not hardcoded)./hooks/ directory exists, hooks/hooks.json is valid JSONchmod +x)${CLAUDE_PLUGIN_ROOT} for paths.sh scripts have executable permission#!/usr/bin/env shebangs with missing interpreters# Validate JSON
jq . .claude-plugin/plugin.json
# Check for hardcoded paths
grep -r '/Users/\|/home/\|C:\\' .claude-plugin/ hooks/ --include='*.json'
# Check permissions
find . -name '*.sh' ! -perm -u+x
# Check unreferenced skills
diff <(jq -r '.skills[]' .claude-plugin/plugin.json | sed 's|^\./skills/||' | sort) <(ls skills/ | sort)
Plugin Validation: {plugin-name} v{version}
──────────────────────────────────────
Manifest: {N}/5 pass
Layout: {N}/5 pass
Paths: {N}/4 pass
Hooks: {N}/4 pass
Permissions: {N}/3 pass
──────────────────────────────────────
Overall: {PASS | WARN (N issues) | FAIL (N issues)}
Issues:
- [WARN] Unreferenced skill directory: old-skill/
- [FAIL] Hardcoded path in hooks.json: /Users/name/...