{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/flowra-dev/json-schema/flowra-dev-create-skill-dto-schema.json",
  "title": "CreateSkillDto",
  "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/CreateSkillDto",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200,
      "description": "Display name"
    },
    "slug": {
      "type": "string",
      "maxLength": 64,
      "description": "Slug (lowercase alphanumeric + hyphens). Auto-generated from name if omitted."
    },
    "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",
      "maxLength": 64,
      "description": "Optional category for browsing My Skills"
    },
    "tags": {
      "description": "Free-form tags (max 20)",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "suggestedToolSlugs": {
      "description": "Known tool slugs for this playbook (skip DISCOVER → GET_TOOL_SCHEMAS). Not merged onto agents.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "isPublic": {
      "type": "boolean",
      "description": "If true, other projects in this workspace can discover the skill",
      "default": false
    },
    "version": {
      "type": "string",
      "maxLength": 32,
      "description": "Semver-style skill version",
      "default": "1.0.0"
    }
  },
  "required": [
    "name",
    "description",
    "instructions"
  ]
}