{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "AbsolutePathBuf": {
      "description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.",
      "type": "string"
    },
    "SkillDependencies": {
      "properties": {
        "tools": {
          "items": {
            "$ref": "#/definitions/SkillToolDependency"
          },
          "type": "array"
        }
      },
      "required": [
        "tools"
      ],
      "type": "object"
    },
    "SkillErrorInfo": {
      "properties": {
        "message": {
          "type": "string"
        },
        "path": {
          "type": "string"
        }
      },
      "required": [
        "message",
        "path"
      ],
      "type": "object"
    },
    "SkillInterface": {
      "properties": {
        "brandColor": {
          "type": [
            "string",
            "null"
          ]
        },
        "defaultPrompt": {
          "type": [
            "string",
            "null"
          ]
        },
        "displayName": {
          "type": [
            "string",
            "null"
          ]
        },
        "iconLarge": {
          "anyOf": [
            {
              "$ref": "#/definitions/AbsolutePathBuf"
            },
            {
              "type": "null"
            }
          ]
        },
        "iconSmall": {
          "anyOf": [
            {
              "$ref": "#/definitions/AbsolutePathBuf"
            },
            {
              "type": "null"
            }
          ]
        },
        "shortDescription": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "SkillMetadata": {
      "properties": {
        "dependencies": {
          "anyOf": [
            {
              "$ref": "#/definitions/SkillDependencies"
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "type": "string"
        },
        "enabled": {
          "type": "boolean"
        },
        "interface": {
          "anyOf": [
            {
              "$ref": "#/definitions/SkillInterface"
            },
            {
              "type": "null"
            }
          ]
        },
        "name": {
          "type": "string"
        },
        "path": {
          "$ref": "#/definitions/AbsolutePathBuf"
        },
        "scope": {
          "$ref": "#/definitions/SkillScope"
        },
        "shortDescription": {
          "description": "Legacy short_description from SKILL.md. Prefer SKILL.json interface.short_description.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "description",
        "enabled",
        "name",
        "path",
        "scope"
      ],
      "type": "object"
    },
    "SkillScope": {
      "enum": [
        "user",
        "repo",
        "system",
        "admin"
      ],
      "type": "string"
    },
    "SkillToolDependency": {
      "properties": {
        "command": {
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "transport": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": "string"
        },
        "url": {
          "type": [
            "string",
            "null"
          ]
        },
        "value": {
          "type": "string"
        }
      },
      "required": [
        "type",
        "value"
      ],
      "type": "object"
    },
    "SkillsListEntry": {
      "properties": {
        "cwd": {
          "type": "string"
        },
        "errors": {
          "items": {
            "$ref": "#/definitions/SkillErrorInfo"
          },
          "type": "array"
        },
        "skills": {
          "items": {
            "$ref": "#/definitions/SkillMetadata"
          },
          "type": "array"
        }
      },
      "required": [
        "cwd",
        "errors",
        "skills"
      ],
      "type": "object"
    }
  },
  "properties": {
    "data": {
      "items": {
        "$ref": "#/definitions/SkillsListEntry"
      },
      "type": "array"
    }
  },
  "required": [
    "data"
  ],
  "title": "SkillsListResponse",
  "type": "object"
}