Skip to content

omar-tnzxo/ice-motion-director

v0.2.7Apache-2.0

Motion design and video editing director for coding agents. Writes code and renders deterministic films: launch films, app ads, explainers, social shorts, edits of your footage, reference remakes, Lottie and UI motion, Arabic and RTL included.


What it does

Ice Motion Director is an open-source set of agent skills for motion graphics, motion design and video editing in Claude Code, Codex, Cursor, Gemini CLI and 40+ other coding agents. You describe the video in one prompt (or hand it your footage, or a reference), and your agent takes it from the brief and the script to a rendered MP4, writing every frame as code and checking it before you see it. It is free under Apache-2.0 and needs no After Effects and no paid video model.

One router skill reads your request and sends it to the right workflow:

You ask forIt runsYou get
A film made from scratch: launch film, app ad, brand film, logo sting, kinetic type, data story, social shortice-filmA finished MP4 plus a delivery report
A video where a voice explains somethingice-explainerA narrated explainer with captions
"Make it like this" with a reference video, site or imagesice-remakeA new film in that style, with your content
An edit of your own footage: YouTube, podcast clips, talking-head ads, shorts, news reels, B-rollice-editThe cut, captions, vertical versions
Lottie, loaders, icons, UI motion for an app or siteice-lottieLottie JSON or animated SVG plus a developer handoff
Ideas, hooks, scripts, storyboardsice-ideasA concept set and a script, ready to build

Every film is code (HTML, CSS, GSAP, Remotion, Lottie or FFmpeg) and renders the same way every time. Nothing is generated as stock footage: text, numbers and logos are always set in code, exactly as you approved them.

Two ways to use it

  1. One prompt, for everyone. In Claude Code, start your first message with /ice-motion-director:ice, then describe the film in your own words, short or long. The command makes Claude Code load the director's instructions itself, so the run starts the right way even when other video skills are installed. A prompt without the command usually works too, but then the agent picks the skill on its own, which is not guaranteed. Other agents: see how to type the commands. The director researches your business first, then asks about every decision your prompt leaves open: four options per question with the recommended one first, at most four questions per message, and more than one message when many decisions are open (including which official brand files it may use). It asks nothing when your prompt already covers everything, or when you say "don't ask" or "decide yourself". Then, only if you are there to answer, one preview: the style frames or the animatic. After that it runs to the final file with no more questions. Everything it decided is logged and explained in the delivery note.
  2. Step by step, for people who want to steer. Run one stage at a time with numbered commands. In Claude Code the form that always works is /ice-motion-director:ice-01-brief to /ice-motion-director:ice-10-deliver. Each stage stops with a review card; talk it through, ask for changes or other options as often as you like. Say "approved" to lock the stage (it then names the next command), or "approved, go on" to lock it and start the next stage. See Workflow, step by step.

You can switch at any time: type a stage command in the middle of a one-prompt run, or /ice to let it finish the rest on its own.

What a first film takes. From you: one prompt that starts with the command, then the questions on every open decision (four options each, at most four per message, none if your prompt covers everything or you say "don't ask") and, if you are there, one preview, where you also hear two or three real music options laid on the film and pick one. Behind it, your agent runs all ten stages with several helper agents, so even a short ad runs for a while and uses far more of your plan than a chat answer. If your agent hits a usage limit in the middle, type /ice (or send the same prompt) later: it resumes from ice/state.json where it stopped.

Why it is different

  • The same professional floor for every prompt. A one-line prompt gets the full process. A detailed brief or a design file gets the same quality and every spec you gave is obeyed. Prompt length only changes who makes each decision.
  • No two films look alike. Each film starts with research dated today and built only from your brief, a pitch round with unexpected directions, and a check against your previous films and every bundled template. A film that drifts to the stock AI look (blue and purple everywhere, with no reason in the brief) fails its own gate.
  • Asks before it works. Every open decision gets a question with four options, the recommended one first, at most four questions per message (none when your prompt already settles it, or you say "don't ask"). Everything else is decided and logged with its reason.
  • Finds real material on its own. For a real event, person or place it looks for the most recent real, official footage and photos and downloads them, and its music and sound effects are real recordings from libraries, matched to your reference or your kind of film. You never have to ask for any of this in your prompt: your prompt is the idea and your files.
  • The builder never grades itself. Separate critic roles review storyboards, frames, motion, sound and the exported file. Every claim in the delivery report comes with measured numbers.
  • Arabic and right-to-left are first class. Letterforms and dots in motion, kashida, bidi, numerals, Arabic captions and dialect as a setting.

Install

Any agent (Claude Code, Codex, Cursor, Gemini, Copilot, Windsurf, Cline, Roo, Kilo, OpenCode, Antigravity, Amp, Goose, Kiro, Qwen, Trae, Zed, Warp and more):

npx skills add Omar-Tnzxo/ice-motion-director

It asks two things: which agents to install into, and whether to install for this project only or for every project on your computer (global). Keep every skill selected: the skills open each other, so picking only some breaks the run. Needs Node 22.20 or newer (prerequisites).

Prefer no questions? Add flags:

You wantAdd
Every agent, every project, no questions-g --all (the same as -g -s '*' -a '*' -y)
Only the agents you name-s '*' -a claude-code -a cursor (one -a per agent)
Every project instead of this one-g (without it, skills go into the current project)
Copies instead of links--copy (for drives that cannot hold links, such as some network or USB drives; Windows itself needs no developer mode, links are made as junctions)
The list of agent namesPass any unknown name, such as -a help: the tool stops and prints every valid name.

Claude Code plugin:

claude plugin marketplace add Omar-Tnzxo/ice-motion-director
claude plugin install ice-motion-director@ice-motion-director

Inside a session: /plugin marketplace add Omar-Tnzxo/ice-motion-director, then /plugin install ice-motion-director@ice-motion-director.

Claude.ai and Claude Desktop

Open Customize > Plugins > Add > Add marketplace and enter Omar-Tnzxo/ice-motion-director. Turn on Code execution and file creation in Settings > Capabilities first. Update with Check for updates on the plugin page.

What works there: the brief, research, concepts, scripts and storyboards. Rendering needs a browser and FFmpeg on a computer, which the chat's code sandbox may not offer (not verified), so render the film with a local agent such as Claude Code.

Codex (CLI and app)

codex plugin marketplace add Omar-Tnzxo/ice-motion-director
codex plugin add ice-motion-director@ice-motion-director

Or run /plugins in Codex and install it from there, then start a new session. Update: codex plugin marketplace upgrade ice-motion-director. In the Codex app, use the Plugins tab.

Cursor

npx skills add Omar-Tnzxo/ice-motion-director -a cursor

Gemini CLI and Antigravity

gemini extensions install https://github.com/Omar-Tnzxo/ice-motion-director
agy plugin install https://github.com/Omar-Tnzxo/ice-motion-director

Update Gemini with gemini extensions update ice-motion-director; run the same agy command again to update Antigravity CLI. Antigravity app and IDE: npx skills add Omar-Tnzxo/ice-motion-director -a antigravity.

GitHub Copilot (CLI and VS Code)

copilot plugin marketplace add Omar-Tnzxo/ice-motion-director
copilot plugin install ice-motion-director@ice-motion-director

VS Code: Command Palette, Chat: Install Plugin From Source, paste https://github.com/Omar-Tnzxo/ice-motion-director. Update: copilot plugin update ice-motion-director.

Qwen Code

qwen extensions install Omar-Tnzxo/ice-motion-director

Update: qwen extensions update ice-motion-director.

Windsurf, Cline, Roo Code, Kilo Code, OpenCode, Amp, Goose, Kiro, Trae, Zed, Warp, Augment and others

npx skills add Omar-Tnzxo/ice-motion-director -a <agent>

Agent ids: windsurf, cline, roo, kilo, opencode, amp, goose, kiro-cli, trae, zed, warp, augment. Manual copy paths for every agent and every OS: install matrix.

Windows notes

  • Every command above works the same in PowerShell and cmd.
  • If PowerShell says running scripts is disabled, use npx.cmd skills add ..., or allow scripts for your user once with Set-ExecutionPolicy -Scope CurrentUser RemoteSigned.
  • --all works the same in PowerShell and cmd (in cmd, --skill '*' does not work; quote it as --skill "*").
  • In WSL, install inside WSL only when your agent also runs inside WSL.
  • Links are made as directory junctions, so no admin rights or developer mode are needed. If a drive refuses them, add --copy.

Update

Skills installed with npx skills add:

npx skills update

Add -g to update only global skills, or -p for only this project's. Plugins update through their own manager, and an update arrives only when a new version of Ice is released:

AgentUpdate
Claude Codeclaude plugin update ice-motion-director@ice-motion-director (or /plugin > Marketplaces > Update marketplace)
Claude.ai and Claude DesktopCheck for updates on the plugin page
Codexcodex plugin marketplace upgrade ice-motion-director
Gemini CLIgemini extensions update ice-motion-director
Antigravity CLIrun agy plugin install https://github.com/Omar-Tnzxo/ice-motion-director again
GitHub Copilotcopilot plugin update ice-motion-director
Qwen Codeqwen extensions update ice-motion-director

What changed in each version: CHANGELOG.

Prerequisites

Your agent checks these for the route you pick and tells you what is missing, with the one command for your system. Free packages and models a route needs (transcription, stem separation and similar) it installs on its own at pinned versions and names in the delivery note; anything paid or behind an account is asked first. Exact minimum versions live in versions.json.

NeedWindowsmacOSUbuntu or DebianFedoraArch
Node.js (LTS)winget install --id OpenJS.NodeJS.LTS -ebrew install node@24nvm, then nvm install --ltssudo dnf install nodejssudo pacman -S nodejs npm
FFmpegwinget install --id Gyan.FFmpeg -ebrew install ffmpegsudo apt install ffmpegsudo dnf install ffmpeg-freesudo pacman -S ffmpeg
Chrome or Chromiumwinget install --id Google.Chrome -ebrew install --cask google-chromeChrome .deb or sudo snap install chromiumsudo dnf install chromiumsudo pacman -S chromium
Python 3winget install --id Python.Python.3.13 -ebrew install pythonsudo apt install python3 python3-venvsudo dnf install python3sudo pacman -S python

Ideas and scripts need nothing. Lottie needs Node. Every delivered film (films, explainers, remakes and edits) needs Node, FFmpeg, a browser and Python 3 with the quality-check packages: without Python a film can be built but not delivered, because its richness check cannot run.

Try it

Start your agent in an empty folder and paste one of these. In Claude Code, put /ice-motion-director:ice in front of it so the director is sure to start:

Make a 20-second launch film for my note-taking app. Here is the site: <your URL or files>
Cut this podcast recording into three vertical shorts with Arabic captions.
Make a 30-second film for my bakery in the style of this reference video. <attach the file>
Explain how our refund process works in a 60-second narrated video for new customers.
Give me five ad concepts and a script for a real-estate open day, then build the one I pick.

Workflow, step by step

Every film runs through the same ten stages, like a production company. With the commands you run them one at a time. Each stage ends with a review card: what was made (with previews), the options considered and why this one won, the critic's notes, and the choices still open. Nothing moves on until you say it is approved. Type anything after a command to steer that stage, for example a tone, a length or a detail to keep.

  1. /ice-01-brief: research on your business, brand and the advertising rules of your industry first, then who the film is for, the message, platform and length, plus anything you already have. You review: the brief, after the questions on every open decision (four options each, at most four per message).
  2. /ice-02-concept: several ideas, at least two of them unexpected, and the one the critic picked. You review: the ideas side by side.
  3. /ice-03-script: the words on screen and the voiceover for each language, timed to the beats, plus the shorter cuts and other versions you will get. You review: the script.
  4. /ice-04-storyboard: every shot as a rough sketch, how it is framed, how long it lasts and how it moves to the next. You review: the storyboard.
  5. /ice-05-look: a mood board, then colors, fonts, style and motion feel, shown as a few still frames. You review: the mood board and the style frames. Stages 4 and 5 can run at the same time.
  6. /ice-06-animatic: the storyboard and the look together, as a rough, timed version of the film with temporary sound. You review: the animatic, and you pick the music from two or three real tracks laid on it.
  7. /ice-07-build: the full film, animated in code. You review: key frames and a draft.
  8. /ice-08-sound: in two parts. First the music (the real track you picked), the sound effects (real recordings) and the voiceover (this can happen while the film is built), then the final mix on the draft. You review: each part; the mix with its loudness measured.
  9. /ice-09-review: quality checks and independent critics, then fixes. You review: each check with its measured result.
  10. /ice-10-deliver: the final files in every language, size and length you asked for, with captions and a delivery report that also lists the permissions a brand owner would need. You review: the delivered files.

Also: /ice-status shows every stage, its status and the command to run next; /ice runs or resumes everything on its own. A stage that needs an earlier one tells you which command to run first, and a stage waiting for your review says so. Stages you already supplied (your own script or storyboard, for example) are checked, not redone. Short pieces such as a loader or a logo sting skip the stages they do not need.

How to type the commands

How to type the commands in your agent:

AgentType
Claude Code, Cursor, GitHub Copilot, Cline, Qwen Code, Kiro, Antigravity/ice-01-brief
Claude Code with the plugin installed/ice-01-brief, or the namespaced form /ice-motion-director:ice-01-brief, which always works
Codex$ice-01-brief
Gemini CLI/ice-01-brief, from the extension's commands
OpenCode/ice-01-brief
Agents without custom commandsSay it in plain words, for example "run stage 3" or "show the status"

How it works

flowchart TD
    A[Your request] --> B{Router}
    B -->|footage| E[ice-edit]
    B -->|reference| R[ice-remake]
    B -->|ideas only| I[ice-ideas]
    B -->|Lottie or UI| L[ice-lottie]
    B -->|voice leads| X[ice-explainer]
    B -->|any other film| F[ice-film]
    subgraph Spine["The ten stages, run by the chosen workflow"]
      S01["01 Brief: research first, then one message (stop A)"] --> S02["02 Concept"] --> S03["03 Script and versions"]
      S03 --> S04["04 Storyboard"] & S05["05 Look: mood board and style frames"]
      S04 & S05 --> S06["06 Animatic (stop B: one preview, only if you are there)"]
      S06 --> S07["07 Build"] & S08a["08a Music, effects and voice"]
      S07 & S08a --> S08b["08b Mix and master"]
      S08b --> S09["09 Review: gates and fresh critics"] --> S10["10 Deliver"]
    end
    E & R & I & L & X & F --> S01
    S10 --> O["Film, versions and delivery report"]
  1. Route. The router reads your project state and request and picks one workflow; the workflow says what each of the ten stages means for its kind of film.
  2. Brief (01). Research comes first: your business, your brand's real material, and the advertising rules of your industry and platforms. Then the questions on every open decision (stop A): four options each, at most four per message, more than one message when needed, or none when your prompt covers everything or you said "don't ask".
  3. Concept and script (02, 03). A pitch with unexpected directions and a critic's pick; then the words for each language, with the shorter cuts and other versions planned.
  4. Storyboard and look (04 with 05). They run side by side: rough boards and timing next to a mood board and style frames made with your brand's real material. The animatic (06) merges them, and if you are there you see one preview before the build (stop B).
  5. Build and sound (07 with 08a, then 08b). The film is written as code while the music, effects and voice are fitted to the locked timing; the final mix is done on the draft.
  6. Review and deliver (09, 10). Quality gates and fresh critics on the exported file, then every version and caption, and ice/review/NOTE.md with measured numbers and the permissions a brand owner would need. In one-prompt mode an approver role signs off each stage; step by step, you do.

Everything lives in an ice/ folder in your project, so any session can resume where the last one stopped.

Skills

You type only the 13 commands at the bottom of this table (/ice, /ice-status, /ice-style, /ice-01-brief to /ice-10-deliver); the router starts on its own or with /ice. Your agent's / menu may list the other skills too, because the Agent Skills format has no portable way to hide them: their descriptions start with "Internal part of Ice Motion Director, not a command: start with /ice." The director opens them for you.

TierSkillWhat it owns
Routerice-motion-directorProject state, classification, the ten-stage spine, the stops
Workflowice-filmFilms from scratch, 12 film types
Workflowice-explainerVoiceover-led explainers
Workflowice-remakeA new film in the style of a reference
Workflowice-editEditing real footage, 7 edit types (news reels included)
Workflowice-lottieLottie and UI motion
Workflowice-ideasConcepts, hooks, scripts, storyboards
Domainice-directionBrief, questions, research, decisions, the craft plan (every craft the video needs, without being asked), color, type pairing, anti-sameness
Domainice-motionTiming, easing, springs, cuts, camera, composition
Domainice-typeTypography in motion, captions, readability, safe zones
Domainice-arabicArabic and right-to-left
Domainice-audioMusic and SFX from real libraries, picked by ear; voiceover, mixing, loudness, a mix audit and a short list for your ears
Domainice-styles156 film, art, drawing and motion styles, each with the crafts it needs, and a measured broadcast news family
Domainice-enginesEngine choice, determinism, render, export, platform specs
Domainice-assetsTruth sheet, real-first sourcing with each item's license status, brand assets
Domainice-qaQuality gates (the craft gate: faces, flashes, camera, finishing), critics, delivery report
Commandice-styleThe style library as presets: browse 156 styles or start a film in one
Commandsice, ice-status, ice-01-brief to ice-10-deliverStep mode: run, resume or check the production spine one stage at a time

Gallery

Films made with Ice Motion Director from one prompt each, across different industries. Each card links to the full video and the prompt that made it.

What it does not do

  • It does not shoot live action. It edits footage you supply and builds everything else as motion design in code.
  • It is not a photoreal CGI or character-animation studio. Complex character rigs, lip sync and heavy photoreal 3D are outside its range; stylized 2D, kinetic type, collage, pixel, hand-drawn and light 3D are its home.
  • It is not an AI video generator. AI images, video or voices are optional extras you can ask for, never the main engine. Text, numbers and logos are always set in code.
  • It does not invent facts about real brands. Real brands get their real material; anything it cannot obtain, it asks you for.

Privacy and network

  • Runs locally. Films render on your machine with your browser and FFmpeg. Nothing is uploaded by these skills.
  • Network calls, all disclosed: web research for direction (through your agent's own search tool); downloads of free real media it picks on its own (music, sound effects, footage, photos, flags, maps, fonts) from public libraries and official sources, each recorded in the project with its source and license status; installs of free tools and models at pinned versions, named in the delivery note; Google Fonts when the chosen font comes from there. Turn the downloads off with --offline or ICE_OFFLINE=1. Before large downloads and renders it checks free disk space and works on a drive with room.
  • Optional and only on request: AI image, video or voice generation, hosted transcription or TTS. These may cost money and are never used without your say-so.
  • Run log: each project keeps a short log of your messages, reply summaries and shared files in ice/log/, and delivery turns it into one self-contained page, ice/case-study/run-log.html. Both stay on your machine and nothing is uploaded; keys, email addresses, phone numbers and folder paths are masked in the exported files only.
  • Local memory: a small fingerprint file at ~/.ice-motion-director/fingerprints.jsonl stores the palette, type and structure of each finished film so the next one does not repeat it. Delete it any time.
  • Sources setup (optional). Ice works with no keys. To go further, put free keys (for example a sound library's API key) in ~/.ice-motion-director/.env, one NAME=value per line, and set downloads, routes and your own library folders in ~/.ice-motion-director/sources.json (downloads: allowed, ask or off; local_libraries: folders of your sound packs, footage or fonts, searched before any network route). ICE_OFFLINE=1 turns every download off. Full list: skills/ice-assets/references/sourcing-and-licenses.md section 0.
  • No telemetry.

FAQ

How do I make motion graphics or an animated video with Claude Code, Codex or Cursor?

Install Ice into your agent, open it in an empty folder and start your first message with the command (/ice-motion-director:ice in Claude Code; other agents in how to type the commands), then describe the video in plain words, for example the product, the length and where it will be posted. The command loads the director for sure, even when other video skills are installed. The router skill picks the workflow, researches your business, asks about every open decision (four options each, at most four per message) and then runs the ten stages up to a rendered MP4. If you prefer to steer each step, use the stage commands /ice-01-brief to /ice-10-deliver instead.

Does it need After Effects, a GPU or a paid video model?

No. Films are written as code (HTML, CSS, GSAP, Remotion, Lottie or FFmpeg) and rendered with a browser and FFmpeg on a normal computer, using the prerequisites above. AI images, video, voices and hosted transcription are optional extras that may cost money and are used only when you ask for them. The one real cost is your agent's usage: a full film runs many stages and helper agents, so it uses far more of your plan than a chat answer.

Can it edit my own footage?

Yes, that is the ice-edit workflow: long-form and course videos, podcast episodes and clips, talking-head ads, shorts and reels, B-roll and motion overlays timed to words, and showreels cut to the beat. It transcribes your footage word by word with a local Whisper-class model (downloaded only after you say yes), edits on that transcript, then cuts, captions and renders the MP4 with EDLs and caption files. It does not shoot anything, so the footage has to come from you.

Does it work in Arabic?

Yes. Arabic and right-to-left are first class through the ice-arabic skill: connected letterforms and dots that survive animation, kashida, bidi isolation for mixed Arabic and English, numerals, Arabic captions and platform safe zones, and dialect as a setting for scripts and voice. You can also write your prompt in Arabic.

How is it different from writing Remotion or HyperFrames code by hand?

Remotion and HyperFrames are render engines, and Ice uses them (plus Three.js, Lottie, p5 and plain FFmpeg) underneath; ice-engines picks one per film. What Ice adds is the production work around the code: the researched brief, concepts, script, storyboard, style frames, animatic, sound design and mix, and separate critics and quality gates on the exported file. You still get the project as code in your folder, so you can open it and change anything by hand.

Can it make a video in the style of one I like?

Yes, with ice-remake: give it a reference video, a saved site or a set of images and it measures the style (pacing, palette, type, motion, sound) and rebuilds it with your content. It can also save that style as a portable recipe (STYLE-RECIPE.md and style-recipe.json) to reuse later. You choose whether the reference's own footage, music, logo and end card go into your film as they are, or the same style carries your identity, or a mix. Rights are yours: Ice records where every outside item came from and lists what needs a license before you publish.

What can it not do?

It does not shoot live action, it is not a photoreal CGI or character-animation studio (complex rigs, lip sync, heavy photoreal 3D), and it is not an AI video generator. It also does not invent a real brand's look: when it cannot get the brand's real material, it asks you for it. See What it does not do.

Can I use the films commercially?

Yes, the films you make are yours. A few bundled folders named noncommercial/ carry their authors' noncommercial licenses; the workflows check your project's commercial-use answer and skip them for commercial work.

Which render engine does it use?

ice-engines picks per film: HyperFrames, Remotion, HTML canvas with Playwright and FFmpeg, Three.js, Lottie, p5 or FFmpeg alone. Remotion needs a company license for some businesses; the skill tells you when that applies.

It asked me questions. Can I skip them?

Say "decide for me" or "don't ask". It will choose, log every reason in ice/DIRECTION.md, and list every choice in the delivery report, so you can change any of them in one reply.

Credits

Ice Motion Director merges and rewrites the best open-source motion and video skills into one system. Every source, its author and its license are listed in CREDITS.md; license texts are in LICENSES/.

License

Apache-2.0. Folders named noncommercial/ and vendor/hypit/ keep their own licenses, stated inside them.