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.
Creates a structured storyboard workspace with standardized shot fields, asset consistency tracking, and shot preparation for downstream video generation.
shot_id — Stable identifier (e.g. S01, S02)beat_id — Parent beat referenceduration_s — Target clip lengthaction — What happens on screendialogue — Spoken lines (if any)camera — Framing / movement notecharacters — Character IDs in frameenvironment — Environment IDprops — Prop IDs visiblecontinuity_notes — Match previous shot, wardrobe, lightingFour 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.
1 month ago · v1.0.0
2 months ago · v1.0.0
2 months ago · v1.0.0