Validates frontmatter and body structure of all skills, agents, and commands in a plugin. Triggers: validate components, check frontmatter, component audit, skill validation.
From pqanpx claudepluginhub javimontano/jm-adk --plugin plugin-qaThis skill is limited to using the following tools:
examples/clean-components.mdexamples/dirty-components.mdprompts/component-check.mdreferences/frontmatter-field-catalog.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
"Frontmatter is the API contract of a skill. Without it, the runtime cannot discover, route, or constrain."
Validates that every skill, agent, and command file has correct YAML frontmatter, required fields, proper types, and a well-structured body.
skills/*/SKILL.md for skills.agents/*.md for agents.commands/*.md for commands.INFO: No <type> found.For each skills/*/SKILL.md:
--- delimiters).CRITICAL if missing.CRITICAL if missing, WARNING if <20 chars.CRITICAL if missing. CRITICAL if not an array. Valid tool names include: Read, Write, Edit, Glob, Grep, Bash, WebFetch, WebSearch, NotebookEdit, TodoWrite.INFO if missing (recommended but not required by spec).INFO for each.For each skill, check the markdown body (content after closing ---):
# or ##) that serves as the skill title.Procedure, Steps, Workflow, Process. WARNING if no procedural section found.INFO if no lists detected.CRITICAL if body is empty.For each agents/*.md:
CRITICAL if missing.CRITICAL if missing.WARNING if missing (agents without tool constraints may have unintended access).For each commands/*.md:
CRITICAL if missing.true (boolean). CRITICAL if missing or set to false.INFO if missing (commands without arguments are valid).name values from skills, agents, and commands.WARNING for any duplicate name appearing in multiple components.CRITICAL if the same name appears within the same component type (two skills named identically).| Component | Type | Severity | Finding |.allowed-tools: "Read, Bash" (string) is detected as wrong.allowed-tools list is appropriate for its procedure -- only checks format and recognized tool names.user-invocable field is validated as a boolean, but YAML parsers accept yes/no/on/off as boolean equivalents -- this skill treats only true as valid.Bad finding:
Missing name in skill.
Missing: no file path, no field name, no expected type.
Good finding:
CRITICAL | skills/validate-hooks/SKILL.md | name | Missing. Expected: non-empty string in YAML frontmatter. | (absent)
Includes: severity, exact file path, field name, expected type, current value.
allowed-tools as a comma-separated string instead of a YAML array.user-invocable: "true" (string) as valid when a boolean is required.alias-of pointing to itself -- CRITICAL (circular alias).| or > YAML syntax -- valid, do not flag.