.lobsterX is Forge’s workflow definition format. Every prescriptive workflow is a single YAML file declaring steps, roles, dependencies, and failure policies. The format is Zod-validated at parse time via packages/shared/src/lobsterx-schema.ts. Invalid definitions are rejected before any step dispatches.
Steps
The atomic units of work. Each step defines:| Field | Description |
|---|---|
id | Unique identifier (snake_case) |
command | Instruction sent to the agent. Supports ${arg} interpolation. |
role | Abstract agent assignment, resolved at runtime via role bindings |
depends_on | DAG edges — step waits until all listed steps complete |
inputs / outputs | Typed data flow with JSON Schema validation |
timeout | Max execution time in seconds (default: 600) |
on_failure | halt, skip, retry_once, or retry_once_then_escalate |
Phases
Visual groupings of steps for dashboard rendering. Phases define timeline “chapters” in Burgundy. Steps within a phase run in parallel if their dependencies allow it. Phases do not affect execution order — the DAG does.Roles
Abstract agent assignments resolved at runtime. A role likereviewer maps to a concrete agent through deployment role bindings. Roles declare description and required_skills to guide assignment.
Conditions
Step-level conditionals for branching. A step withcondition: "${include_legal} == true" evaluates against runtime args and prior step outputs. Steps with false conditions are skipped without contacting a gateway.
Example
Naming: Step IDs use
snake_case. Workflow names use kebab-case.In Burgundy: Build workflows visually in the workflow builder. ->

