{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://hub.example.com/schemas/prompt-manifest.schema.json", "title": "ITWorx MCP Hub Prompt Manifest", "description": "User-initiated governed MCP prompt definition.", "type": "object", "additionalProperties": false, "required": [ "apiVersion", "kind", "metadata", "spec" ], "properties": { "apiVersion": { "const": "hub.example.com/v1alpha1" }, "kind": { "const": "PromptManifest" }, "metadata": { "$ref": "common.schema.json#/$defs/metadata" }, "spec": { "type": "object", "additionalProperties": false, "required": [ "promptName", "description", "argumentsSchema", "requiredScopes", "allowedToolPatterns", "messages" ], "properties": { "promptName": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 100 }, "description": { "type": "string", "minLength": 1, "maxLength": 1000 }, "argumentsSchema": { "type": "object" }, "requiredScopes": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "maxLength": 200 } }, "allowedToolPatterns": { "type": "array", "uniqueItems": true, "maxItems": 100, "items": { "type": "string", "maxLength": 200 } }, "messages": { "type": "array", "minItems": 1, "maxItems": 10, "items": { "type": "object", "additionalProperties": false, "required": [ "role", "text" ], "properties": { "role": { "enum": [ "user", "assistant" ] }, "text": { "type": "string", "minLength": 1, "maxLength": 12000 } } } } } } } }