Skip to content

Workflow schema reference

This page summarizes the current public workflow schema from schemas/prompt-schema.json.

Multi-step workflow shape

yaml
harness: copilot-cli
model: claude-sonnet-4.5
steps:
  - prompt: Review @src/
finalStep:
  prompt: Summarize what changed.

Workflow-level fields

FieldTypeNotes
harnessstringOne of the supported harness IDs
modelstringHarness-specific model name
agentstring or nullPortable ctrlyoke prompt attachment; resolved into categorized prompt references and wrapped in <agentInstructions>
skillsstring[] or nullPortable ctrlyoke prompt attachments resolved into categorized prompt references
resumeSessionbooleanDefault session behavior
sessionIdstring or numberExact session, step reference, or "finalStep"
mcpServersarray or nullInclude "ctrlyoke" for dynamic queue support
hooksarray or nullUser-defined harness hook commands
endConditionobject or nullPost-step validation defaults
preConditionobject or nullPre-step gating defaults
priorContextkeyword or number[]Prior-output injection rules
additionalArgsstring or nullExtra CLI arguments
toolPermissionsobject or nullPer-workflow tool permission overrides
stepsarrayRequired for multi-step workflows
finalStepstepOptional loop/review step
varsobject substitutions

Prompt step fields

FieldTypeNotes
type"prompt"Optional; prompt is the default
namestringDashboard label
promptstringInline prompt text or a prompt file path
_runtimeobjectAdded automatically during execution

Prompt steps also accept the execution fields listed in the workflow-level table.

Script step fields

FieldTypeNotes
type"script"Required
namestringOptional label
scriptstringCommand or script path
compareSourceauto, stdout, stderr, exitCodeComparison source
returnsstringExpected result
timeoutnumberMilliseconds
onPasscontinue, stopWorkflowPass behavior
onFailcontinue, stopWorkflowFailure behavior

End condition fields

FieldTypeNotes
scriptstringCommand or script path
returnsstringExpected result
compareSourceenumOutput source to compare
timeoutnumberMilliseconds
maxRetriesnumber-1 for unlimited
retryPromptstringRetry template
passRetryPromptstringTemplate sent when a passing condition is retried
resumeSessionOnRetrybooleanReuse same session on retry
onPasscontinue, retry, stopWorkflowPass behavior; exhausting pass retries advances
onFailcontinue, retry, stopWorkflowFailure behavior

Tool permissions

toolPermissions contains:

  • mode: dangerouslyAllowAll, allowAll, custom, or passthrough
  • allowedTools: allow-list patterns
  • deniedTools: deny-list patterns

Allowed Tools and Denied Tools are currently supported by Copilot CLI, Claude CLI, Qwen Code, and OpenCode. Qwen is inline granular support. OpenCode delivers permissions through OPENCODE_CONFIG_CONTENT and writes no workspace opencode.json. Codex and Antigravity provide a derived mode-only summary; their Allowed Tools and Denied Tools lists are NOT ENFORCED.

Use passthrough when you want ctrlyoke to omit its permission flags and rely on the harness's own local configuration.

Source-available under the ctrlyoke Commercial License.