validate-plugin — скилл для Claude Code: проверка и установка
Проверяет структуру плагина Claude Code, фронтматтер и ссылки на MCP-инструменты перед публикацией или после изменений.
npx skills add ruvnet/ruflo --skill validate-plugin -a claude-codeЧто делает validate-plugin
Скилл проверяет наличие .claude-plugin/plugin.json, обязательные поля манифеста, формат версии и совпадение имени плагина с именем каталога. Он также ищет устаревшие массивы skills, commands и agents в plugin.json: Claude Code отклоняет плагин с такими массивами.
Для скиллов, команд и субагентов он просматривает пути skills/*/SKILL.md, commands/*.md и agents/*.md. Проверяются обязательные поля фронтматтера, запрет подстановочных символов в allowed-tools и размещение файлов вне .claude-plugin/.
Скилл сверяет MCP-инструменты с выводом npx @claude-flow/cli@latest mcp tools и отмечает опечатки в именах. В репозитории ruflo он запускает скрипты аудита; это повод исправить ошибку до публикации плагина.
Какие задачи решает
- проверить структуру каталога плагина
- найти устаревшие массивы в
plugin.json - проверить фронтматтер
SKILL.md - сверить имена MCP-инструментов
- обнаружить файлы в неверных каталогах
Примеры запросов агенту
- Проверь плагин в каталоге
./my-pluginс помощьюvalidate-plugin. - Запусти
validate-pluginдляplugins/exampleи покажи ошибки фронтматтера. - Проверь
./my-pluginна неверные ссылки на MCP-инструменты черезvalidate-plugin.
Как установить validate-plugin
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill validate-plugin -a claude-code2Вручную: положить файлы
~/.claude/skills/validate-plugin/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/validate-plugin/
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill validate-plugin -a codex2Вручную: положить файлы
.agents/skills/validate-plugin/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill validate-plugin -a cursor2Вручную: положить файлы
.cursor/skills/validate-plugin/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install ruvnet/ruflo validate-plugin2Вручную: положить файлы
.github/skills/validate-plugin/SKILL.md1Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill validate-plugin -a gemini-cli2Командой платформы
gemini skills install https://github.com/ruvnet/ruflo --path plugins/ruflo-plugin-creator/skills/validate-pluginВручную: положить файлы
.devin/skills/validate-plugin/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill validate-plugin -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о validate-plugin
Как установить validate-plugin в Claude Code?
Выполните npx skills add ruvnet/ruflo --skill validate-plugin -a claude-code. Файл скилла размещается в ~/.claude/skills/validate-plugin/SKILL.md.
Что делает validate-plugin?
Он проверяет формат плагина Claude Code: манифест, автопоиск скиллов, команд и субагентов, а также фронтматтер файлов. Отчёт содержит результат каждой проверки и предложения по исправлению.
Как validate-plugin проверяет MCP-инструменты?
Скилл сопоставляет имена из allowed-tools с реальным списком, полученным через npx @claude-flow/cli@latest mcp tools. Инструменты должны использовать префикс mcp__plugin_ruflo-core_ruflo__*.
Исходный текст
SKILL.md · MIT
--- name: validate-plugin description: Validate a Claude Code plugin structure, frontmatter, and MCP tool references argument-hint: "[plugin-path]" allowed-tools: mcp__plugin_ruflo-core_ruflo__transfer_plugin-info Bash Read Glob Grep --- # 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, non-empty keywords array); `name` equals the directory name; version is semver 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` use the `mcp__plugin_ruflo-core_ruflo__*` prefix AND exist: list the real tools with `npx @claude-flow/cli@latest mcp tools` and flag any name not in it (typos such as `hooks_post_task` for `hooks_post-task`, or `agentdb_pattern_search` for `agentdb_pattern-search`, are format-valid but do not exist). Also run the repo gates when inside the ruflo repo: `node scripts/audit-skill-frontmatter.mjs`, `audit-plugin-manifest.mjs`, `audit-plugin-mcp-prefix.mjs` ## 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
© ruvnet · MIT · ruvnet/ruflo