Video Spec Builder

Turn a vague brief into a shot-level video spec: timing to 0.1s, named visual components, and a pre-delivery checklist. Use when planning a short promo before any prompting or shooting starts.

We fed it a deliberately lazy brief — “a promo, ten-odd seconds, three or four shots, for Douyin” — with five answers planted in it that the skill itself says it will not accept.

It came back with a twenty-second vertical spec: twelve shots across nine sections, every shot timed to 0.1s, every visual element named from a real component ID. We then wrote a checker that turns the skill’s own pre-delivery checklist into an executable gate. Twenty checks, twenty passes.

Excerpt of the twenty-second video spec the skill produced
The opening of the spec it produced — audience, tone, narrative beats with timecodes, visual rules, and a shopping list with search terms and acceptance criteria. The full document runs to twelve shots.

What it is

A conversational spec builder. The selling point is not generation — it is interrogation discipline: it refuses adjectives and pushes every requirement down to shot granularity before it writes anything. Ask for “something cinematic” and it will ask what that means in seconds and frames.

It ships a catalogue of 69 visual components, each with a “when to use / when not to use” note. We counted them — the number in the description is accurate. Writing our spec, all twelve shots landed on real component IDs, because inventing one would contradict the catalogue’s own descriptions.

What we found running it

Conflict detection only exists in iteration mode. Our brief carried a hard contradiction: Douyin is a hook-type platform where the rules require 8–15 shots at 0.8–2.0s each, and the brief asked for 3–4 shots over a dozen seconds — which works out to 4.5s per shot, a documentary pace the rules explicitly forbid for that platform. Nothing in the 0-1 flow is assigned to catch this. It surfaces only if the agent happens to open the pacing rules on its own.

A hard constraint lives only in the references. Narration is bound to a words-per-second band, and our first draft fell under it — but the constraint appears nowhere in SKILL.md. You find it only by reading the pacing rules, which the skill suggests reading “when discussing pacing” — not when writing shots.

Neither is a defect in the output. Both are places where the discipline depends on the agent being thorough rather than on the skill enforcing it, so we wrote the gate ourselves.

Four tasks, each run with the skill installed and again with skills disabled, same task text. Three of the four comparisons are usable; the fourth failed in a way worth reporting on its own.

The shape of the output is the headline, and it runs opposite to what you might expect: the skill arm produces fewer files, not more. Across the batch it wrote 3 artifacts to the control arm's 20, because its answer to every brief is a single video-spec.md. In task 1 that file is 25,982 B — sixteen shots timed to 0.1 s, each carrying component IDs, motion, sound effects and transition, plus an audio timeline, a set of counterexamples, and a closing list of open questions naming exactly what only the client can supply (product name, logo, brand colour, whether the trust badges are truthful). Task 2's is 21,652 B in the same form. The control arm split the same work across four and five files respectively — creative brief, script, shot list, production checklist — which is easier for a person to skim and harder for a renderer to consume. Neither is wrong; they are aimed at different readers.

Task 3, which hands over an existing spec and asks for a rhythm change, is where both arms converge — 693 B and 786 B, essentially the same edit. One difference: the control arm flagged that no video-spec.md actually existed on disk and that it was reconstructing the file from the pasted text before editing it. The skill arm's answer does not mention this.

The density costs real money. Tasks 1 and 2 ran $1.35 and $1.17 with the skill against $0.35 and $0.31 without — roughly four times.

And in task 4 it cost everything. Asked to turn a three-minute screen recording into a YouTube tutorial, the skill arm ran 27 turns, spent $2.50, and returned nothing: API Error: Claude's response exceeded the 16384 output token maximum. The single-large-document approach that produces a 26 KB spec on a 60-second brief is the same approach that overran the model's per-response output ceiling on a longer one. That is a property of the skill, not an accident of our harness, and it is the failure mode to watch for. The control arm completed the same task for $1.08, shipping ten files including four scripts it had actually executed against a synthetic test video — fixing an ffmpeg crop argument and a missing CJK font along the way.

What we did not test: nothing was rendered from any spec. The 0.1 s shot timings, component IDs and theme selections in those two large files have never been fed to a renderer, so we have no evidence that the spec format is actually consumable — only that it is internally consistent and complete on its face. Four tasks, all short-form except the tutorial.

Related

For prompting a video model once the spec exists, see Seedance 2.0 Prompting.

Installing

Not ours — install from the source repository. MIT, and it costs nothing to run: no API keys, no paid models.

相关技能

探索更多 →