Claude-code-plugins-plus plugin-auditor
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/examples/jeremy-plugin-tool/skills/plugin-auditor" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-plugin-auditor-f45715 && rm -rf "$T"
plugins/examples/jeremy-plugin-tool/skills/plugin-auditor/SKILL.mdPlugin Auditor
Overview
Audits Claude Code plugins for security vulnerabilities, best practices compliance, CLAUDE.md standards adherence, and marketplace readiness. Produces a scored audit report covering eight categories: security, best practices, CLAUDE.md compliance, marketplace compliance, git hygiene, MCP-specific checks, performance, and UX.
Prerequisites
- Read access to the target plugin directory and repository-level
.claude-plugin/marketplace.extended.json
installed for JSON schema validationjq
andgrep
available on PATH for pattern scanningfind- Familiarity with the plugin structure defined in CLAUDE.md (
,.claude-plugin/plugin.json
,README.md
, component directories)LICENSE
Instructions
- Identify the target plugin path (e.g.,
). Confirm the directory exists and containsplugins/security/plugin-name/
..claude-plugin/plugin.json - Run a security scan across all plugin files (see
for full pattern list):${CLAUDE_SKILL_DIR}/references/audit-categories.md- Search for hardcoded secrets, API keys, AWS access keys (
), and private key headers.AKIA... - Detect dangerous commands (
,rm -rf /
,eval()
) and command injection vectors.exec() - Flag suspicious URLs (non-HTTPS, raw IP addresses) and obfuscated code (base64 decode, hex encoding).
- Search for hardcoded secrets, API keys, AWS access keys (
- Validate plugin structure and best practices (see
):${CLAUDE_SKILL_DIR}/references/audit-process.md- Confirm required files exist:
,plugin.json
,README.md
.LICENSE - Verify semantic versioning format in
.plugin.json - Check that all
scripts have execute permissions..sh - Scan for
/TODO
comments without linked issues andTODO
in production code.console.log()
- Confirm required files exist:
- Check CLAUDE.md compliance:
- Verify the plugin follows the directory structure specified in the repository CLAUDE.md.
- Confirm
contains only allowed fields (plugin.json
,name
,version
,description
,author
,repository
,homepage
,license
).keywords - Validate that hooks use
instead of hardcoded paths.${CLAUDE_PLUGIN_ROOT}
- Verify marketplace compliance:
- Confirm the plugin has an entry in
with matching name, version, category, and source path.marketplace.extended.json - Check for duplicate plugin names in the catalog.
- Confirm the plugin has an entry in
- Assess git hygiene: no committed
,node_modules/
files, large binaries, or merge conflict markers..env - For MCP plugins: validate
dependencies, TypeScript configuration,package.json
indist/
, and build scripts..gitignore - Generate a scored audit report following the format in
, with per-category scores out of 10 and an overall quality rating.${CLAUDE_SKILL_DIR}/references/audit-report-format.md
Output
A structured audit report containing:
- Plugin identification (name, version, category, audit date)
- Per-category results: passed checks, failed checks with fix commands, warnings with recommendations
- Numeric quality scores: Security (x/10), Best Practices (x/10), Compliance (x/10), Documentation (x/10)
- Overall score and rating (Excellent / Good / Needs Work / Failed)
- Prioritized recommendations list with estimated fix time
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Plugin directory not found | Incorrect path or plugin does not exist | Verify the path matches structure |
missing or invalid | File absent or malformed JSON | Create from template or fix JSON syntax with |
| Marketplace entry missing | Plugin not yet added to catalog | Add entry to and run |
| Version mismatch detected | and carry different versions | Update the stale file to match the authoritative version |
| Permission denied during scan | Restricted file access | Request read permissions on the plugin directory tree |
Examples
Full audit before publishing: Trigger: "Audit the security-scanner plugin." Process: Run all eight audit categories against
plugins/security/security-scanner/. Generate a comprehensive report with per-category scores. Report overall rating and prioritized fix list (see ${CLAUDE_SKILL_DIR}/references/examples.md).
Publish readiness check: Trigger: "Is this plugin safe to publish?" Process: Prioritize security audit (critical), then marketplace compliance and quality scoring. Produce a publish readiness assessment with pass/fail verdict.
Featured status review: Trigger: "Quality review before featured status." Process: Run full audit with elevated quality thresholds. Apply featured plugin requirements (higher documentation and test coverage standards). Recommend approve or reject.
Resources
-- all eight audit categories with specific checks${CLAUDE_SKILL_DIR}/references/audit-categories.md
-- step-by-step audit execution procedures${CLAUDE_SKILL_DIR}/references/audit-process.md
-- report template with scoring rubric${CLAUDE_SKILL_DIR}/references/audit-report-format.md
-- audit scenario walkthroughs${CLAUDE_SKILL_DIR}/references/examples.md
-- error handling patterns${CLAUDE_SKILL_DIR}/references/errors.md