Automatically validates claude code plugin structure, schemas, and compliance when user mentions validate plugin, check plugin, or plugin errors. runs comprehensive validation specific to claude-code-plugins repository standards.
Automatically validates Claude Code plugins against repository standards, checking structure, JSON schemas, frontmatter, permissions, security, and marketplace compliance - optimized for claude-code-plugins repository.
.claude-plugin/plugin.json existsREADME.md exists and not emptyLICENSE file exists# Required fields:
- name (kebab-case, lowercase, hyphens only)
- version (semantic versioning x.y.z)
- description (clear, concise)
- author.name
- author.email
- license (MIT, Apache-2.0, etc.)
- keywords (array, at least 2)
# Optional but recommended:
- repository (GitHub URL)
- homepage (docs URL)
For Commands (commands/*.md):
---
name: command-name
description: Brief description
model: sonnet|opus|haiku
---
For Agents (agents/*.md):
---
name: agent-name
description: Agent purpose
model: sonnet|opus|haiku
---
For Skills (skills/*/SKILL.md):
---
name: Skill Name
description: What it does AND when to use it
allowed-tools: Tool1, Tool2, Tool3 # optional
---
Validates proper hierarchy:
plugin-name/
├── .claude-plugin/ # Required
│ └── plugin.json # Required
├── README.md # Required
├── LICENSE # Required
├── commands/ # Optional
│ └── *.md
├── agents/ # Optional
│ └── *.md
├── skills/ # Optional
│ └── skill-name/
│ └── SKILL.md
├── hooks/ # Optional
│ └── hooks.json
└── mcp/ # Optional
└── *.json
# All .sh files must be executable
find . -name "*.sh" ! -perm -u+x
# Should return empty
# All JSON must be valid
jq empty plugin.json
jq empty marketplace.extended.json
jq empty hooks/hooks.json
For hooks:
${CLAUDE_PLUGIN_ROOT} not absolute pathsWhen activated, I will:
Identify Plugin
Run Comprehensive Checks
# Structure validation
./scripts/validate-all.sh plugins/category/plugin-name/
# JSON validation
jq empty .claude-plugin/plugin.json
# Frontmatter check
python3 scripts/check-frontmatter.py
# Permission check
find . -name "*.sh" ! -perm -u+x
# Security scan
grep -r "password\|secret\|api_key" | grep -v placeholder
Generate Report
🔍 PLUGIN VALIDATION REPORT
Plugin: plugin-name
Location: plugins/category/plugin-name/
✅ PASSED CHECKS (8/10)
- Required files present
- Valid plugin.json schema
- Proper frontmatter format
- Directory structure correct
- No security issues
- Marketplace compliance
- README complete
- JSON valid
❌ FAILED CHECKS (2/10)
- Script permissions: 3 .sh files not executable
Fix: chmod +x scripts/*.sh
- Marketplace version mismatch
plugin.json: v1.2.0
marketplace.extended.json: v1.1.0
Fix: Update marketplace.extended.json to v1.2.0
⚠️ WARNINGS (1)
- README missing usage examples
Recommendation: Add ## Usage section with examples
OVERALL: FAILED (2 critical issues)
Fix issues above before committing.
I can automatically fix:
chmod +x)jq reformat)For claude-code-plugins repo:
.claude-plugin/marketplace.extended.jsonclaude-code-plugins-plusValidation results match GitHub Actions:
.github/workflows/validate-plugins.ymlUser says: "Validate the skills-powerkit plugin"
I automatically:
User says: "Check if my plugin is ready to commit"
I automatically:
User says: "Why is my plugin failing CI?"
I automatically:
npx skills add BbgnsurfTech/plugin-validator下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer