# Validate Plugin > Valida que un plugin de Claude Code sigue el formato correcto: estructura de directorios, frontmatter y referencias a herramientas MCP. Fuente: https://skillsagentes.com/skills/ruvnet/ruflo/validate-plugin Markdown: https://skillsagentes.com/skills/ruvnet/ruflo/validate-plugin.md Repositorio: https://github.com/ruvnet/ruflo Autor: ruvnet Licencia: MIT Actualizado: el mes pasado Coste de contexto: 19 tok instalada, 516 tok al activarse, 516 tok con todos los archivos del bundle Bundle: 1 archivo, 2 KB Permisos que pide: mcp__plugin_ruflo-core_ruflo__transfer_plugin-info bash read glob grep ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add ruvnet/ruflo --skill validate-plugin --agent claude-code # Cursor npx -y skills add ruvnet/ruflo --skill validate-plugin --agent cursor # Codex npx -y skills add ruvnet/ruflo --skill validate-plugin --agent codex # Gemini CLI npx -y skills add ruvnet/ruflo --skill validate-plugin --agent gemini # Windsurf npx -y skills add ruvnet/ruflo --skill validate-plugin --agent windsurf # Cline npx -y skills add ruvnet/ruflo --skill validate-plugin --agent cline ``` ## Qué hace - Comprueba que plugin.json exista y no incluya arrays skills, commands ni agents, que causarían error de validación. - Valida que cada SKILL.md tenga name, description y allowed-tools sin comodines. - Valida que cada agente tenga name, description y model. - Comprueba que las referencias a herramientas MCP en allowed-tools sean identificadores válidos. ## Cuándo usarla - Después de crear o modificar un plugin, para detectar problemas estructurales antes de publicarlo. ## Qué la activa - "Valida la estructura de este plugin" - "Comprueba si el plugin.json tiene arrays obsoletos" ## Archivos - SKILL.md — 2 KB ## SKILL.md Reproducido tal cual desde ruvnet/ruflo bajo MIT. Esta sección es el documento original y está en inglés. # 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//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/.md` is a valid command (auto-discovered; no `commands` array in `plugin.json`) 5. **Agents auto-discovery** — every `agents/.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 ## Dónde encaja - Categoría: [Herramientas para desarrolladores](https://skillsagentes.com/categorias/herramientas-desarrollo.md) — Skills que cambian cómo tu agente escribe, revisa y despliega código. - Creador: [ruvnet](https://skillsagentes.com/creators/ruvnet.md) — 275 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Harness Gepa](https://skillsagentes.com/skills/ruvnet/ruflo/harness-gepa.md): Inspecciona y audita genomas GEPA: carga y valida un genoma, renderiza el system prompt que compila, o clasifica los modos de fallo de una transcripción de ejecución. - [Deepseek Reason](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-reason.md): Completion en modo razonamiento contra deepseek-reasoner (R1) de DeepSeek. Devuelve el chain-of-thought por separado de la respuesta final. Lee DEEPSEEK_API_KEY y degrada si falta o la API no responde. - [Deepseek Chat](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-chat.md): Completion de un solo turno contra el modelo deepseek-chat de DeepSeek vía /v1/chat/completions. Lee DEEPSEEK_API_KEY y degrada con status:degraded si falta o la API no responde. Para tareas sin razonamiento. - [Adr Index](https://skillsagentes.com/skills/ruvnet/ruflo/adr-index.md): Construye o reconstruye el índice de ADRs y su grafo de dependencias ejecutando scripts/import.mjs, en vez de cientos de llamadas MCP. - [Agntcy Status](https://skillsagentes.com/skills/ruvnet/ruflo/agntcy-status.md): Muestra el estado de la integración AGNTCY/SLIM/CASA: si los paquetes están instalados, qué transporte está activo y si el enforcement de CASA está habilitado. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)