{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/LLMSkillCreate", "title": "LLMSkillCreate", "type": "object", "description": "Create serializer \u2014 accepts bundled files as write-only input on POST.", "properties": { "id": { "type": "string", "format": "uuid", "readOnly": true }, "name": { "type": "string", "description": "Unique skill name. Lowercase letters, numbers, and hyphens only. Max 64 characters.", "maxLength": 64 }, "description": { "type": "string", "description": "What this skill does and when to use it. Max 4096 characters.", "maxLength": 4096 }, "body": { "type": "string", "description": "The SKILL.md instruction content (markdown)." }, "license": { "type": "string", "description": "License name or reference to a bundled license file.", "maxLength": 255 }, "compatibility": { "type": "string", "description": "Environment requirements (intended product, system packages, network access, etc.).", "maxLength": 500 }, "allowed_tools": { "type": "array", "items": { "type": "string" }, "description": "List of pre-approved tools the skill may use." }, "metadata": { "type": "object", "additionalProperties": true, "description": "Arbitrary key-value metadata." }, "files": { "type": "array", "items": { "$ref": "#/components/schemas/LLMSkillFileInput" }, "writeOnly": true, "description": "Bundled files to include with the initial version (scripts, references, assets)." }, "outline": { "type": "array", "items": { "$ref": "#/components/schemas/LLMSkillOutlineEntry" }, "readOnly": true, "description": "Flat list of markdown headings parsed from the skill body. Useful as a lightweight table of contents." }, "version": { "type": "integer", "readOnly": true }, "created_by": { "allOf": [ { "$ref": "#/components/schemas/UserBasic" } ], "readOnly": true }, "created_at": { "type": "string", "format": "date-time", "readOnly": true }, "updated_at": { "type": "string", "format": "date-time", "readOnly": true }, "deleted": { "type": "boolean", "readOnly": true }, "is_latest": { "type": "boolean", "readOnly": true }, "latest_version": { "type": "integer", "readOnly": true }, "version_count": { "type": "integer", "readOnly": true }, "first_version_created_at": { "type": "string", "readOnly": true } }, "required": [ "body", "created_at", "created_by", "deleted", "description", "first_version_created_at", "id", "is_latest", "latest_version", "name", "outline", "updated_at", "version", "version_count" ] }