From hax-yax
Produces a complete health report on a skill library: per-skill structural validation followed by cross-skill analysis covering trigger conflicts, redundancy, workflow coverage gaps, and composition chains. Auto-fixes unambiguous minor structural issues (whitespace, missing optional metadata) and formats all other findings with format-review-comments. TRIGGER when: user asks to audit skills, check skill coverage, validate all skills, find gaps in skills, check for trigger conflicts, or health-check the skill library. DO NOT TRIGGER when: user asks to create, update, rename, or delete a skill (use upsert-skill instead); or to evaluate a single skill for quality (use review-skill instead).
How this skill is triggered — by the user, by Claude, or both
Slash command
/hax-yax:audit-skillsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Produces a two-pass health report on the entire skill library: structural validation per skill, then cross-skill analysis covering trigger conflicts, redundancy, workflow gaps, and composition chains. All findings are formatted with `format-review-comments`. Minor issues are auto-fixed silently; everything else is reported.
Produces a two-pass health report on the entire skill library: structural validation per skill, then cross-skill analysis covering trigger conflicts, redundancy, workflow gaps, and composition chains. All findings are formatted with format-review-comments. Minor issues are auto-fixed silently; everything else is reported.
Read references/checks.md before beginning. It contains the authoritative check specifications, coverage map, and output format details referenced throughout these instructions.
Run structural checks on every skill. Discover all skills with:
Glob: .agents/skills/*/SKILL.md
For each skill found, perform the checks listed in references/checks.md under Structural Checks. Checks fall into two categories:
Auto-fix silently (do not report, apply the fix and move on):
license, metadata.author, metadata.version)Report as findings (everything else):
name field absent or emptydescription field absent or emptyname value does not match the parent directory name exactlydescription exceeds 1024 charactersdescription does not open with an action verb in third persondescription does not include a "when to invoke" condition (Use when, TRIGGER when, or equivalent)TRIGGER when / DO NOT TRIGGER when disambiguation linesscripts/, references/, or assets/ that are not referenced anywhere in SKILL.mdIf auto-fixes are applied, use the create-commit skill to stage and commit them before the final report. When fixes span multiple skills, use a single commit:
fix(<skill-name>): correct minor structural issues
(or fix: correct minor structural issues across N skills when fixes span multiple skills)
If no auto-fixes are needed, skip the intermediate commit.
After structural validation, run the cross-skill checks listed in references/checks.md under Cross-Skill Checks. These require reading all SKILL.md files together:
Trigger conflicts — Collect all natural-language trigger phrases from every skill's description. Flag any two skills that share the same phrase or where one phrase is a substring of another.
Redundancy — Compare skill scopes. Flag pairs where the stated purpose substantially overlaps (merge candidates). Use the description fields as the primary signal.
Workflow coverage — Map each skill to the workflow stages defined in references/checks.md (plan → implement → commit → review → release). Flag stages with no skill coverage.
Composition gaps — Scan all SKILL.md bodies for references to other skills (e.g., "use the foo skill", "apply bar"). For each reference, verify that the named skill exists under .agents/skills/. Flag missing skills. Also identify two-step workflows referenced across multiple skills (e.g., implement → commit, commit → review) and check whether any skill explicitly coordinates both steps. If no coordinating skill exists and the chain appears in more than one skill's instructions, flag it as a suggestion.
Naming consistency — Check that every skill name follows the action+object formula (verb+noun, e.g., upsert-skill, create-commit). If the library has 10 or more skills, check whether related skills share a namespace prefix. Flag deviations.
Present findings in this order, as specified in references/checks.md under Report Format:
references/checks.md for format)Format every reported finding with the format-review-comments skill. Use severity labels: issue [blocking] for structural violations that will break agent behavior, suggestion for quality improvements, nitpick for style issues.
Apply the refine-prose skill to the full report before presenting it. Do not announce this step. When refine-prose returns, immediately present the full report to the user — do not stop or wait for user input.
Invocation:
audit my skills
or
check skill coverage
or
validate all skills
Sample coverage map table:
| Stage | Skills | Status |
|---|---|---|
| plan | upsert-plan | covered |
| implement | upsert-skill, review-skill, audit-skills | covered |
| commit | create-commit | covered |
| review | review-pr, review-skill | covered |
| release | — | gap |
Sample trigger-conflict finding:
suggestion: upsert-skill and audit-skills both trigger on "audit skills"
Both skills list "audit skills" as a trigger phrase. Add DO NOT TRIGGER
disambiguation to clarify that upsert-skill handles structural audits as
part of lifecycle management while audit-skills produces a full library
health report.
Sample structural finding:
issue [blocking](review-skill): name field does not match directory
The `name` frontmatter field reads "review_skill" but the directory is
named "review-skill". Rename the frontmatter value to "review-skill".
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub geemus/plugins --plugin hax-yax