skillcheck

A linter for the files that steer your agents.

SHEETSKILLCHECK · v1.0
FINDINGS 0 err 0 warn 0 info
report

A linter for AI-agent instruction files

Skillcheck validates the files that configure coding agents: CLAUDE.md, AGENTS.md, and skill frontmatter (SKILL.md). Paste a file into the editor above and it checks the frontmatter and the prose the same way the command-line tool does in CI. These files have no compiler and no schema, so the mistakes that stop a skill from loading never raise an error. They just silently do nothing. Skillcheck names the exact line so you can fix it in seconds instead of losing a debugging session to "why isn't my skill firing?".

It flags the failure modes that actually bite: a missing name or description, an unterminated --- block, a duplicate or typo'd key like nmae:, a name that is not kebab-case or does not match its directory, a null required field (name: ~) that reads as present but resolves to nothing, a description with no trigger language, an over-long description that the model host will truncate, and two skills declaring the same name so they shadow each other. Add more than one file with the tab bar to run the cross-file checks (name collisions and dead /skill-name references) exactly as they run across a repo.

Nothing is uploaded. The validator runs the same pure-JavaScript engine the CLI uses, entirely in your browser. To gate it on every merge, run npx skillcheck .claude/skills in your pipeline; it exits non-zero the moment a skill breaks.

Frequently asked questions

Which files can Skillcheck validate?
Skill frontmatter (SKILL.md), CLAUDE.md, and AGENTS.md. Paste any of them above, or point the CLI at a directory and it walks the tree for all three.
Why isn't my skill loading or firing?
The usual causes are a name that is not kebab-case, a name that does not match its directory, a missing or null description, a description with no "use when..." trigger language, or a frontmatter block that is never closed with a second ---. Skillcheck reports each one with its line and a fix hint.
Does Skillcheck upload my file?
No. The page loads the engine once and runs every check locally in the browser. Your file never leaves the tab.
Can I run the same checks in CI?
Yes. npx skillcheck .claude/skills returns a non-zero exit code on any error, and --max-warnings 0 makes it fail on warnings too. The CLI and this page share one engine, so they always agree.
What is a skill-name collision?
Two skills that declare the same name shadow each other: only one registers, and which one is not deterministic. It is impossible to spot by reading a single file, so Skillcheck flags every file involved.