I rerolled one AI video prompt 10 times. The prompt was the problem, not the dice. A developer built ai-film-crew, an open-source agent skill that runs AI video prompts through seven film-production roles to catch common failure modes before generation. Testing a coffee-spill prompt ten times showed the model consistently dropped the key action because two actions competed in one clip and the payoff came in the final clause; rewriting it as a single-subject, action-first shot landed the splash in 10 out of 10 takes. The MIT-licensed skill works with Wan, LTX, HunyuanVideo, Kling, Veo, Seedance, Hailuo and Runway and runs in Claude Code, Codex, Cursor or any tool that reads SKILL.md. When an AI video clip comes out wrong, the reflex is to hit generate again. Sometimes that's right: video models are probabilistic, and some takes are just weaker than others. But when the same thing goes wrong ten times in a row, it's not the dice. I wanted a 5-second vertical clip of a coffee spill in a café. One line: A barista bumps a customer's elbow and a paper coffee cup slips and spills onto the café floor next to white sneakers, slow motion, handheld close-up, warm morning light. I generated it 10 times with the same settings 9:16, 5 s . Top row before : the cup falls, rolls, lands upright. The spill, which was the whole point, barely happens in any of them. Bottom row after : the same app and settings, with a rewritten prompt for just the spill. The splash lands on the sneaker in 10 out of 10. Nothing exotic. Two mistakes that show up in almost every failing video prompt: 1. Two actions fighting in one clip. "A barista bumps an elbow" and "the cup spills." In 5 seconds the model has to stage a bump, a slip, a fall and a splash. It picks some of that and drops the rest. 2. The key action was the last clause. The spill came after the barista, the elbow, the cup and the café. Models tend to weight what comes first. Mine kept delivering the setup and skipping the payoff. A real film crew would never shoot it that way. The director would break it into shots. The DP would frame the spill tight at floor level with a locked camera, because liquid physics is hard. The script supervisor would flag that one clip is trying to do two things. So the rewrite for the spill shot was: Extreme close-up at floor level, 50mm lens, locked-off camera, on clean white leather low-top sneakers standing on a polished grey concrete floor. Black coffee splashes down onto the sneaker toe and spreads across the concrete in a wide splatter, droplets bouncing. 2x slow motion. Warm morning sunlight raking from camera-left, hard highlights on the wet coffee. 35mm film look, fine grain. One subject. One action, stated first in its own sentence. One camera instruction. The bump becomes its own shot. It isn't perfect. In a few takes the coffee reads a bit syrupy, so the next change would be dropping slow motion to real time. But now I'm fixing texture, not whether the shot happens at all. These are the rules I now run every video prompt through: Running that checklist by hand gets tedious, so I packaged it as an open-source agent skill: ai-film-crew https://github.com/HEOJUNFO/ai-film-crew . It runs your idea past seven roles, each with one job: | Role | Catches | |---|---| | Director | mood-only beats, slow openings | | Production designer | characters drifting between shots writes a continuity bible | | DP | combined camera moves that warp geometry | | Gaffer | flat, evenly lit "AI look" | | Editor | shots longer than the model can generate | | Sound | audio cues sent to silent models | | Script supervisor | continuity, feasibility, slop; can veto any shot | It has three modes: It works with Wan, LTX, HunyuanVideo, Kling, Veo, Seedance, Hailuo and Runway, and it runs in Claude Code, Codex, Cursor or anything else that reads SKILL.md : npx skills add HEOJUNFO/ai-film-crew Then just ask for a video: 15s vertical ad for a handmade ceramic mug, for Kling this prompt keeps failing: "a chef flips a pancake in slow motion, cinematic, 8k" The coffee example and a full Kling ad plan are in the repo's examples/ folder. I work on Ludyte https://share.ludyte.com/junfoi , an AI video app, and both rows of clips above were generated there. The skill is MIT-licensed and model-agnostic; nothing in it depends on Ludyte. If an adapter for your model is out of date, or you have a before/after that proves a rule wrong, PRs are welcome. The per-model advice goes stale fast.