Structured Storyboard Workspace

Build structured storyboard workspaces with shot fields, character/scene/prop consistency, and shot prep for video generation. Use when creating storyboards, shot lists, or pre-production boards for short drama or AI video workflows.

Structured Storyboard Workspace

What it does

Creates a structured storyboard workspace with standardized shot fields, asset consistency tracking, and shot preparation for downstream video generation.

When to use

  • Converting beats into reviewable storyboard sheets
  • Enforcing character/scene/prop consistency across shots
  • Preparing shot-level prompts for image or video generation

Inputs

  • Production manifest (beats, characters, environments, props)
  • Optional reference images or style notes

Outputs

  • Structured storyboard JSON/YAML with per-shot fields
  • Consistency map linking assets to shots
  • Shot prep prompts ready for generation

Shot fields (required per shot)

  • shot_id — Stable identifier (e.g. S01, S02)
  • beat_id — Parent beat reference
  • duration_s — Target clip length
  • action — What happens on screen
  • dialogue — Spoken lines (if any)
  • camera — Framing / movement note
  • characters — Character IDs in frame
  • environment — Environment ID
  • props — Prop IDs visible
  • continuity_notes — Match previous shot, wardrobe, lighting

Steps

  1. Load production manifest.
  2. Expand each beat into 1–3 shots.
  3. Fill all required shot fields.
  4. Run consistency check: every asset ID resolves; no new unnamed entities.
  5. Export storyboard workspace file.

Quality checklist

What we found running it

Four tasks, each run with the skill installed and again with skills disabled, same task text. Both arms turned beats into shot lists every time. Two differences held across the set.

The first is format. The skill arm wrote storyboard.json in all four runs; the control arm produced one in one run out of four. And the skill arm's JSON is a schema rather than an ad-hoc object — the same required fields appear verbatim in every run (shot_id, beat_id, duration_s, action, dialogue, camera, characters, environment, props, continuity_notes), with the dialogue field explicitly left empty and annotated in task 4 where the narration is recorded separately. It added consistency_map.json (796 B) in task 2 on top of that. If the next step is a script reading shot records, that difference is the whole thing; if a person is reading the table, the control arm's markdown is equivalent.

The second is how shots get allocated. The control arm applied a fixed multiplier — three beats became nine shots in tasks 1, 2 and 4 alike, three per beat every time. The skill arm varied by content: eight shots from three beats in task 1 (three, two, three), seven in task 2, seven in task 4. Whether its allocation is better is a judgment we did not make; that it responds to the beat rather than to a constant is checkable and it did.

Task 3 is the useful control. It carried hard constraints — 45 seconds maximum, six shots maximum — and both arms landed on exactly six shots and 40 seconds. Under an explicit budget the two converge, which suggests the shot-count difference above is a default, not a capability.

Cost: $0.32 / $0.34 / $0.24 / $0.33 with the skill against $0.18 / $0.16 / $0.19 / $0.60 without. The last figure is not a typo — the control arm spent 23 turns and $0.60 on task 4 and still returned two files to the skill arm's three.

One bookkeeping note in the skill arm's favour and against it: in task 1 its answer says it produced three files and it actually produced four, shot_prep_prompts.md (4,611 B) included. The file is real; the summary undercounts it.

What we did not test: nothing was rendered. Every artifact is a shot record, and the continuity_notes field — the part meant to keep a character stable across shots — has no evidence behind it here, because no frames were generated to be inconsistent with each other. Four tasks, all Chinese, all supplying a clean manifest with asset IDs already assigned; we have no evidence about what happens when the manifest is missing or the IDs collide.

Reference repos

  • Jellyfish, ArcReel, Seedance2-Storyboard-Generator, StoryGen-Atelier

Related Skills

Explore More →