Work Items
Do-the-right-thing composite routers.
1 action. Each is callable by the agent as a tool, over HTTP via /api/invoke, and (usually) from a UI page.
work.create
POST · mutating
Universal "create a work item" — routes to tickets.create, content.drafts.generate, or other creators based on kind. Prefer this over the atomic creators when the user is describing the work in natural language and you would otherwise need to pick a creator first.
When the agent calls it: Use this as your default for "create a thing" requests. Examples: kind="task" + title=... → ticket; kind="content-draft" + missionId=... → draft via content.drafts.generate; kind="capability-request" + payload={category,what,why} → capability ticket; kind="bug" → bug ticket.
- AI tool:
work_create - API:
POST /api/invoke/work.create
Input
| Field | Type | Required | Description |
|---|---|---|---|
kind |
string | yes | |
title |
string | — | |
description |
string | — | |
missionId |
string | — | |
subjectId |
string | — | |
projectId |
string | — | |
personaSubjectId |
string | — | |
priority |
"low" | "normal" | "high" | "urgent" | — | |
platform |
string | — | |
payload |
object | — | |
pillarId |
string | — | |
topic |
string | — |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"missionId": {
"type": "string",
"minLength": 1
},
"subjectId": {
"type": "string",
"minLength": 1
},
"projectId": {
"type": "string",
"minLength": 1
},
"personaSubjectId": {
"type": "string",
"minLength": 1
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high",
"urgent"
]
},
"platform": {
"type": "string"
},
"payload": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"pillarId": {
"type": "string"
},
"topic": {
"type": "string"
}
},
"required": [
"kind"
]
}