skill-audit's cross-plugin path check now also recognizes .apm/skills/ <other-skill>/ as a breaking reference shape, alongside the existing plugins/<plugin>/skills/<other-skill>/ pattern — the APM-native equivalent of the same cache-isolation problem. forge.md's Step 4 plugin-version-bump detection switches from "any directory containing a plugin.json" to the same apm.yml+type: walk-up used elsewhere in this batch, and hands off to apm-workflow (bump the single apm.yml version) instead of the deprecated plugin-author. Refs: #89
skill-audit
Audit a skill directory against the agentskills.io specification. Runs structural validation then a qualitative review across description quality, body discipline, patterns, formatting, file structure, scripts, and internal consistency, plus a provenance chain check.
What it does
- Runs
scripts/validate.shandscripts/validate-provenance.shfor structural and provenance checks, plusscripts/vale-wrap.sh— a Vale prefilter that deterministically flags known-bad description openers, vague wording, padding phrases, and "There is/are" sentence openers - Reads all files in the skill directory
- Applies qualitative checks across seven dimensions
- Outputs a compact findings report — findings only, grouped by dimension, each with Why and Fix — and a result block with handoff to /skill-improve
Usage
/skill-audit
Provide the path to the skill directory to audit when invoking.
Files
| File | Purpose |
|---|---|
SKILL.md |
Skill instructions for agents |
scripts/validate.sh |
Structural validator — checks name format, name matches directory, description length, line count, placeholder detection, script executable bit, and interactive-prompt detection |
scripts/validate-provenance.sh |
Provenance validator — checks sources.md completeness, source_keys/slug consistency, Contributing files existence, bidirectional linkage, Research doc: fields, and upstream research doc alignment |
scripts/vale-wrap.sh |
Vale prefilter wrapper — runs the bundled Kyberforge Vale styles against SKILL.md and reports alerts as deterministic FAILs ahead of Step 3's qualitative review |
assets/vale/.vale.ini |
Vale configuration — points Vale at the bundled Kyberforge style path, self-located relative to vale-wrap.sh |
assets/vale/styles/Kyberforge/DescriptionOpener.yml |
Vale rule — flags literal "This skill..."/"This agent..." description openers |
assets/vale/styles/Kyberforge/PaddingPhrase.yml |
Vale rule — flags generic "see references/" padding phrasing in conditional references |
assets/vale/styles/Kyberforge/SentenceOpenerThereIs.yml |
Vale rule — flags body sentences starting with "There is"/"There are" |
assets/vale/styles/Kyberforge/VagueWording.yml |
Vale rule — flags known filler wording (e.g. "helps with", "utilize") |
references/description-quality.md |
Spec-grounded rubric for description auditing — loaded when a finding is borderline |
references/body-discipline.md |
Spec-grounded rubric for body discipline auditing — loaded when padding vs necessity is unclear |
references/sources.md |
Provenance record — agentskills.io sources that informed this skill and which files each contributed to |
tests/validate.bats |
Bats test suite for validate.sh |
tests/validate-provenance.bats |
Bats test suite for validate-provenance.sh |
tests/README.md |
Setup instructions for bats-support and bats-assert test dependencies |