Skip to main content

The linter for Claude Code skill.

Project description

Claude Skill Lint

Test CodeQL Code Coverage Maintainability Dependabot Python versions PyPI - Downloads X URL

The linter for Claude Code skill.

Advantage

  • Wraps two purpose-built validators — skill-validator for SKILL.md structure and frontmatter, and markdownlint-cli2 for Markdown hygiene — behind a single command, so you don't need to discover, install, and orchestrate them yourself.
  • csklint install fetches 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 run executes 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

csklint-0.1.0.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

csklint-0.1.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file csklint-0.1.0.tar.gz.

File metadata

  • Download URL: csklint-0.1.0.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for csklint-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ee1b72a483e9cb49bc356e6eab094f5663acc80a8c90fda6f574b3a15691043f
MD5 25ce028f74f0c752bfda37076a47349b
BLAKE2b-256 84976bcc92789229523271003adc1434ed789d82436867fcc1c1c3b73be7bb99

See more details on using hashes here.

File details

Details for the file csklint-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: csklint-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for csklint-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bc806eb8a00a6e9657ded1563d6b05cce97d92a8d0843e9b57fd561cacf7b239
MD5 c23c188875ca131efa7b69aa2479853f
BLAKE2b-256 9a69164938f1914c99f8932fb4c919ffe2e55397f1cbd377003811bc9c78dec4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page