From interplug
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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/interplug:validateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Verify a Claude Code plugin follows structural requirements and conventions.
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/...
npx claudepluginhub mistakeknot/interagency-marketplace --plugin interplugGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.