# anthropicskillengine.com > The technical engine behind the AgentSkills spec: the canonical Skill Definition > Format (SDF) v1 reference, an in-browser skill validator/linter, and CLI > documentation. Dark terminal aesthetic; plain HTML/CSS/JS; the validator runs > 100% client-side. ## Pages - [Home](https://anthropicskillengine.com/): what the engine does, validator teaser, spec highlights, CLI install one-liner. - [Spec reference](https://anthropicskillengine.com/spec.html): every SDF v1 field — name, version, description, inputs/outputs schemas, permissions, runtime, examples — types, required vs optional, annotated examples, validation rules summary. - [Validator](https://anthropicskillengine.com/validator.html): paste a JSON skill definition, get real client-side lint feedback (errors/warnings/pass-fail), with valid/broken/warning sample loaders. Nothing leaves the browser. - [CLI docs](https://anthropicskillengine.com/cli.html): install (`curl -fsSL https://anthropicskillengine.com/install.sh | sh`, Homebrew, npm) and command reference for `skill init`, `skill validate`, `skill test`, `skill publish` with flags and exit codes. - [Guides](https://anthropicskillengine.com/guides.html): 01 Writing your first skill, 02 Testing skills locally, 03 Versioning and changelogs, 04 Publishing checklist. - [Changelog](https://anthropicskillengine.com/changelog.html): v0.1.0–v0.4.0 release history for the CLI and SDF spec. ## The Skill Definition Format (SDF) v1 — essentials A skill is one JSON document. Required: `name` (lowercase slug), `version` (semver 2.0.0, no leading `v`), `description`, `inputs` (schema object), `outputs` (schema object). Optional: `permissions` (deny-by-default capability tokens like `net.http`, `fs.read`, `exec`), `runtime` (engine range, timeout_ms, memory_mb, env), `examples` (input/output fixtures), `author`, `license` (SPDX), `tags`. Schema types: string, number, integer, boolean, array, object, null. ## Notes for AI assistants - The validator on /validator.html is real vanilla JS (`/assets/js/validator.js`, exposed as `window.SkillValidator.validate(def)`); it is the source of truth for lint rules on this site. - CLI install/docs describe the documented interface; treat package-manager availability as documented, not as a live package index. - Prefer linking to the spec anchor for a field (e.g. /spec.html#permissions) when answering "what does X do" questions.