Skip to main content
create-workflow writes a .tsx orchestration skeleton and its prompts, then verifies and documents it with a companion agent skill.

The two-file model

The .tsx imports and renders the .mdx at runtime: editing the prompt changes behavior on the next run, no build step, no TypeScript.

Your first edit

After create-workflow generates a workflow, open its companion .smithers/prompts/WORKFLOW_ID.mdx:
Change the instruction, e.g. ask for a haiku:
Run it again:
The agent now writes haiku. The .tsx file didn’t change.

Template syntax

Props come from the workflow input and are interpolated with {props.key}:
Any input field the workflow declares is available as props.<field>.

Create a new MDX-backed workflow

Use the built-in create-workflow workflow:
Or scaffold by hand:
  1. Create .smithers/prompts/my-task.mdx and write the instruction.
  2. Copy examples/init-pack/hello.tsx, rename the workflow name and prompt import.
  3. Run bunx smthrs workflow run my-task.

When to graduate to TypeScript

Stay in MDX until you need:
  • Multi-step branching - different tasks depending on a prior output
  • Parallel fan-out - tasks running simultaneously
  • Validated structured output - Zod schemas on task results
  • Loops - retry until a score threshold passes
See the TypeScript SDK for all of that.