Skip to content

Schema reference

FieldTypeRequiredDescription
idstringYesWorkflow identifier
inputsmap<string, JSONSchema>NoInput definitions
envmap<string, template>NoEnvironment variables
stepsarray<Step>YesNon-empty step array
FieldTypeRequiredDescription
idstringNoUnique ID
typestringYesStep type
ifexpressionNoConditional execution
envmap<string, template>NoStep-level env vars
FieldTypeRequiredDefault
with.commandtemplateYes
with.resultnone | text | jsonNotext
FieldTypeRequiredDefault
with.actionreviewYes
with.prompttemplateNo
with.targetuncommitted | base | commitYes*
with.basetemplateif target=base
with.committemplateif target=commit
with.titletemplateNo
with.modelstringNo
with.modedefault | full_autoNodefault
with.add_dirsarray<template>No[]
with.persistboolNotrue

*Omitting target with base present infers target: base.

Unsupported: conversation, output_schema

Built-in result shape:

findings:
- title: string
body: string
confidence_score: number
priority: integer
code_location:
absolute_file_path: string
line_range:
start: integer
end: integer
overall_correctness: string
overall_explanation: string
overall_confidence_score: number
FieldTypeRequiredDefault
with.actionexecYes
with.prompttemplateYes
with.modedefault | full_autoNodefault
with.modelstringNo
with.add_dirsarray<template>No[]
with.persistboolNotrue
with.conversationConversationNo
with.output_schemaJSONSchemaNo

Unsupported: target, base, commit, title

FieldTypeRequiredDefault
with.actionpromptYes
with.prompttemplateYes
with.permission_modedefault | plan | acceptEdits | dontAsk | bypassPermissionsNodefault
with.modelstringNo
with.add_dirsarray<template>No[]
with.persistboolNotrue
with.conversationConversationNo
with.output_schemaJSONSchemaNo
FieldTypeRequired
with.pathtemplateYes
with.contenttemplateYes
FieldTypeRequired
stepsarray<Step>Yes
exportsmap<string, template>No
FieldTypeRequired
maxintegerYes
untilexpressionYes
stepsarray<Step>Yes
exportsmap<string, template>No
FieldTypeRequired
casesarray<Case>Yes

Each case: if or else + steps + optional exports. All cases must export the same shape or none.

FieldTypeRequired
branchesarray<Branch>Yes
exportsmap<string, template>No

Each branch: id (required) + steps.

FieldTypeRequiredDefault
namestringYes
scopeiteration | loop | workflowNoiteration in loops, workflow outside
  1. Step IDs unique across entire workflow
  2. steps arrays non-empty (except branch else cases)
  3. steps.<id>.result references previous steps only
  4. Branch exports must have matching shapes across cases
  5. with required for all action types
  6. Unknown YAML keys cause errors