Skip to main content
POST

Overview

Runs the same validation that Create Skill and Submit Skill apply, without saving anything. Use it to get structured errors and suggestions while authoring. The response is always 200; a failing skill comes back with valid: false and a list of errors. When the skills-ref reference validator is installed on the server it runs first. Otherwise the built-in checks apply:
  • SKILL.md must start with --- delimited YAML frontmatter.
  • name is required, must use lowercase letters, digits and single hyphens (no leading, trailing or consecutive hyphens), must be at most 64 characters, and must equal skill_name.
  • description is required, at least 20 and at most 1024 characters.
  • compatibility, when present, at most 500 characters.
  • Every file in scripts, reference_files and assets needs a name, and the name must not contain /, \ or ...
Warnings (non-blocking) are raised when the SKILL.md body is under 10 characters or a script has empty content. Auth: Accepts either JWT or API key (danube-api-key header). The Python and TypeScript SDKs do not wrap this endpoint yet, and there is no MCP tool for it. Call it directly.

Body Parameters

string
required
The expected skill name (max 64 characters). Must match name in the frontmatter.
string
required
The full SKILL.md content including YAML frontmatter (max 500,000 characters)
array
default:[]
Script files (max 20)
array
default:[]
Reference files (max 20). Same file object as scripts.
array
default:[]
Asset files (max 20). Same file object as scripts.

Response

boolean
true when no errors were found
array
Blocking problems. Empty when valid is true.
array
Non-blocking notes, as strings
string
The name read from the frontmatter, or null if it could not be parsed
string
The description read from the frontmatter, or null if it could not be parsed

Example