Communitygithub.com

ice-film

Internal part of Ice Motion Director, not a command: start with /ice. Workflow of Ice Motion Director for motion films made from scratch: product launch films, app ads, brand films, logo stings, kinetic type, data stories, social shorts, hype promos, UI walkthroughs, music videos, art films and industry spots. Started by the Ice Motion Director router (ice-motion-director), which creates the project first; use only when the router hands off or the user names ice-film.

What is ice-film?

ice-film is a Claude Code agent skill that internal part of Ice Motion Director, not a command: start with /ice. Workflow of Ice Motion Director for motion films made from scratch: product launch films, app ads, brand films, logo stings, kinetic type, data stories, social shorts, hype promos, UI walkthroughs, music videos, art films and industry spots. Started by the Ice Motion Director router (ice-motion-director), which creates the project first; use only when the router hands off or the user names ice-film.

Works with✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Omar-Tnzxo/ice-motion-director/tree/main/skills/ice-film

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

What does ice-film do?

Workflow for motion films made from scratch, from the brief to the delivered film on the ten-stage spine. It never restates a domain rule; it points to the skill that holds it.

1. First step

Look for ice/state.json in the working folder.

  • Missing: stop reading this skill. Open the router (ice-motion-director/SKILL.md) and follow it; it creates the project, runs the stage 01 intake and calls this workflow back.
  • Present: read it and resume at current in the recorded mode. Never re-ask what the files answer.

Wrong route, now or mid-run (a teaching voiceover, footage to cut, a reference to remake, ideas only, Lottie or UI motion; a logo sting rendered as video stays here): go back through the router and record why in history.

2. Inputs and start

  1. Read ice/BRIEF.md and ice/DIRECTION.md. When ice/DIRECTION.md is missing, create it with the header of ice-direction/references/decision-process.md section 7; never hand back for it.
  2. Read the truth sheet ice/assets/TRUTH.md (ice-assets). No claim, number, logo, face or screen enters the film unless it is there or marked illustrative.
  3. Size the job (depth table below) and pick the crew row (references/film-setup.md section 2) before dispatching any sub-agent. A short prompt gets the same floor as a detailed one: fill gaps from the type file and ice-direction, log each decision, never fall back to a template.

Read budget. Each ## Spine stages row marks its files Required (open them, in the order listed) or Only if (open only when the condition holds). A file named with a section: read only that section. Open nothing else, and nothing a file merely mentions, unless the stage cannot be finished without it. references/ and roles/ paths are inside this skill; a path starting with another skill's name is in that skill's folder, next to this one.

Stops and approvals. The run waits for the user only at the router's stops table (ice-motion-director/SKILL.md section 5, "Stops"). Every other "ask" in this skill and its files means, in auto mode, decide, log it in ice/DIRECTION.md and report it in the delivery note; in step mode, put it in that stage's review card. Approval: the user in step mode; in auto mode the stage critic the crew row assigns (references/film-setup.md section 2), then the approver role (ice-direction/references/roles.md section 5), who checks the row's "Done when" item by item. Clarity reads 1 to 3 in the rows below are the cold-viewer gate (ice-qa/references/clarity-gate.md): a FAIL blocks 07 or 10 in every mode.

Spine stages

The router owns the spine and the stages map in ice/state.json; this section says what each stage means for a film made from scratch. Stage numbers are always two digits; steps inside a stage (truth pass, openings step, cue sheet step) carry names. Each type file has one machine-readable line Stage order: <stages>, copied into order.

Parallel lanes and the machine-readable Stage order: form: ice-motion-director/SKILL.md section 4 (01 02 03 [04 05] 06 [07 08a] 08b 09 10 by default; a bracket is a lane). Real-screens-led films (app ad, UI walkthrough, product launch with screens) capture the real screens in 01 and run 05 before 04, because the look is the captured UI.

StageWhat this workflow does in itFiles to openDone when
01 briefice-direction intake first: research RQ-business, RQ-brand and RQ-rules, then the one question message; it writes the business brief, the brand material plan and the compliance note (steps the router already ran are not repeated). Then: pick the film type and copy its Stage order: line; size and crew row; truth pass (every claim, number, logo, face and screen the film needs is on the truth sheet or marked illustrative). Real-screens-led types capture the real screens now. Track-led types (hype promo, music video, kinetic type cut to a track, showreel) take or choose the track, run its sync license check and measure its beat map now; other music-led types (brand film by default) do so only when a licensed track already leads, and a code score gets its tempo at 05 and is composed at 08aRequired: ice-direction/SKILL.md section 3 Part A (stage 01 intake, steps 1 to 7, and the files those steps name); references/film-setup.md; references/film-types/<type>.md, only its Stage order: line and the sections Fit, Purpose, Timing master, Truth and content, Deliverables (the other sections at the stage that uses them); ice-assets/SKILL.md; ice-assets/references/truth-sheet.md sections 1 to 4, 6 and 12. Only if a real or reference brand: ice-assets/references/brand-authenticity.md sections 3 and 10 (section 4 only when no official logo file exists). Only if real screens: ice-assets/references/screen-capture.md sections 1 and 2. Only if the film shows a product: references/launch-principles.md section 4. Only if a track leads: ice-audio/references/music-choice-and-licensing.md section 5 and ice-audio/references/cue-map-and-beat-sync.md section 3ice/BRIEF.md has its business brief filled or marked "not a business"; ice/research/COMPLIANCE.md exists; a real brand has ice/assets/BRAND-MATERIAL.md and ice/assets/brand-sheet.json; subtype, size, order, crew and crew_flags are in ice/state.json; every planned claim, number, logo and screen is in ice/assets/TRUTH.md or marked illustrative; real-screens-led: captures on disk; a track that leads passed its sync check and ice/audio/beatgrid.png exists
02 conceptice-direction runs the pitch round; a critic picks one concept. Then three structure options from the type file that carry it; a critic picksRequired: ice-direction/references/pitch-round.md section A; references/structure.md; references/film-types/<type>.md (Structure options); ice-qa/references/clarity-gate.md sections 2 and 6. Only if a brand: ice-qa/references/identity-tests.md. Only if the film shows a product: references/launch-principles.md sections 6-7for a brand, the chosen concept passed the brand test and competitor swap on its blind description; the concept is logged in ice/DIRECTION.md and written to ice/plan/concepts.md with its viewer takeaway; ice/plan/structure.md names the chosen option, the rejected ones with one-line reasons, and a structure fingerprint that differs from previous films
03 scriptScript step: copy, on-screen text and voiceover per beat and language. Openings step: three provisional openings and the first-3-seconds gate. Versions step: every version the brief or the type's Deliverables list (languages, aspect ratios, 15 s and 6 s cutdowns, chapters), each cutdown with its own hookRequired: references/script.md; references/openers-and-endings.md; references/film-types/<type>.md (Rhythm ranges, Text density); ice-assets/references/truth-sheet.md section 5. Only if a beat needs a script shape: references/script-shapes.md. Only if voiced: ice-audio/references/voiceover.md section 3. Only if Arabic or mixed: ice-arabic/SKILL.mdice/plan/script.md passes the claim test, fits its word budget, is cue-segmented and has every language checked; ice/plan/versions.md lists each version with its length, aspect, language and hook (or says "master only"); ice/plan/hooks.md holds three openings and the gate's choice
04 storyboardRough boards, composition and timing, without the look: beat table, carry and handoff contract, rough board (grey blocking frames with real copy), shot plan, motion plan. Lock lines Style: and Palette: read set at 05 until 06 (real-screens-led films ran 05 first and write them now)Required: references/storyboard.md sections 1-6; ice-qa/references/storyboard-lint.md sections 1-2; references/film-types/<type>.md (Transition policy, Camera policy during holds, Richness floor); ice-qa/references/clarity-gate.md sections 1, 3, 6 and 8. Only if the film shows a product: references/launch-principles.md sections 1-3, 8-9. Only if a composition rule is needed: ice-motion/references/composition-and-staging.md section 7. Only if a beat uses a motion blueprint: ice-motion/SKILL.mdice/plan/storyboard.md lints clean and every beat has a job, a carrier and an exit; ice/plan/rough-board.png exists; ice/plan/shot-plan.md gives every shot start, decisive and handoff states, a camera reason and a richness estimate; ice/plan/motion-plan.md exists; clarity read 1 passes (with 05)
05 lookice-direction decides palette, type, style, motion language and sound lead, each with options and a critic. This workflow makes the mood board and the style frames with real copy, real fonts and the brand's real materialRequired: ice-direction/references/pitch-round.md section B; references/storyboard.md section 7; ice-styles/SKILL.md; ice-qa/references/clarity-gate.md sections 1, 3 and 8; ice-qa/references/studio-benchmark.md. Only if a brand: ice-qa/references/identity-tests.md sections 3-6. Only if type is not locked by a design file: ice-type/SKILL.md. Only if a real brand: ice-assets/references/brand-authenticity.md sections 3-4look entries in ice/DIRECTION.md each have a reason and a source; the mood board is in ice/plan/mood-board/ and the style frames in ice/plan/style-frames/; the default-look gate and the 4-of-6-axes distance check pass (ice-qa measures); clarity read 1 passes (with 04: ice-qa/references/clarity-gate.md, run when the later of 04 and 05 is drawn), with the brand test and swap on masked frames; the studio benchmark is logged and a capped gap was told to the user; code-drawn frames pass the art check (references/storyboard.md section 7)
06 animaticMerge 04 and 05: fill the lock lines, build the stills board (every shot in its settled pose with the look), re-run the lint. Cue sheet step: one timing master, every cue placed. Animatic step: the stills board timed to the cue sheet with temp or final sound, or a full animatic when the depth table asks. Usual preview for the router's approval stopRequired: references/storyboard.md section 7; references/cue-sheet.md; ice-audio/references/cue-map-and-beat-sync.md sections 1-2; ice-qa/references/clarity-gate.md sections 3 and 8. Only if a full animatic: ice-ideas/references/storyboards-and-animatics.md section 6ice/plan/stills-board.png is at or above the type's richness floor and the lint passes with real lock lines; ice/plan/cue-sheet.json is locked, every cue naming its source (word, beat, transient, reading time); a full animatic is at ice/renders/animatic.mp4; clarity read 2 passes
07 buildHardest beat and one critical transition first, stills at every cue, then the full draft at the richness floor; builders split by file on long films. Runs beside 08aRequired: references/build.md; ice-engines/SKILL.md. Only if real UI: ice-assets/references/screen-capture.md and references/launch-principles.md section 5. Only if a real brand: ice-assets/references/brand-authenticity.md section 11. Only if a logo sting or end lockup: references/logo-sting-pipeline.md. Only if ice/plan/hooks.md says Render study: pending (07): references/openers-and-endings.md section 3. Only if a builder sub-agent: roles/builder.mdthe composition builds; stills at every cue pass; the draft is a new file ice/renders/draft-<n>.mp4; the art check confirms 05 on the build
08 sound08a, beside 07: score, SFX list and voice from the locked cue sheet under the type's sound policy; no track is used before its sync license check. 08b, after 07: mix and master on the draftRequired: ice-audio/SKILL.md; references/film-types/<type>.md (Sound policy); references/cue-sheet.md08a: score, SFX and voice are in ice/audio/ with rows in ice/assets/CREDITS.md; 08b: the mix sits on the latest draft, hits land on their cues, the ice-audio loudness gate passes
09 reviewCritic loop on the draft with its sound: fresh read-only reviewers, passes, fix order, stop ruleRequired: ice-qa/references/clarity-gate.md sections 3 and 8; references/review-loop.md; roles/reviewer.md; ice-qa/references/critic-loop.md; ice-qa/references/critic-prompts.md; references/film-types/<type>.md (QA thresholds, Richness floor)clarity read 3 passed before the first film round; the verdict SHIP, or the stop rule reached and written in the delivery note, is in ice/review/; the type's QA thresholds are measured
10 deliverFinal render and master after 09 (no further approval in auto mode), then every version planned at 03 (rendered in parallel), naming, the report, the fingerprintRequired: references/build.md section 4; references/delivery.md; ice-qa/references/delivery-report.md. Only if a finalizer sub-agent: roles/finalizer.mdfinals are new files in ice/renders/final/; every version in ice/plan/versions.md is rendered; ice/review/NOTE.md reports measured numbers honestly and lists the permissions a brand owner would need; the fingerprint is written

Depth by size. Sized at 01; the size changes the paperwork, never the truth pass, the stills, the richness floor or the critic.

SizeFilm jobsHow the spine runs here
Micro: 6 s or less, or one assetlogo sting, one stat, effect loop, quote cardThree passes: 01, 02 and 05 condensed (the micro count of style frames in references/storyboard.md section 7), with 03, 04 and 06 not_used and folded into one plan in ice/plan/structure.md (structure, script, beats, cues); then 07 and 08; then 09 (the micro clarity read, one critic round plus a repair pass) and 10. Lean crew
Standard: 7 to 60 s, its cutdowns and versions includedapp ad, social short, hype promo, launch, industry spot, short brand filmFull spine and every plan file; 06 is the cue sheet plus the timed stills board, a full animatic only with final music; review rounds by the crew row
Long or campaign: over 60 s, or chaptersnarrated launch, UI walkthrough, brand film, music video, campaignFull spine; a full animatic with the final audio before any expensive build; builders split by file; standard or full crew
Polish of an existing filma film that "looks basic"01 writes a defect list against the type's QA thresholds; work opens the stage that owns each defect; change one element at a time, never restart

Supplied or partial material. The router's intake table sets what each supplied item does to its stage. Differences on this route: a supplied concept still gets a structure option at 02 unless the structure was given too; a supplied script gets the first-3-seconds gate on its own opening (result reported, no new openings); a supplied storyboard is checked against the type's rhythm ranges and richness floor and its missing shot plan fields are filled; recorded voiceover or licensed music is the timing master at 06. Partial material: fill only the missing fields with this stage's method, log each fill in ice/DIRECTION.md, keep the user's own fields unchanged, and keep the stage partial until the fills are approved.

Run files and changes. Plan files in ice/plan/: concepts.md, structure.md (type, option, rejected options, length, aspect, fps, fingerprint line), script.md (the only home of the spoken words), versions.md, hooks.md, storyboard.md, shot-plan.md, motion-plan.md, cue-sheet.json (read by every builder, the sound pass and the captions). Every decision not yet in ice/DIRECTION.md goes there with its reason and source. Stages 01 to 03 loop until truth, structure and script agree. A later stage that exposes an earlier problem fixes the owning plan file, never the render. A change to a finished film edits the plan file, then the build, then renders a new versioned file, keeping the strong beats. The user's newest explicit note outranks earlier notes, brand rules and every default here.

4. Film types

Twelve types: product launch, app ad, brand film, logo sting, kinetic type, data story, social short, hype promo, UI walkthrough, music video, art film, industry spot. Read references/film-setup.md (section 1, Film types) at stage 01 to pick the type: the shared type file fields, the signals table, and what to do when two types fit.

5. Rules that are scoped, not global

Each source rule is right in its scope; the type file states which side applies. Timing master (voice-led, music-led, hybrid, free): the ice-audio skill, references/cue-map-and-beat-sync.md section 1, plus references/cue-sheet.md section 1. Cuts, crossfades, holds, camera during holds, end holds: the ice-motion skill, SKILL.md section 4.

6. Hard rules

  • Approved numbers only; truth before style. Illustrative content is labelled.
  • A real brand (named in the brief, or a reference brand for the field) appears only through its real material: live captures of its site and app, official brand or press kits, colours and fonts read from its own site, untouched official logos, UI rebuilt at 90 percent fidelity or better; never a guessed look. Third-party content inside its screens (cover art, user content, photos, real people's names) is replaced with licensed or neutral content (ice-assets).
  • Full and alive: every shot meets the type's "Richness floor". "Premium" and "minimal" subtract clutter, never fullness (ice-motion/references/composition-and-staging.md section 7).
  • Story, then frames, then style, then copy, then motion. A film styled before its story is a template.
  • Three different options at every creative fork this workflow owns (structures, openings); a critic chooses, never the builder. Concept and direction counts follow the ice-direction tier.
  • Carry, do not replace: every boundary has something that survives and moves, except inside a burst of hits and into the end card.
  • The film differs from its nearest template or demo on at least 4 of 6 axes and from previous films in structure (references/structure.md section 7; ice-qa measures).
  • Builders never grade their own work; reviewers are fresh and read-only.
  • Stills before drafts, drafts before finals, finals as new files. Never overwrite a render.
  • Never publish, post or schedule. Installs, downloads and spending happen only where the router's stops table (ice-motion-director/SKILL.md section 5, "Stops") allows; without a yes, take the path that needs none, log it, and say in the delivery note what a yes would add.

7. Crew size and sub-agent roles

Crews are Lean, Standard and Full, by film length and complexity. Read references/film-setup.md (section 2, Crew size and sub-agent roles) at stage 01 to pick the row, and at any stage when you need its critic, approver, review rounds or roles.

8. Noncommercial folder

noncommercial/onetake/ holds PolyForm Noncommercial files. Open them only when commercial_use in ice/state.json is no, confirmed by the user in words. When it is yes or unknown, do not open, copy or adapt them and do not ask only to unlock them: this skill's references cover the same ground with permissive sources.

9. Owned elsewhere

Every domain rule has one owner, named in the router's skill map (ice-motion-director/SKILL.md); point to it, never restate it.

Sources of this workflow's method: AbubakrChan/product-launch-motion, commercial-motion-design (Omar-Tnzxo), video-production-studio (Omar-Tnzxo), echris6/motion-video-kit, heygen-com/hyperframes, imMamdouhaboammar/motion-graphics-skills (ideas only).

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Related Skills