{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "SubtaskRequest", "description": "Schema for requesting a new subtask from the forgebot API", "type": "object", "required": ["command", "repository", "ref", "author"], "properties": { "command": { "type": "string", "enum": ["plan", "implement", "review", "test", "fix"], "description": "The command/skill for the subtask to execute" }, "repository": { "type": "string", "pattern": "^[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+$", "description": "The target repository in owner/repo format" }, "ref": { "type": "string", "description": "Git ref to checkout (branch, tag, or commit SHA)" }, "skill": { "type": "string", "description": "Override skill name (defaults to command name)" }, "body": { "type": "string", "description": "Context or instructions for the subtask" }, "author": { "type": "string", "description": "The user who initiated the original task" }, "issueNumber": { "type": "integer", "minimum": 0, "description": "Issue number for context" }, "prNumber": { "type": "integer", "minimum": 0, "description": "Pull request number for context" }, "extraTools": { "type": "array", "items": { "type": "string" }, "description": "Additional tools to download from artifactapi at runtime" }, "poolRef": { "type": "string", "description": "Override the agent pool (defaults to parent task's pool)" } }, "additionalProperties": false }