AI skill quality lint tool CLI
283
Quality linter for AI agent skill files. Catches weasel words, ambiguous instructions, missing metadata, and skill graph problems (cycles, dangling references, broken file links) before they reach production.
Works with skills from skills.sh, ClawHub, and any SKILL.md-based skill package.
# Lint a skills directory
docker run --rm -v "$PWD:/work" kurtpayne/skillscan-lint scan /work/skills/
# Include graph checks (cycles, dangling refs, broken links)
docker run --rm -v "$PWD:/work" kurtpayne/skillscan-lint scan /work/skills/ --graph
# JSON output for CI
docker run --rm -v "$PWD:/work" kurtpayne/skillscan-lint scan /work/skills/ --format json
SKILL.md
QL-004 WARNING Weasel intensifier "basically" weakens the instruction.
QL-009 ERROR Description too short (8 words). Minimum is 10.
GR-002 ERROR Skill "data-fetcher" references "parser" which does not exist.
GR-006 WARNING Broken file reference: "references/auth.md" does not exist.
1 error, 2 warnings
Quality rules (QL-*): passive voice, weasel words, vague verbs, missing fields, name casing, TODO markers, superlatives, buzzwords, sentence length, and more.
Graph rules (GR-*, --graph flag): cycles, dangling references, orphan entry-points, hub skills, undocumented dependencies, and broken intra-skill file links.
Run docker run --rm kurtpayne/skillscan-lint rules to see all rules.
# GitHub Actions
- name: Lint skills
run: |
docker run --rm -v "${{ github.workspace }}:/work" \
kurtpayne/skillscan-lint scan /work/skills/ --graph --format json \
> skillscan-lint-report.json
Content type
Image
Digest
sha256:3a9a09b37…
Size
62.7 MB
Last updated
7 months ago
docker pull kurtpayne/skillscan-lint