Interactive · runs 100% in your browser

Skill validator

Paste a skill definition (JSON) and hit Validate. The linter checks required fields, semver format, name slugs, input/output schema sanity, permissions, and runtime requirements — then reports errors, warnings, and a pass/fail verdict. Your JSON never leaves this page: there is no server, no analytics payload, nothing to leak.

Same engine, two places. This page runs the exact rule set as skill validate in the CLI. What passes here passes there.

Tip: Ctrl/ + Enter validates without leaving the textarea.

samples:
IDLE
Paste a skill definition on the left, then hit Validate.
Or load a sample to see the linter in action.
No input yet.

#What gets checked

Identity

Required name, version, description. Slug pattern ^[a-z0-9]([a-z0-9-]{0,62}[a-z0-9])?$, strict semver 2.0.0 with no leading v, non-blank description with a 20–280 character sweet spot.

Schemas

inputs and outputs must be objects with sane properties. Every required entry must name a declared property; unknown types are errors; missing types are warnings.

Capabilities

permissions are checked against the known capability set; unknown tokens and duplicates are flagged, and privileged scopes (exec, fs.write, env.write) are called out as review-triggering.

Full rule list: spec → validation rules. Automate it: skill validate in the CLI.