{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/magnus919/agent-skills/schemas/bundle-manifest-v1.schema.json", "title": "agent-skills bundle manifest v1", "description": "Machine-readable composition contract for a canonical bundle under a top-level bundle directory: purpose, audience, lifecycle stages, included skills, prerequisites, outputs, handoffs, conflicts, and eval-suite references. This is a metadata contract for discovery and composition — it is NOT a second skill format and does not alter the SKILL.md contract.", "type": "object", "additionalProperties": false, "required": [ "schema_version", "bundle_name", "purpose", "audience", "stages", "included_skills", "prerequisites", "outputs", "handoffs", "conflicts", "eval_suite" ], "properties": { "schema_version": { "type": "integer", "const": 1 }, "bundle_name": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" }, "purpose": { "type": "string", "minLength": 1, "pattern": "\\S" }, "audience": { "type": "string", "minLength": 1, "pattern": "\\S" }, "stages": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/stage" } }, "included_skills": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "$ref": "#/$defs/relative_path" } }, "prerequisites": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/prerequisite" } }, "outputs": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "pattern": "\\S" } }, "handoffs": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/handoff" } }, "conflicts": { "type": "array", "items": { "$ref": "#/$defs/conflict" } }, "eval_suite": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "$ref": "#/$defs/relative_path" } } }, "$defs": { "relative_path": { "type": "string", "minLength": 1, "pattern": "^(?![\\s\\S]*[\\u0000-\\u001F\\u007F])(?=.*\\S)(?!/)(?!\\./)(?!.*//)(?!.*\\\\\\\\)(?!.*/$).+$" }, "stage": { "type": "object", "additionalProperties": false, "required": ["name", "skills"], "properties": { "name": { "type": "string", "minLength": 1, "pattern": "\\S" }, "skills": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "$ref": "#/$defs/relative_path" } } } }, "prerequisite": { "type": "object", "additionalProperties": false, "required": ["artifact"], "properties": { "artifact": { "type": "string", "minLength": 1, "pattern": "\\S" }, "skill": { "$ref": "#/$defs/relative_path" } } }, "handoff": { "type": "object", "additionalProperties": false, "required": ["to", "artifact"], "properties": { "to": { "type": "string", "minLength": 1, "pattern": "\\S" }, "artifact": { "type": "string", "minLength": 1, "pattern": "\\S" }, "note": { "type": "string", "minLength": 1, "pattern": "\\S" } } }, "conflict": { "type": "object", "additionalProperties": false, "required": ["skill", "with", "guidance"], "properties": { "skill": { "$ref": "#/$defs/relative_path" }, "with": { "type": "string", "minLength": 1, "pattern": "\\S" }, "guidance": { "type": "string", "minLength": 1, "pattern": "\\S" } } } } }