Skip to main content

Steps

A step is a unit of work in a workflow. Each step declares a type that determines its output contract and default behavior.

Step types

Day 1 types are code, split, and validate. Additional types (search, scrape, surf, use, doc) are planned for future releases.

The GET → RUN → GATE model

Every step follows three phases:
The get: and run: blocks structure the step into visible phases. Keywords can also be flat (without blocks) for simple steps — both forms are equivalent at parsing. Flat form — for simple steps:
Structured form — for complex steps (recommended when using retry or context):
A keyword cannot appear both in a block and at the step level — that’s a parsing error.

Gate-only steps

A step with gate but no agent and no type is valid. It runs deterministic checks on the current worktree state. Useful for final quality checks.

agent: pass

agent: pass is a special value that skips the RUN phase entirely. The GET is loaded (state is up to date), the GATE runs, and retry applies if it fails. Use case: pre-evaluate a condition before spending tokens on an expensive agent.