0.4.0¶
2026-05-07 · View on GitHub
What's New¶
Renamed to skillsaw¶
The package has been renamed from claudelint to skillsaw. The claudelint CLI and Python imports continue to work as aliases.
.claude/ directory linting¶
Skillsaw now detects and lints .claude/ directories as a distinct repository type (DOT_CLAUDE), separate from plugins. This covers skills, agents, hooks, MCP servers, and rules within .claude/ layouts.
agentskills.io support¶
Full support for linting agentskills.io skill packages — frontmatter validation, naming rules, directory structure, and evals format.
Rule changes¶
- New: Validation of agentskills.io optional frontmatter fields (
license,compatibility,metadata,allowed_tools) - New: Warning on unknown rule IDs in config
- Updated: MCP rules synced with upstream Claude Code spec (HTTP/SSE transports,
headers,startupTimeout,headersHelper,alwaysLoad,oauth) - Updated: Hooks rules synced with upstream spec (
mcp_tooltype,shell,if,async_rewakefields, new event types) - Updated:
skills/directory accepted as valid plugin component - Removed:
commands-dir-requiredandcommands-existrules (deprecated upstream)
Self-linting¶
Skillsaw now includes a test that lints its own .claude/ directory, ensuring the repo's configuration stays valid as rules evolve.