kurtpayne/skillscan-lint
Quality linter for AI agent skill files — readability, clarity, graph integrity (cycles, dangling refs, broken links)
Platform-specific configuration:
{
"mcpServers": {
"skillscan-lint": {
"command": "npx",
"args": [
"-y",
"skillscan-lint"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
[](https://github.com/kurtpayne/skillscan-lint/actions/workflows/ci.yml) [](https://pypi.org/project/skillscan-lint/) [](https://hub.docker.com/r/kurtpayne/skillscan-lint) [](LICENSE) [](pyproject.toml)
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.
---
pip install skillscan-lintOr run without installing:
docker run --rm -v "$PWD:/work" kurtpayne/skillscan-lint scan /work/skills/---
# Lint a single skill file
skillscan-lint scan SKILL.md
# Lint an entire skills directory (including graph checks)
skillscan-lint scan ./skills/ --graph
# Output as JSON for CI integration
skillscan-lint scan ./skills/ --format json
# List all rules
skillscan-lint rulesSKILL.md
QL-004 WARNING Weasel intensifier "basically" weakens the instruction.
QL-009 ERROR Description too short (8 words). Minimum is 10.
QL-015 WARNING TODO marker found — remove before publishing.
GR-002 ERROR Skill "data-fetcher" references "parser" which does not exist.
GR-006 WARNING Broken file reference: "references/auth.md" does not exist.
2 errors, 3 warnings---
skillscan-lint ships with two rule families:
QL-*)| Rule | Severity | What it catches | |------|----------|-----------------| | QL
Loading reviews...