{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/PatchedLLMSkillPublish", "title": "PatchedLLMSkillPublish", "type": "object", "properties": { "body": { "type": "string", "description": "Full skill body (SKILL.md instruction content) to publish as a new version. Mutually exclusive with edits." }, "edits": { "type": "array", "items": { "$ref": "#/components/schemas/LLMSkillEditOperation" }, "description": "List of find/replace operations to apply to the current skill body. Each edit's 'old' text must match exactly once. Edits are applied sequentially. Mutually exclusive with body." }, "description": { "type": "string", "description": "Updated description for the new version.", "maxLength": 4096 }, "license": { "type": "string", "description": "License name or reference.", "maxLength": 255 }, "compatibility": { "type": "string", "description": "Environment requirements.", "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" }, "description": "Bundled files to include with this version. Replaces all files from the previous version. Mutually exclusive with file_edits." }, "file_edits": { "type": "array", "items": { "$ref": "#/components/schemas/LLMSkillFileEdit" }, "description": "Per-file find/replace updates. Each entry targets one existing file by path and applies sequential edits to its content. Non-targeted files carry forward unchanged. Cannot add, remove, or rename files \u2014 use 'files' for that. Mutually exclusive with files." }, "base_version": { "type": "integer", "minimum": 1, "description": "Latest version you are editing from. Used for optimistic concurrency checks." } } }