Agent skill

Motion Film

by CoWork-OS in CoWork-OS/CoWork-OS

Design and render a motion-design film entirely in code — launch videos, product promos, feature announcements, explainers, brand/event openers, social loops.

MITAuto-check passedMedia & Creative

Install Motion Film

skills CLI
$ npx skills add CoWork-OS/CoWork-OS --skill motion-film -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install CoWork-OS/CoWork-OS motion-film --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/CoWork-OS/CoWork-OS.git skills-src && mkdir -p .claude/skills && cp -r skills-src/resources/skills/motion-film .claude/skills/motion-film && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
motion-film
GitHub stars
477
Token cost
~2.4k tokens
SKILL.md length
1,249 words
Files
17 (incl. scripts, references)
Skills in repo
46
Repo updated
First seen
Licence
MIT

At a glance

Design and render a motion-design film entirely in code — launch videos, product promos, feature announcements, explainers, brand/event openers, social loops.

  • Works in 5 steps: Brief → Design (get approval before building) → Rules → …
  • Tasks that involve Video production
  • SKILL.md covers 1. Brief, 2. Design (get approval before…, 3. Rules and 4. Build, plus 5 more sections
  • Runs Python and JavaScript scripts from its folder

What it does

Motion Film is an agent skill from CoWork-OS/CoWork-OS. Design and render a motion-design film entirely in code — launch videos, product promos, feature announcements, explainers, brand/event openers, social loops. One time-seeked HTML file rendered frame-by-frame with Playwright + ffmpeg; one continuous take, beat-synced to music.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 19 other files, including scripts and reference files (for example `references/example-launch-film.md`, `references/review-loop.md` and `references/sims.md`).

It sits in Media & Creative, covering Video production, Motion graphics and Browser testing. It works with FFmpeg and Playwright. The repository describes itself as: Local-first personal agentic OS and everything app for coding, knowledge work, web design, automations, and artifacts. The licence is MIT.

When your agent uses it

  • Tasks that involve Video production
  • Tasks that involve Motion graphics
  • Tasks that involve Browser testing

Example prompts

  • “/motion-film”

Requirements

  • Python 3
  • Node.js

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Brief
  2. Design (get approval before building)
  3. Rules
  4. Build
  5. Render & QA

What it can do on your machine

Read from SKILL.md and the folder at commit 0ace02b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 10 files in scripts/ (Python and JavaScript), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Motion Film loads about 2.4k tokens when it runs, and up to ~8.6k if it reads all its reference files. Until then it costs about 72 tokens; SKILL.md has 1,249 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from CoWork-OS/CoWork-OS at commit 0ace02b, republished under its MIT licence (© CoWork-OS). 1,249 words, ~2,384 tokens.

Download SKILL.mdSave it as .claude/skills/motion-film/SKILL.md (or your agent's skills folder). This skill also uses 16 other files; get the full folder from GitHub.
name
motion-film
description
Design and render a motion-design film entirely in code — launch videos, product promos, feature announcements, explainers, brand/event openers, social loops. One time-seeked HTML file rendered frame-by-frame with Playwright + ffmpeg; one continuous take, beat-synced to music.
version
1.1.0
license
MIT
metadata.author
CoWork OS Contributors <info@coworkosapp.com>

Motion Film

Make a polished motion-design film from code: a single HTML file whose every pixel is a pure function of time, rendered to MP4 with Playwright and ffmpeg. Works for any project — the craft is fixed, the story is designed per project.

Helper scripts are in scripts/ ({baseDir} in the references means this skill's folder): sheet.mjs (contact sheets), wave.mjs (waveform + loudness), beats.py (tempo, downbeats, drop) and the sfx sound engine. The review loop, sound engine, simulation mode and taste rules are adapted from claude-motion (MIT, scripts/LICENSE-claude-motion).

1. Brief

Ask for what's missing; offer the default in brackets so the user can just say "defaults".

  • Project: what it is, who it's for, the one thing the viewer should remember.
  • Kind of film: launch, feature announcement, explainer, brand opener, social loop, other.
  • Format: aspect [1:1, 1440x1440] (16:9 1920x1080 / 9:16 1080x1920 / 4:5 1440x1800), length [~25–30s], fps [60], loop [last frame = first frame].
  • Brand: name/wordmark (a one-word verb works best), colors, fonts [warm off-white canvas, black UI, Archivo wdth 125 / 800 for the wordmark, Geist for UI].
  • Assets: screenshots, photos (9–12 high-res is ideal), logos, footage. Use only what the user supplies or what is free for commercial use (Pexels footage, Mixkit SFX/music); never invent fake product UI the user didn't ask for.
  • Music: a royalty-free track [~120 BPM, Mixkit]. Find its tempo, downbeats and drop with scripts/beats.py instead of asking; confirm them in the beat map. Or generated sound only / silent.
  • Style: a reference (Apple keynote, Linear, Stripe, editorial, playful…) [Apple keynote, iOS 26 liquid glass]. If the idea is a simulation (agents, particles, a 3D machine), use simulation mode from references/sims.md.

2. Design (get approval before building)

  1. Story as a chain of transforms. Write 4–6 acts. Each act ends in a shape that becomes the start of the next (a dot → a pill → a window → a card → a circle that floods the frame…). Pick the transforms from the project's own vocabulary:
    • App / SaaS → real UI flows driven by a cursor: clicks, drags, long-presses, scrolls, typing.
    • Developer tool → terminal/code typing, diffs, panels pushing in, logs becoming charts.
    • Physical product → photos, cutout shapes, product details, real-world footage.
    • Data / metrics → bars drawing across, numbers counting, charts morphing into each other.
    • Brand / event → typography-led: wordmark mechanics, letters springing, masks.
  2. Beat map. Write every beat into timeline.json (techniques.md → Timeline) and the same as a table in beat-map.md: beat # · time · cursor action / trigger · what transforms · SFX. Something happens on every beat. Land the biggest reveal on the drop, put the quiet/real-world moment in the breakdown, bring the brand back on the returning beat. Budget reading holds (taste.md → Timing) for every line of text before fixing the length.
  3. Stills. Render 3–5 stills at key moments (one per act) from a stub seek(t) and show them with the beat map. Wait for approval or changes.

3. Rules

  • One continuous take. Each scene grows out of the last: objects transform; no cuts.
  • Motion vocabulary: text rises from a mask line, icons spring up from zero, bars draw across, pages push forward, a solid shape fills the frame then shrinks into the next scene.
  • Motivate changes: when there is UI, a cursor triggers every change with real clicks, drags and long-presses. Otherwise, the beat motivates it.
  • Camera: zoom Screen Studio–style so each moment fills the frame; scale the cursor with the camera.
  • Reading holds: every readable state holds after it settles: ≥ 1s for a short phrase, plus ~0.25s per word beyond three, ≥ 2s for the final line. Text never moves while it is meant to be read. Between holds, something is always in motion.
  • Follow the numbers in references/taste.md (easing, springs, stagger, exits at about half an entrance, one accent color, one hero moment, safe area, frame 0 as the thumbnail).
  • Banned: crossfades, blur-ins, brightness "developing", 3D flips, empty frames between scenes, anything that feels like a template. Particles and glows are banned too, except in simulation mode (references/sims.md).
  • If the film loops, the last frame equals the first.
Show full SKILL.md (511 more words)Show less

4. Build

  1. One HTML file at the target resolution. Every time comes from timeline.json (window.TL); no start times hardcoded in scene code. Every style is computed from t inside async seek(t): no CSS transitions/animations, timers, Date.now(), unseeded randomness, or state carried between frames.
  2. Springs as closed-form step responses; one spring per target change so values stay pure functions of time.
  3. Use the techniques in references/techniques.md (liquid glass, goo, iris, wordmark squeeze, floods, masks, footage) as the story needs them.
  4. Sound (references/sound.md): downloaded SFX positioned by their measured peak, or generated with the bundled sfx engine from a cue sheet that reads timeline.json. Don't mix both kinds for the same event type. Start the song on a downbeat. Final mix at -14 LUFS, true peak ≤ -1 dBFS.

5. Render & QA

  1. Playwright renders 4 subframes per output frame; ffmpeg tmix blends them to 60fps motion blur.
  2. Run the review loop (references/review-loop.md) on half-resolution drafts: contact sheets at every beat with scripts/sheet.mjs, the checklist, fix, repeat until a full pass is clean.
  3. On the final render: sheets again, then scan for single-frame pops (frame-difference spikes 3x higher than their neighbours). Fix and re-render.
  4. Mux audio, check it with scripts/wave.mjs (hits on beat lines, -14 LUFS ±1), deliver the MP4, and show the user a few frames and the sheet that proves each fix.

Routing

  • Use when: the user asks for a launch video, product promo, feature announcement, motion graphics, animated explainer, brand/event opener, social loop, keynote-style film, a simulation-style video (agents, particles, a 3D fly-through), or "make a video with code".
  • Do not use when: the user wants a reusable editor app (use motion-editor), a Manim math/algorithm explainer (use manim-video), a HyperFrames composition (use hyperframes), editing of existing live-action footage, or a model-generated video clip.
  • Outputs: a time-seeked film.html, timeline.json, a render script, a beat map, approval stills, contact sheets, an optional cue sheet, and a muxed MP4 in the project folder.
  • Success criteria: stills approved before the build; every frame a pure function of t; every time read from timeline.json; a clean review-loop pass on contact sheets; reading holds respected; no single-frame pops; MP4 delivered with audio at -14 LUFS (or silent if requested).

Trigger Examples

Positive
  • Make a 30-second launch video for our app, keynote style.
  • Create a motion graphics promo for this feature announcement.
  • Make a video with code for our product launch, 9:16 for social.
  • Use the motion-film skill for this request.
Negative
  • Build me a reusable keyframe timeline tool for my team.
  • Explain the chain rule with an equation derivation.
  • Cut the silences out of this podcast episode.
  • Grab a still image at 00:12 from this clip.

Parameters

NameTypeRequiredDescription
project_briefstringNoWhat the project is, who it's for, the one thing to remember
film_kindselectNoauto, launch, feature-announcement, explainer, brand-opener, social-loop
aspectselectNo1:1, 16:9, 9:16, 4:5
length_secondsstringNoTarget length in seconds (default ~25–30)
output_dirstringNoProject folder (default motion-film-project in the workspace)

Runtime Prompt

  • Runtime prompt is defined directly in ../motion-film.json.

© CoWork-OS, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 16 other files (scripts, references) in resources/skills/motion-film of CoWork-OS/CoWork-OS.

  • SKILL.md
  • references/example-launch-film.md
  • references/review-loop.md
  • references/sims.md
  • references/sound.md
  • references/taste.md
  • references/techniques.md
  • scripts/LICENSE-claude-motion
  • scripts/beats.py
  • scripts/sfx/__init__.py
  • scripts/sfx/__main__.py
  • scripts/sfx/dsp.py
  • scripts/sfx/loudness.py
  • scripts/sfx/mix.py
  • scripts/sfx/synth.py
  • scripts/sheet.mjs
  • scripts/wave.mjs

Open the folder on GitHubat commit 0ace02b

Compare with similar skills

Motion Film next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Motion Film compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Motion Film this skillCoWork-OS/CoWork-OS477—~2.4kAutomated safety check: PassMIT
Motion Adfabricioctelles/skills106—~4.1kAutomated safety check: PassApache-2.0
Render Myth Vs Factgooseworks-ai/goose-skills1.2k—~2.2kAutomated safety check: PassMIT
Whiteboard Videotrustfuture/simon-skills382—~1.8kAutomated safety check: NotesMIT
Cs Code VideoChenShuo2004/cs-skills197—~2.1kAutomated safety check: PassMIT
Render Chatgpt Chatgooseworks-ai/goose-skills1.2k—~2.3kAutomated safety check: PassMIT

Similar skills

  • Motion Ad

    fabricioctelles/skills

    Produce a short motion-graphics video ad — a 15s Facebook/Instagram/TikTok spot — as a rendered MP4.

    106 GitHub stars~4.1k tokensUpdated today
    Media & CreativeAuto-check passed
  • Render Myth Vs Fact

    gooseworks-ai/goose-skills

    Assemble a myth-vs-fact kinetic-typography explainer video ad (≈29.5s, 9:16) from N myth/fact pairs + hook / turn / punch copy + palette + a brand end-card PNG + a VO track — a hook, 3 red-strike…

    1.2k GitHub stars~2.2k tokensUpdated 2 days ago
    Media & CreativeAuto-check passed
  • Whiteboard Video

    trustfuture/simon-skills

    手绘白板风"边画边讲"讲解视频出片 skill(Excalidraw 风格逐笔动画 + 火山引擎配音 + 烧录字幕 + 品牌水印与片尾卡 + 横竖两张封面 + 各平台发布文案)。当用户说"做一期白板视频 / 边画边讲 / 手绘讲解视频 / 用 excalidraw 做视频 / whiteboard video",或要在本仓库里新建一期、改场景、换贴纸或真实…

    382 GitHub stars~1.8k tokensUpdated 17 days ago
    Media & CreativeAuto-check: notes
  • Cs Code Video

    ChenShuo2004/cs-skills

    用代码做动画视频:页面暴露 render(t),Playwright 逐帧截图 + FFmpeg 合成 mp4,可接合成配乐、出图和配音。通用模式先明确主题、规格、风格和声音,出风格卡、分镜与关键帧后逐镜制作;Vibe知识大赏模式额外查证来源、记录真实素材许可、先渲 10 秒样片。触发词包括…

    197 GitHub stars~2.1k tokensUpdated 3 days ago
    Media & CreativeAuto-check passed
  • Render Chatgpt Chat

    gooseworks-ai/goose-skills

    Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…

    1.2k GitHub stars~2.3k tokensUpdated today
    Media & CreativeAuto-check passed
  • Character Animation QA

    calesthio/OpenMontage

    Review local character animation with schema checks, Playwright browser previews, frame sampling, and FFmpeg/ffprobe final output checks.

    66k GitHub stars~389 tokensUpdated 7 days ago
    Media & CreativeAuto-check passed

More from CoWork-OS/CoWork-OS

All 46 skills in this repo
  • Calendly

    CoWork-OS/CoWork-OS

    Manage Calendly scheduling via the v2 API. An agent skill from CoWork-OS/CoWork-OS.

    480 GitHub stars~595 tokensUpdated today
    Auto-check passed
  • Humanizer

    CoWork-OS/CoWork-OS

    Rewrite AI-generated text to sound natural and human-written.

    480 GitHub stars~557 tokensUpdated today
    Auto-check passed
  • Marketing Strategist

    CoWork-OS/CoWork-OS

    Comprehensive marketing strategy across 25 disciplines — positioning, copywriting frameworks, buyer psychology, SEO, CRO, paid ads, funnel architecture, content strategy, growth loops, analytics…

    480 GitHub stars~893 tokensUpdated today
    Auto-check passed
  • Moltbook

    CoWork-OS/CoWork-OS

    Interact with Moltbook — the social network for AI agents. An agent skill from CoWork-OS/CoWork-OS.

    480 GitHub stars~579 tokensUpdated today
    Auto-check passed
  • Polymarket

    CoWork-OS/CoWork-OS

    Query Polymarket prediction markets — search events, check odds and prices, view trending markets, track price momentum, get orderbook depth, analyze volume, and monitor market resolution timelines.

    480 GitHub stars~616 tokensUpdated today
    Auto-check passed
  • Skill Creator

    CoWork-OS/CoWork-OS

    Create or update AgentSkills for CoWork-OSS. An agent skill from CoWork-OS/CoWork-OS.

    480 GitHub stars~493 tokensUpdated today
    Auto-check passed

Questions about Motion Film

What does Motion Film do?

Design and render a motion-design film entirely in code — launch videos, product promos, feature announcements, explainers, brand/event openers, social loops. Motion Film is an agent skill from CoWork-OS/CoWork-OS. Design and render a motion-design film entirely in code — launch videos, product promos, feature announcements, explainers, brand/event openers, social loops.

When should I use Motion Film?

Motion Film fits situations like: tasks that involve Video production; tasks that involve Motion graphics; tasks that involve Browser testing.

How do I install Motion Film in Claude Code?

Run `npx skills add CoWork-OS/CoWork-OS --skill motion-film -a claude-code`. Or copy the skill folder (resources/skills/motion-film in CoWork-OS/CoWork-OS) into .claude/skills/motion-film in your project. Claude Code loads it when a task matches its description.

How do I install Motion Film in Codex?

Run `npx skills add CoWork-OS/CoWork-OS --skill motion-film -a codex`. Or copy the skill folder (resources/skills/motion-film in CoWork-OS/CoWork-OS) into .agents/skills/motion-film in your project. Codex loads it when a task matches its description.

Can I use Motion Film in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add CoWork-OS/CoWork-OS --skill motion-film -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/motion-film, .gemini/skills/motion-film, .github/skills/motion-film and .opencode/skills/motion-film in your project.

What does Motion Film need to run?

Going by SKILL.md and its folder, Motion Film needs Python and JavaScript for the scripts in its folder. Our summary lists: Python 3; Node.js.

Does Motion Film access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Motion Film safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Motion Film use?

Motion Film is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Motion Film use?

About 2.4k tokens (SKILL.md is roughly 9.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.2k tokens, read only when the agent opens those files.

What are the alternatives to Motion Film?

Skills that share tags, products or a category with Motion Film: Motion Ad (fabricioctelles/skills, 106 stars), Render Myth Vs Fact (gooseworks-ai/goose-skills, 1.2k stars), Whiteboard Video (trustfuture/simon-skills, 382 stars) and Cs Code Video (ChenShuo2004/cs-skills, 197 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Motion Film?

CoWork-OS (a GitHub organization) maintains it in CoWork-OS/CoWork-OS, which has 477 GitHub stars. The repository holds 46 skills in this directory. The repository was last updated on October 9, 2026.

Source: CoWork-OS/CoWork-OS on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.