Help us improve
Share bugs, ideas, or general feedback.
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.
npx claudepluginhub mistakeknot/interagency-marketplace --plugin interplugHow 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.
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.
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Guides systematic root-cause debugging via triage checklist for test failures, build breaks, unexpected behavior, logs, and errors.
Share bugs, ideas, or general feedback.
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/...