deterministic, repeatable agent workflows — written in plain language, executed exactly as defined.

openclaw lets you build with capable models — but capability and consistency are different problems. when your workflow runs differently on tuesday than it did on monday, you're not shipping features. you're debugging runs, tracing model quirks, and patching output formats — again.
three things that let openclaw users ship workflows they trust.
declare every step explicitly — execution order, inputs, and outputs are guaranteed by the runtime, not the model.
write workflows in .whip — readable, diffable, no sdk wiring, no glue code.
swap claude for gpt or a local model in one line — your workflow logic stays exactly the same.
define steps, input variables, and skill calls in plain language. no imports, no async/await, no boilerplate — just the logic you care about.
touch my-workflow.whipthe runtime resolves variables, calls skills in order, and logs each step with timing and output — full observability, no black box.
whipflow run my-workflow.whipchange the underlying model in your config and re-run. your workflow doesn't care — the contract it enforces stays identical.
whipflow config set model claude-sonnet-4-6harness farm is built for openclaw users who need repeatability, not just capability.