new-exec-type
Add a new executable type to the flow runner (a new kind of automation block users can define in .flow files).
SKILL.md.claude/skills/new-exec-type/SKILL.md
GitHubAdd a new executable type to the flow runner for: $ARGUMENTS
An "executable type" is a new automation block users can declare in .flow files (like exec, serial, parallel, render). Follow these steps in order:
Schema first — add the new type's fields to
types/executable/executable_schema.yaml. Read the existing schema to match the structure. Regenerate with thegenerateexecutable (mcp__flow__execute, refgenerate) — it rewritestypes/executable/executable.gen.go. Never edit the.gen.gofile directly.Runner handler — each type is its own package: create
internal/runner/<type>/<type>.go. Readinternal/runner/exec/exec.goorinternal/runner/serial/serial.goas reference for the exact interface and pattern.Register the type — wire the new handler into
internal/runner/runner.go(the dispatch table).Parser support — update
internal/fileparser/if needed to recognize and validate the new type during YAML parsing.Tests — add unit tests in
internal/runner/<type>/<type>_test.gousing Ginkgo. UseDescribe/It/Entry— neverFDescribe/FIt. Cover happy path and error cases.Validate — run the
validateexecutable (mcp__flow__execute, refvalidate) to confirm generate, lint, and tests all pass.
Do not skip the schema step — editing generated files directly will cause CI to fail.