Added

Skill Auto-Trigger Workflows

Skills can now mark linked workflows for deterministic pre-execution. When a
skill is invoked, every auto-trigger workflow runs before the LLM reasons
about the skill, guaranteeing its output is available as context.

What's New

  • Request field: autoTriggerWorkflowIds?: string[] on skill create
    (POST /api/v1/accounts/{accountId}/skills) and skill update
    (POST /api/v1/accounts/{accountId}/skills/{skillId}). Must be a subset of
    workflowIds (both must be provided together).
  • Response field: Each item in linkedWorkflows[] now includes
    autoTrigger: boolean, carried per-link (so the same workflow can be
    auto-triggered on one skill version and merely discoverable on another).
  • Validation: At save time, every required input on an auto-trigger
    workflow must have a matching key + compatible type on the skill's
    inputSchema. Mismatches fail with 400 VALIDATION_ERROR and a payload
    identifying the offending workflow and input.
  • Carry-forward: Creating a new skill version without workflowIds
    preserves the previous version's autoTrigger flags.

Example Request

Auto-trigger workflow results are injected as prepended context blocks
before the LLM reads the skill's instructions — they are not exposed
as template variables. Author instructions as if the workflow output is
already present in the conversation.

{
  "name": "Monthly Report",
  "command": "/monthly-report",
  "instructions": "Summarize the revenue figures that appear above, grouped by month.",
  "inputSchema": {
    "month": { "type": "string", "description": "Month to report on", "required": true }
  },
  "workflowIds": ["550e8400-e29b-41d4-a716-446655440000"],
  "autoTriggerWorkflowIds": ["550e8400-e29b-41d4-a716-446655440000"]
}

Migration Notes

No changes required for existing integrations. autoTriggerWorkflowIds is
optional; the default for existing links is autoTrigger: false.