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.
skill validate in the CLI. What passes here passes there.Tip: Ctrl/⌘ + Enter validates without leaving the textarea.
Or load a sample to see the linter in action.
#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.