mcpField
V
validate-plugin

validate-plugin

github.com/ruvnetTesting & quality80.0k741 installsUpdated today
Repository

About validate-plugin

A validation skill for checking whether a Claude Code plugin follows the expected structure and metadata format. It verifies plugin manifests, skill and agent frontmatter, file locations, and MCP tool references, then reports results with fix suggestions.

Key features

  1. 01Check plugin directory structure
  2. 02Validate plugin.json fields and arrays
  3. 03Check skill and agent frontmatter
  4. 04Verify file locations
  5. 05Validate MCP tool references
  6. 06Report results with fix suggestions

Use cases

  1. 01Validate a plugin before publishing
  2. 02Find structural errors after plugin edits
  3. 03Check skill and agent metadata

MCP support

Checks that tools listed in allowed-tools use valid mcp__plugin_ruflo-core_ruflo__* identifiers.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/ruvnet/ruflo --skill validate-plugin

After installing, type/validate-pluginin Claude Code to confirm it loaded.

Details

From the project README

Validate Plugin

Validate that a plugin follows the correct Claude Code plugin format.

When to use

After creating or modifying a plugin, run validation to catch structural issues before publishing.

Checks performed

  1. Directory structure — .claude-plugin/plugin.json exists at plugin root
  2. plugin.json schema — required fields present (name, description, version)
  3. Skills auto-discovery — every skills/<name>/SKILL.md is a valid skill (Claude Code auto-discovers from directory; plugin.json MUST NOT list a skills array)
  4. Commands auto-discovery — every commands/<name>.md is a valid command (auto-discovered; no commands array in plugin.json)
  5. Agents auto-discovery — every agents/<name>.md is a valid agent (auto-discovered; no agents array in plugin.json)
  6. No legacy arrays in plugin.json — presence of skills, commands, or agents arrays in plugin.json is a validation error (they cause Claude Code to reject the plugin)
  7. SKILL.md frontmatter — each skill has name, description, and allowed-tools (no wildcards)
  8. Agent frontmatter — each agent has name, description, and model
  9. No files in wrong locations — skills/commands/agents not inside .claude-plugin/
  10. MCP tool references — tools in allowed-tools are valid mcp__plugin_ruflo-core_ruflo__* identifiers

Steps

  1. Read the plugin's plugin.json and assert no skills / commands / agents arrays present
  2. Glob skills/*/SKILL.md, commands/*.md, agents/*.md and validate each frontmatter
  3. For each SKILL.md, verify frontmatter has required fields and allowed-tools has no wildcards
  4. For each agent .md, verify frontmatter has required fields
  5. Report pass/fail for each check with actionable fix suggestions

Comments

Markdown supported