Skip to main content

Validate agent skills against the agentskills.io specification

Project description

skillscheck

A linter for agent skill definitions. It validates skill directories against the agentskills.io specification and tests compatibility with every major AI coding agent: Claude Code, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Roo Code, Swival, and Windsurf.

If you publish skills for AI agents, skillscheck catches problems before your users do. It checks frontmatter fields, naming conventions, directory structure, description quality, secret leaks, broken links, token budgets, and the agent-specific config files that each platform expects. When it finds something wrong, it tells you exactly what and where, with a check ID you can look up.

Also available as a VSCode extension ("Agent Skill Lint") for real-time feedback while editing.

Installation

uvx skillscheck /path/to/skills-repo

No configuration files needed. Point it at a directory containing skills and it figures out the rest.

What it checks

skillscheck organizes its diagnostics into four categories.

Spec compliance validates the core structure mandated by the agentskills.io specification: frontmatter presence and syntax, required fields like name and description, naming rules (lowercase, no leading or trailing hyphens, no consecutive hyphens), directory-name consistency, body length and token counts, allowed-tools validation against known tool names, and cross-skill duplicate detection.

Quality looks at things the spec does not cover but that matter in practice. It warns when descriptions are too short or lack "use when" hints that help agents trigger the skill correctly. It flags user-centric phrasing, placeholder text, leaked secrets (AWS keys, GitHub tokens, private keys, .env files), binary files, and oversized assets. It also walks every local markdown link and verifies the target exists, including fragment anchors.

Progressive disclosure checks that reference files stay within reasonable token budgets and that the reference tree does not nest too deeply, following the specification's guidance on keeping skills scannable.

Agent compatibility is where skillscheck goes furthest. Each of the eight supported agents has its own adapter that understands the platform's conventions:

  • Claude Code validates plugin.json and marketplace.json structure and cross-checks fields for consistency
  • Cursor validates .cursor/ configuration
  • Gemini CLI checks gemini-extension.json fields and metadata
  • GitHub Copilot checks copilot.yaml and .copilot/ directory layout
  • OpenAI Codex validates openai.yaml sidecars, interface, dependencies, and permissions
  • Roo Code validates .roo/ and .roomodes, warns on deprecated .roorules and .clinerules
  • Swival checks .agents/ directory structure
  • Windsurf validates .windsurf/ config, warns on deprecated .windsurfrules

skillscheck auto-detects which agents are relevant based on the repository structure, or you can specify them explicitly.

Options

--agents claude,codex,copilot,cursor,gemini,roo,swival,windsurf

Run checks for specific agents. By default, skillscheck auto-detects which agents apply based on the files it finds. Pass all to check every agent regardless.

--check agents,disclosure,quality,spec

Run only specific check categories.

--fix

Auto-fix issues that have safe mechanical fixes: lowercasing names, collapsing consecutive hyphens, renaming directories to match the name field.

--format json

Produce JSON output for CI pipelines and editor integrations.

--strict

Treat warnings as errors and exit with code 1.

Exit codes

Condition Exit code
No errors 0
Errors found 1
--strict with warnings 1

CI integration

skillscheck works well in CI pipelines. Use --format json to get structured output and --strict to fail the build on warnings. A typical GitHub Actions step:

- name: Lint skills
  run: uvx skillscheck ./skills --strict

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

skillscheck-0.9.0.tar.gz (68.5 kB view details)

Uploaded Source

Built Distribution

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

skillscheck-0.9.0-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

Details for the file skillscheck-0.9.0.tar.gz.

File metadata

  • Download URL: skillscheck-0.9.0.tar.gz
  • Upload date:
  • Size: 68.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for skillscheck-0.9.0.tar.gz
Algorithm Hash digest
SHA256 0c70080e9df9aa56ede7f3cc6cfdc3b3c5f77498b6959ebdbc4ef4bb84dd864e
MD5 83c48c62a2972f42f52b9e7dcbb1d581
BLAKE2b-256 e15bb19075a467f2d3e4172fffd5da5f0de1560867f703fe4fcf73c849fc82c0

See more details on using hashes here.

File details

Details for the file skillscheck-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: skillscheck-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 31.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for skillscheck-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f1ac8bf1440f50bea94dab884810ca054922e16cbc81eb987af3a41ced14c304
MD5 bf68bb268dcb1f0c221bc9fef69f4dd4
BLAKE2b-256 ae66a14f8e1c03b9d7b51d3ad39c4253c9c3ec064576d836fb823eb072a4efd3

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