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"
  ]
}