{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/flowra-dev/json-schema/flowra-dev-update-skill-dto-schema.json",
  "title": "UpdateSkillDto",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/flowra-dev-skills-api-openapi.yml#/components/schemas/UpdateSkillDto",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200,
      "description": "Display name"
    },
    "description": {
      "type": "string",
      "maxLength": 1024,
      "description": "WHAT + WHEN for skill discovery (max 1024 chars)"
    },
    "instructions": {
      "type": "string",
      "description": "SKILL.md body (markdown instructions)"
    },
    "category": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 64,
      "description": "Optional category for browsing My Skills. Null clears it."
    },
    "tags": {
      "description": "Free-form tags (max 20). Null clears them.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      }
    },
    "suggestedToolSlugs": {
      "description": "Known tool slugs for this playbook (skip DISCOVER → GET_TOOL_SCHEMAS). Not merged onto agents. Null clears them.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      }
    },
    "isPublic": {
      "type": "boolean",
      "description": "If true, other projects can discover the skill"
    },
    "version": {
      "type": "string",
      "maxLength": 32,
      "description": "Semver-style skill version"
    },
    "activeStatus": {
      "type": "boolean",
      "description": "False disables the skill without deleting it"
    }
  }
}