Claude Skill Lint
The linter for Claude Code skill.
Advantage
- Wraps two purpose-built validators — skill-validator for
SKILL.mdstructure and frontmatter, andmarkdownlint-cli2for Markdown hygiene — behind a single command, so you don't need to discover, install, and orchestrate them yourself. csklint installfetches and installs both tools (a Go binary and an npm package) for you, verifying the binary's SHA-256 checksum before installing it, on macOS, Debian, and Ubuntu.csklint runexecutes as a pytest suite, so failures show up as familiar pytest output and slot straight into CI pipelines or pre-commit hooks without extra tooling.
Quickstart
Install the CLI:
pip install csklint
Install the tools it depends on (skill-validator and markdownlint-cli2):
csklint install
Lint your skills (defaults to ~/.claude/skills):
csklint run
A passing run prints a pytest summary ending in ... passed; a failing skill reports the offending
file and the validator's error output.
How do I...
How do I lint skills in a different directory?
Pass the directory as an argument:
csklint run path/to/skills
How do I use this in CI?
Run csklint install once per CI run, then csklint run <skills_dir>; both exit non-zero on failure
so the step fails the build.
- run: csklint install
- run: csklint run skills/
How do I install without root privileges?
csklint install writes skill-validator to /usr/local/bin, which typically requires root. Re-run
the command with sudo if it reports a permission error.
Credits
This package was created with Cookiecutter and the yukihiko-shinoda/cookiecutter-pypackage project template.
Metadata
Release files for csklint 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| csklint-0.3.0.tar.gz | 22.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| csklint-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.4 kB
Release files / csklint-0.3.0.tar.gz
| Download URL | csklint-0.3.0.tar.gz |
|---|---|
| Size | 22.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5e2b29aaf44f974e92eff6563b1009652c3a587b3948e04c51f60759b7eadf96
|
|
BLAKE2b-256 checksum How to use checksums |
16eca3db1428032b0176da5b7cf135c98a9749f537a382057c58b73a935e1794
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Release files / csklint-0.3.0-py3-none-any.whl
| Download URL | csklint-0.3.0-py3-none-any.whl |
|---|---|
| Size | 15.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7edcb525e44bc9d181e51072d963f73c3b6e10e10c7dbacb9332434298182e5c
|
|
BLAKE2b-256 checksum How to use checksums |
e40f4379c1209c34a50c55c453df1496604f632a8e1641a54998c2a152cd5f60
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|