{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/agentel-tech/json-schema/agentel-tech-post-api-v1-skills-request-schema.json",
  "title": "PostApiV1SkillsRequest",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/agentel-tech-openapi-generated.yml#/components/schemas/PostApiV1SkillsRequest",
  "type": "object",
  "properties": {
    "manifest.name": {
      "type": "string",
      "description": "Human‑readable name of the skill."
    },
    "manifest.description": {
      "type": "string",
      "description": "Detailed description of the skill."
    },
    "manifest.category": {
      "type": "string",
      "description": "Capability, purpose and work area."
    },
    "manifest.slug": {
      "type": "string",
      "description": "Unique lowercase hyphenated identifier (up to 80 chars)."
    },
    "manifest.version": {
      "type": "string",
      "description": "Semantic version, e.g., 1.2.3 or 1.2.3‑beta.1."
    },
    "manifest.sourceRevision": {
      "type": "string",
      "description": "Full lowercase 40‑ or 64‑character source commit hash."
    },
    "manifest.sourceUrl": {
      "type": "string",
      "description": "Public HTTPS link to the fixed source."
    },
    "manifest.artifactUrl": {
      "type": "string",
      "description": "Public HTTPS link to the downloadable package."
    },
    "manifest.repositoryUrl": {
      "type": "string",
      "description": "Public repository URL or null."
    },
    "manifest.sha256": {
      "type": "string",
      "description": "64‑character lowercase hex of the archive bytes."
    },
    "manifest.license": {
      "type": "string",
      "description": "License declaration."
    },
    "manifest.compatibility": {
      "type": "array",
      "description": "Runtime/host support entries (at least one)."
    },
    "manifest.permissions": {
      "type": "array",
      "description": "Required access permissions."
    },
    "manifest.dataHandling": {
      "type": "string",
      "description": "Description of data read/written/sent externally."
    },
    "manifest.instructions": {
      "type": "string",
      "description": "Installation and usage steps."
    },
    "manifest.knownLimits": {
      "type": "array",
      "description": "Known limitations of the skill."
    },
    "manifest.authorEvidence": {
      "type": "array",
      "description": "Evidence descriptions and public links."
    }
  }
}