Initial scaffold: skill definitions and subtask schemas
Skills for plan, review, implement, test, fix, create-subtask, and monitor-subtasks. Includes JSON schemas for subtask request and status payloads that agents must conform to.
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"$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
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"title": "SubtaskStatus",
|
||||
"description": "Schema for the response when querying a subtask's status",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"format": "uuid"
|
||||
},
|
||||
"command": {
|
||||
"type": "string"
|
||||
},
|
||||
"repository": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"enum": ["pending", "running", "succeeded", "failed", "cancelled"]
|
||||
},
|
||||
"result": {
|
||||
"type": "string",
|
||||
"description": "Output from the completed subtask"
|
||||
},
|
||||
"errorMessage": {
|
||||
"type": "string"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"startedAt": {
|
||||
"type": ["string", "null"],
|
||||
"format": "date-time"
|
||||
},
|
||||
"completedAt": {
|
||||
"type": ["string", "null"],
|
||||
"format": "date-time"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user