Skip to content

Tooling

Workflow builder

Assemble an Arcturn workflow visually — stages, parallel branches, model tags and roles — and take away the markdown file the CLI runs. Everything happens in your browser; nothing is uploaded or stored.

Frontmatter

The keys between the --- fences. Only the name is required; everything left empty stays out of the file.

Preamble — prose before the first stage, kept verbatim

Pipeline

Placeholders: {{input}} is the text the workflow was invoked with, {{prev}} the previous stage's output, {{journal}} the run journal so far — the last two have no value in stage 1.

  1. Stage 1
  2. Stage 2

Markdown

---
name: my-workflow
---
1. @architect Plan the change described here, as a numbered brief: {{input}}
2. @developer Implement the plan below and report what you ran. Plan: {{prev}}

Valid — the CLI's parser accepts this file.

Import

Paste a workflow file or pick one from disk. Importing replaces what is in the editor; a file the parser rejects changes nothing.

Load a real kit workflow

The format

What the file means

A workflow is one markdown file: optional frontmatter, optional prose, then a numbered list where every line is a step. The engine's parser is strict on purpose — a typo fails loudly instead of silently reaching a model.

Stages, branches, prefixes

Stages are numbered consecutively from 1, one physical line each. Indented - bullets under a stage run as parallel branches; the parent line is then empty or a label ending in :. A step line reads [model-tag] @role prompt, in that order, both prefixes optional — a tag may name a tier (tier:judgment) or a concrete model id.

Three placeholders exist: {{input}} is the text the workflow was invoked with, {{prev}} the previous stage's output, and {{journal}} the run journal so far. The last two have no value in stage 1, and anything else in double braces is a parse error, not passed-through text.

review-and-fix.md
---
name: review-and-fix
description: Reproduce, fix, then verify from two angles at once.
budgetUsd: 10
---
Prose before the first numbered line is documentation — the parser skips it.

1. @qa Reproduce the bug and write a failing test. Report: {{input}}
2. @developer Fix the code until that test passes. Repro: {{prev}}
3. Verify in parallel:
   - [tier:fast] Run the full suite over the fix: {{prev}}
   - @qa-adversarial Try to break the fix from a new angle: {{prev}}

Frontmatter keys

name
Required. Lowercased and stripped to letters, digits and "-" — the builder warns when what you typed is not what installs.
description
One free-text line. Only the first colon on the line separates key from value.
continueOnError
Exactly "true" or "false". When true, a failed stage does not stop the run.
stepTimeoutMs
Wall clock per step, a whole number of milliseconds above zero.
maxStepRetries
Transient-failure retries per step. A whole number; 0 disables retry.
budgetUsd
Run-level spend ceiling in US dollars. Decimals are legal; 0 disables it.
budgetTokens
Run-level token ceiling. A whole number of tokens; 0 disables it.