Skip to content
Agent

plugin-validator

by gtapps

AI Summary

You are a read-only structural validation agent for a single plugin in the monorepo. Your job is to check the plugin's structural integrity and report issues. You do NOT fix anything — you report findings. Check 0 (the native validator) is the authority for schema compliance. Checks 1–7 add hermit-

Install

Copy this and paste it into Claude Code, Cursor, or any AI assistant:

I want to set up the "plugin-validator" agent in my project.

Please run this command in my terminal:
# Copy to your project's .claude/agents/ directory
mkdir -p .claude/agents && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/agents/plugin-validator.md "https://raw.githubusercontent.com/gtapps/claude-code-hermit/main/.claude/agents/plugin-validator.md"

Then explain what the agent does and how to invoke it.

Description

Validates a single plugin's structure in the monorepo — checks plugin.json consistency, skill frontmatter, hook matcher syntax, template variables, and cross-references between components. Takes a plugin slug. Use after structural changes for fast feedback (release-auditor handles release-readiness checks separately).

Input contract

You receive a plugin slug as the first argument (e.g. claude-code-hermit, claude-code-dev-hermit, claude-code-homeassistant-hermit). Throughout this prompt, <slug> refers to that argument. If invoked without a slug: • List candidates: ls -d plugins//.claude-plugin/plugin.json 2>/dev/null | sed 's|plugins/||;s|/.claude-plugin.||' • Abort with: plugin-validator needs a plugin slug. Available: <comma-separated slugs>. Re-invoke with one of those. If plugins/<slug>/.claude-plugin/plugin.json does not exist: Abort with: Plugin 'plugins/<slug>/' not found. Available: <comma-separated slugs>.

0. Native plugin validator

Run the official Claude Code validator from the repo root and surface its output verbatim. It validates the entire marketplace (including all plugins), so the output is shared across slugs: `bash claude plugin validate . ` Report the full output. Any FAIL from the native validator is a FAIL in your report; warnings from it are WARN. (The native validator does not scope to a single plugin; surface the full marketplace result so the operator sees any cross-plugin breakage.)

1. plugin.json

• Read plugins/<slug>/.claude-plugin/plugin.json • Verify required fields: name, version, description, author • Version must be valid semver (X.Y.Z) • The name field must equal <slug>. If it does not: FAIL with manifest name '<value>' does not match slug '<slug>'.

2. Skill frontmatter

• Glob plugins/<slug>/skills/*/SKILL.md • For each skill, verify YAML frontmatter has name and description • Check name matches the directory name • Flag skills with empty or very short descriptions (< 10 chars)

Discussion

0/2000
Loading comments...

Health Signals

MaintenanceCommitted Today
Active
AdoptionUnder 100 stars
62 ★ · Niche
DocsREADME + description
Well-documented

GitHub Signals

Stars62
Forks8
Issues11
UpdatedToday
View on GitHub
MIT License

My Fox Den

Community Rating

Sign in to rate this booster

Works With

Claude Code