From 1622ad7dee51fa79f61bd9adf08d53145c021053 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 28 Aug 2026 11:29:24 +0000 Subject: [PATCH] docs: add Where to start routing table to claude-workflow-conversion.md Add a navigation table near the top of the conversion reference that routes a Claude dynamic-workflow developer to the right sample based on their script's structure (flat, canonical, nested, budget/log, multi-stage pipeline, or Anthropic engine). Fixes the discoverability gap where the relevant migration samples were listed only at the bottom of the doc after the reader had already parsed the full primitive table. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../rig/references/claude-workflow-conversion.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/skills/rig/references/claude-workflow-conversion.md b/skills/rig/references/claude-workflow-conversion.md index e0ae301..9d049a2 100644 --- a/skills/rig/references/claude-workflow-conversion.md +++ b/skills/rig/references/claude-workflow-conversion.md @@ -10,6 +10,21 @@ A dynamic workflow is a sandboxed JavaScript module that exports a literal shape with a typed `workflow({ meta, input, body })` whose `body` receives those primitives from its context instead of from globals. +## Where to start + +Choose the migration path that matches your script's structure: + +| My script looks like… | Start here | +| --- | --- | +| Top-level `phase` / `call` / `pipeline` at module scope (flat script) | [340-flat-workflow-port.md](../samples/340-flat-workflow-port.md) — swap injected globals for `"rig/globals"` imports with minimal changes | +| `body` function with `args` and structured output (canonical pattern) | [310-workflow-audit-verify.md](../samples/310-workflow-audit-verify.md) — direct `args`→`input` + `agent`→`call.json` port | +| Nested `workflow(ref, args)` calls | [330-nested-workflow-composition.md](../samples/330-nested-workflow-composition.md) — `call.workflow` shares the parent's limiter and budget | +| `log`, `budget`, open-ended `while` loop | [320-budget-aware-crawler.md](../samples/320-budget-aware-crawler.md) — `log`/`budget.remaining()` + bounded `until` loop | +| Two or more chained `pipeline` stages | [401-multi-stage-pipeline-workflow.md](../samples/401-multi-stage-pipeline-workflow.md) — note the `(prev, item, index)` stage signature | +| Running on Claude (not Copilot) | [411-anthropic-engine-workflow.md](../samples/411-anthropic-engine-workflow.md) — `anthropicEngine()` + full Claude model IDs | + +Then read [Behavior differences](#behavior-differences-to-keep-in-mind) before you finalize the port. + ## Primitive mapping | Dynamic workflow | rig | Notes |