Semantics
Creates a Task row under the given `project_id` in status `todo`. Optionally assigns to a staff member (by id) and sets priority, due_date.
Invariants
- `project_id` must exist on the tenant.
- Task title cannot be empty.
- Status starts as `todo`. Subsequent state transitions are managed elsewhere.
When to use
After `list_projects` and possibly `list_tasks` to add a discrete work item the user wants tracked.
Input schema
{
"type": "object",
"required": [
"project_id",
"title"
],
"properties": {
"title": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"due_date": {
"type": "string",
"format": "date"
},
"priority": {
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"project_id": {
"type": "string"
},
"assignee_id": {
"type": "string"
},
"description": {
"type": "string",
"maxLength": 5000
},
"agent_vendor": {
"type": "string"
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"ok"
],
"properties": {
"ok": {
"type": "boolean"
},
"error": {
"enum": [
"unknown_project",
"invalid_input"
],
"type": "string"
},
"status": {
"enum": [
"todo",
"doing",
"waiting",
"review",
"done"
],
"type": "string"
},
"task_id": {
"type": "string"
}
}
}