Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Validates SKILL.md files for spec-facing structure, sizing, references, cross-agent compatibility, and agent-authored critique or graph diagnostics.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -34% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -42% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -57% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -34% | 0% |
skillcheck is a static analyzer for SKILL.md files. It validates frontmatter structure, scores description discoverability, checks file references, and extracts a capability graph from heading and backtick-reference patterns. Run it before committing a skill, plugging it into CI, or publishing to a skill registry.
Pass path to skillcheck for a full structural check against the agentskills.io specification. Validates name constraints, description quality, body sizing, file references, and cross-agent compatibility. The validation report is written to stdout. Exit codes: 0 no errors, 1 errors found, 2 input error (missing file), 3 symbolic passed but semantic critique flagged errors.
bashskillcheck <path> skillcheck <path> --format json
skillcheck generates a structured critique prompt for path and ingests response.json as the agent's reply. Save the emitted prompt to prompt.txt. The merged validation report combines symbolic diagnostics and semantic findings from the critique.
bashskillcheck <path> --emit-critique-prompt > prompt.txt
Hand prompt.txt to your agent. The agent returns JSON. Save the response as response.json, then ingest it.
bashskillcheck <path> --ingest-critique response.json
Pass --critique-agent codex or --critique-agent cursor to select a prompt variant tuned for that platform. The critique JSON schema is identical across all agent targets.
skillcheck extracts the capability graph from heading structure and backtick references in the body of path. Use prompt.txt for emitted graph prompts and ingest response.json from your agent for richer extraction.
Run graph analysis using the heuristic extractor (no agent needed):
bashskillcheck <path> --analyze-graph
For richer extraction, emit the graph prompt, run it through your agent, and ingest the response:
bashskillcheck <path> --emit-graph-prompt > prompt.txt skillcheck <path> --ingest-graph response.json
Print the graph to stdout:
bashskillcheck <path> --emit-graph skillcheck <path> --emit-graph --format json
When both heuristic and agent graphs are available, skillcheck compares them and emits graph.contradiction.heuristic_disagreement at error severity for agent-claimed edges that the heuristic does not confirm.
Append a record to the validation ledger for each --history run on path. The ledger is stored in .skillcheck-history.json next to the skill file, is append-only, and is safe to commit.
bashskillcheck <path> --history skillcheck <path> --show-history skillcheck <path> --show-history --format json
Each record stores the timestamp, skillcheck version, a 16-character content hash, which validation modes ran, and diagnostic counts. When the skill content matches a prior passing run but the current run fails, skillcheck emits history.skill.regressed to flag rule tightening or a new agent finding.
.skillcheck-history.json next to the skill fileOther measured skills in the registry, with their headline benchmark lift.