Skip to content

Starting a New Workflow

End-to-end walkthrough: take a product brief and produce a finished, fanned-out workflow at V1. This is the path you'll follow most often — every other chapter is a slice of this one.

Time and cost expectations

A typical from-scratch workflow takes 2-4 hours of active time spread across 1-3 days (most of which is waiting on generations + iteration between stages). Generation cost ranges from $5-30 per workflow depending on length, B-roll density, and how many regen iterations a stubborn scene needs. Faster and cheaper paths are covered in Chapter 13 — Workflow Optimization; read that AFTER you've done one workflow end-to-end so the trade-offs make sense.

What you'll do

flowchart TB
    A[1. Gather the brief] --> B[2. Confirm direction]
    B --> C[3. Script]
    C --> D{Approved?}
    D -->|no| C
    D -->|yes| E[4. Storyboard]
    E --> F{Approved?}
    F -->|no| E
    F -->|yes| G[5. Generate .nbflow]
    G --> H[6. Run the Generation Runner]
    H --> I[7. Review in PatchWork]
    I --> J{Pass?}
    J -->|no, iterate| K[Bump V0-N, fix, regenerate]
    K --> H
    J -->|yes| L[8. Fan out to other accounts]
    L --> M[V1 - approved]

Each stage gates the next. You only move forward when the current stage is approved.

1. Gather the brief

Claude opens by asking about the workflow you want to build. The more concrete the brief, the less iteration later — but you can move on with partial answers; the Visual Planner will fill the gaps.

The questions Claude works through:

Product
Brand and SKU. Key ingredients, mechanism, primary benefit. Any existing brand docs to load.
Audience
Age range, gender, lifestyle. Awareness level on the Schwartz scale — a 5-level framework (Unaware → Most Aware) that decides whether the script opens with a pattern interrupt, a symptom-cluster hook, or a direct CTA. Plus the pain points you're addressing.
Tone
Aspirational / relatable / edgy / warm / clinical / casual. Energy level (calm explainer vs urgent hook).
Platform
TikTok, Reels, Facebook, or all three. Defaults to TikTok.
Sales channel
TikTok Shop (Shop button + AI Label Trick recommended), Amazon-via-keyword (ManyChat DM with link, no AI label), or Meta Shop (Shop button → Amazon link, no AI label). Decides the CTA wording and whether you need the AI Label Trick — a 0.01-second flash of a dark frame at the very end of a TikTok video that triggers TikTok's "AI generated" label, sidestepping content-policy flags. Required on TikTok Shop content, unnecessary on Amazon or Meta channels.
Content type
Defaults to sales (product-focused, conversion goal). Optionally growth (educational, soft sell — recipes, anatomy explainers). Only ask if it comes up; the default is fine.
B-roll density
High (every speaking scene), Medium (default — scenes that can be visually reinforced), Low (2-3 critical moments only), or None (continuous speaking, no cutaways). For a video-copy workflow, this is dictated by the source, not chosen freely.
Visual direction
Model / subject look, environment, lighting, camera style, color palette, aesthetic vibe, production level. If you skip a field, the Visual Planner picks a reasonable default and shows it back to you.
Creative template (optional)

If you've already got a creative template from a research pass, hand it over. Claude maps it into visual direction automatically:

Template section Maps to
Person (age, gender, look, wardrobe) Model / subject look
Environment (setting, lighting, props, background) Environment + Lighting
Dominant Style + Lens Feel + Camera Quality Camera style + Production level
Color Palette + Vibe Color palette + Aesthetic vibe
Production Level Production level

Example session

You: I want to build a new workflow for Brand XYZ — their rhodiola
     product. Target audience is menopausal women 45-60. Sales video
     for TikTok Shop. Use Account A as the test avatar.

Claude:
  Got it. Loading Brand XYZ docs from reference/brands/xyz.md and
  Account A's avatar info... done.

  A few things to lock in before I start:

  - Tone: warm and conversational, or clinical and authoritative?
  - B-roll density: I'll default to Medium unless you'd prefer
    High (more cutaways) or Low (just 2-3 hero moments).
  - Visual direction: bright kitchen / cozy bedroom / clinical
    setting / something else?
  - Sales channel: TikTok Shop with AI Label Trick — confirmed?

You: warm and conversational. Medium B-roll. Bright kitchen, natural
     window light. Yes on TikTok Shop with AI label.

Claude: Locked. Summary coming...

2. Confirm direction

Claude summarizes the brief — including visual direction — for your confirmation. This is the last cheap chance to catch a misunderstanding. Once you say "go," scripting starts.

A good summary looks like:

Building a sales workflow for Brand XYZ, targeting menopausal women 45-60, using Account A as the test avatar. Tone is warm and conversational. Platform: TikTok Shop with AI Label Trick. B-roll density: Medium. Setting: bright kitchen, natural window light, raw UGC aesthetic. Ready to start scripting?

Say "go" or push back. If you push back, you're still cheap to redirect — no scripts have been written yet.

3. Script

Once you confirm, ask for the script. The Script Writer returns a hook + body + CTA structure tuned to the brief.

Review the draft. If you want changes:

  • Small tweaks (a line here or there) — say what to change directly
  • Direction changes (different hook angle, different CTA approach) — ask for another draft

Approve when it's right. You're cleared to storyboard.

What's happening behind the scenes

The Script Writer agent ingests: the product brief, target audience, any pattern/framework preferences, the Schwartz awareness level, and compliance constraints (banned words from reference/brands/{brand}.md, approved angles). It runs Mode 5 (new script) by default; Mode 1 (adapt existing script) when you've provided a creative template.

Output is the full script text plus compliance notes (any words it flagged itself, any approved angles it chose).

4. Storyboard

Ask for the storyboard. The Visual Planner breaks the script into scenes, picks camera angles, decides which scenes get B-roll, and produces a shot list.

You'll see a user summary — 1-2 sentences per scene — for review. Approve or request adjustments. Iteration here is cheap; iteration after generation is expensive.

What's happening behind the scenes

The Visual Planner takes:

  • The full approved script text (it needs this for scene segmentation and word-count-per-scene planning)
  • Visual direction from step 1
  • B-roll density selection
  • Product info
  • Target audience
  • Sales channel
  • Any Researcher creative template
  • Avatar info (account, archetype)
  • Prehook plan if applicable

Returns two artifacts: a user summary (1-2 sentences per scene, the thing you see) and internal detail (full scene specs — composition, camera angle, lighting, subject pose, props — used by the Image Prompter and Veo Prompter in the next stage).

When you approve the storyboard, the Video Plan (script + storyboard) is locked. Stage 5 runs automatically — no more per-step approval until generation completes.

5. The .nbflow is generated automatically

You don't drive this stage. Once the Video Plan is approved, Claude orchestrates four sub-agents in sequence:

  1. Image prompts — one prompt per shared reference image group for speaking scenes. B-roll gets one reference image per clip (not start+end pairs).
  2. Speaking video prompts — universal talking-head template; only the dialogue line changes per scene.
  3. B-roll video prompts — natural language, no dialogue, ambient audio only. Saved as standalone files in Assets/{workflow}/broll/ and run manually (not wired into the .nbflow).
  4. The .nbflow itself — wires up image gens → scene Veo3 nodes → Approval gates.

The output lands at projects/{month}/{brand}/{growth|sales}/testing/{workflow}-V0-1.nbflow. Your first testing version is always V0-1.

You'll also get a reference material checklist: avatar photo, product photo, any other assets the workflow needs. Have these ready before the next stage.

Before generation, run the pre-generation sanity check. If it surfaces issues, fix them before moving on.

What's happening behind the scenes

Four agents run, coordinated by the Manager:

  • Image Prompter — emits per-scene JSON prompts
  • Veo Prompter — emits Veo prompts; speaking scenes use the universal talking-head template, only dialogue changes
  • Seedance Prompter — emits Seedance prompts when the brief calls for Seedance instead of Veo
  • PatchWork Importer — builds the .nbflow file from all the prompt files, wires up image gens to Veo3 nodes to Approval gates, applies node-ID renumbering rules

The Manager hands each agent only its brief (not pre-written prompts) and lets it apply its own expertise. The pre-generation sanity check then validates the assembled .nbflow for the known classes of importer bugs (see Ch 13).

6. Run the Generation Runner

Ask Claude to run generation. The Generation Runner takes over:

  • The .nbflow path
  • G-Labs tunnel URL (auto-started if not provided)
  • API key
  • Reference image path (if avatar refs are unwired)
  • Concurrency (3 default, 5 cap)

The runner:

  • Enforces outputCount=4 on every gen node
  • Uploads reference images to R2
  • Wipes stale cache
  • Runs all generation nodes
  • Visually reviews every image for AI tells, auto-reruns flagged outputs (up to 3 attempts)
  • Exports -generated.nbflow to projects/{month}/{brand}/Generations/

For a fast image-only validation pass (skip video gen), ask for mode=images. Useful when you want to verify image gens look right before committing the full Veo budget.

Example session

You: looks good — go ahead and run generation. Just images first
     so I can validate the avatars and settings before we spend
     on Veo.

Claude:
  Starting cloudflared tunnel... up at https://...trycloudflare.com.
  Running Generation Runner on XYZS1-V0-1.nbflow, mode=images,
  concurrency=3.

  [progress updates as nodes complete]

  Done. 8 image gens × 4 candidates = 32 stills. 2 candidates flagged
  for AI tells, auto-reran them; new attempts passed.

  Exported XYZS1-V0-1-generated-20260512-143021.nbflow to
  projects/may/xyz/Generations/. Open this in PatchWork to review.

7. Review in PatchWork

Open the exported -generated.nbflow in PatchWork's web UI. Each generation node shows 4 candidates in its Approval gallery.

For each scene:

  1. Pick the strongest still from the image gen Approval
  2. Pick the strongest video clip from the Veo3 Approval (once you run video gen)
  3. If no candidate is acceptable — rerun that node:
    • Same prompt, different seed (re-roll)
    • OR edit the prompt and rerun (if the issue is a prompt problem, not a model variance problem)

PatchWork remembers your picks. You can come back later and finish reviewing without losing state.

8. Iteration during testing (V0-N)

Once you're reviewing, every meaningful change bumps the V0-N counter and archives the previous version. See Variants & Versioning — what counts as a meaningful change.

A typical iteration sequence on the test account:

V0-1 → first build
V0-2 → fix prompts that produced bad outputs, regenerate
V0-3 → adjust storyboard, regenerate
V0-4 → maybe one more QA pass on stubborn scenes

Bump the version every time — don't overwrite. The previous file moves to backups/{workflow}-V0-N.nbflow.bak-{date}-{reason}. This gives you a frozen audit trail you can diff against if something breaks later.

Iterate until the test account's outputs are clean.

9. Fan out to other accounts

When the test account is clean, fan out to your remaining target accounts. The Fan-out Protocol is 7 steps in fixed order:

  1. Duplicate the workflow tab per target account
  2. Reassign node IDs so every node is globally unique
  3. Rename nodes to match each avatar
  4. Swap the avatar character reference sheet
  5. Walk the per-avatar CUSTOMIZED checklist (wardrobe, persona, dialogue swaps)
  6. Verify STANDARD items are byte-identical across tabs
  7. Run a single test generation per tab to sanity-check the avatar swap

The fan-out itself bumps the version (V0-N → V0-N+1 — fan-out is still part of testing).

10. Graduate to V1

When all account tabs ship clean AND you explicitly approve the workflow → graduate to V1. The file moves from testing/ to approved/. The version registry updates.

The workflow is now production-ready. Any further changes follow the variant rules.

Common first-workflow mistakes

Skipping the brief confirmation step
You'll get a script for what Claude thought you wanted, then spend two rounds rewriting it. The confirmation step is 2 minutes; misalignment costs an hour.
Asking for every visual direction question individually
If you're not sure on a field, let Claude propose a default and push back if it's wrong. Decision fatigue at the brief stage kills momentum.
Generating before running the sanity check
You'll discover the model field was wrong AFTER paying for a Generation Runner pass. Always sanity-check first.
Iterating in place without bumping V0-N
You lose the audit trail. Even a "small" prompt change deserves a version bump.
Fanning out before the test account is truly clean
Drift gets multiplied across N accounts. Fix the test account first, then fan out once.
Treating the AI tells QA as optional
The Generation Runner does this automatically. If you skip it (e.g. by running a manual generation outside the runner), shipped content will have avoidable hand and face artifacts.

Checklist

  • Brief gathered (product, audience, tone, platform, sales channel, B-roll density, visual direction)
  • Brief summarized back, confirmed
  • Script approved
  • Storyboard approved
  • .nbflow generated and saved to testing/{workflow}-V0-1.nbflow
  • Pre-generation sanity check passes
  • Generation Runner pass complete
  • Reviewed in PatchWork, candidates picked
  • Iteration done — V0-N is clean on the test account
  • Fan-out complete to all target accounts
  • Workflow graduated to V1 in approved/
  • Version registry updated

When you're ready

Next: Video Copy Workflow. The same 10-stage shape, but with one twist: scenes, B-roll, and structure are dictated by an existing video, not designed from scratch. This is how most production work actually gets built.