motion-studio
Skill8 starsChanged 48 days agoMITView on GitHub
Make motion design videos rendered from code with Claude Code: showreels, product launch reels, UI morph films, music videos, explainers, Claude-mascot (Clawd) cartoons, hand-drawn storybook shorts. Covers the deterministic seek(t) canvas renderer with Playwright and ffmpeg, closed-form springs, beat grids and synthesized sound, the contact-sheet critique loop, director prompt patterns (one-liner, brand reel, reference, XML state spec, overnight brief), a catalog of proven styles, and the HyperFrames and Remotion routes. Use when the user asks for a launch video, showreel, product reel, animated explainer, motion ad, music video, Claude mascot / Clawd animation, or a HyperFrames or Remotion video made in code. Not for editing live-action footage in a video editor, generating clips with a text-to-video model alone, or static images.
- Reads credentials
- Installs packages
6 other projects use a version of this.
Adopted by
Most recently taken up by
- imMamdouhaboammar/motion-graphics-skillstheir own version, first seen Nov 8, 2026
- webtaken/motion-studiotheir own version, first seen Oct 20, 2026
- BMatiashchuk99/Claude-Skillstheir own version, first seen Oct 20, 2026
- TamimMobarak/motion-studiotheir own version, first seen Oct 6, 2026
- witcharon/claude-reel-skillstheir own version, first seen Oct 1, 2026
- buildfastwithai/buildfast-skillstheir own version, first seen Sep 2, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- imMamdouhaboammar/motion-graphics-skills★ 50same name
- buildfastwithai/buildfast-skills★ 20same name
- BMatiashchuk99/Claude-Skills★ 2same name
- TamimMobarak/motion-studio★ 0same name
- webtaken/motion-studio★ 0same name
- witcharon/claude-reel-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository53 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-browserSkill
- anything-to-skillSkill
- ci-generateSkill
- ci-localSkill
- clotho-researchSkill
- codex-imagegenSkill
- create-ruleSkill
- create-skillSkill
- db-migrateSkill
- docker-initSkill
- docs-adrSkill
- docs-checkSkill
- docs-diagramSkill
- docs-initSkill
- docs-rfcSkill
- docs-updateSkill
- env-setupSkill
- find-skillsSkill
- fix-bugSkill
- git-commitSkill
- git-create-prSkill
- gitflowSkill
- git-releaseSkill
- git-syncSkill
- i18n-checkSkill
- implement-featureSkill
- improve-skillSkill
- inject-docsSkill
- jira-cliSkill
- optimize-ai-setupSkill
- orchestrateSkill
- oss-launchSkill
- prd-to-issuesSkill
- product-design-specSkill
- product-design-tokensSkill
- product-prdSkill
- project-illustratorSkill
- project-plannerSkill
- refactorSkill
- renderSkill
- review-codeSkill
- review-depsSkill
- review-designSkill
- review-perfSkill
- review-planSkill
- review-securitySkill
- shipSkill
- stopslopSkill
- test-suiteSkill
- vrt-checkSkill
- wtfSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 54
Put house rules in the project CLAUDE.md so every film inherits them.
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Motion studio
Every video here is a program. Claude writes code that paints a frame for any moment in time, a headless browser (or Node canvas) captures the frames, ffmpeg encodes them. The model cannot emit an MP4; only an agent with a shell can render, listen to and look at its own frames. The prompt is 10 percent of the video; the harness (renderer, sound, critique loop) is the other 90.
When to use
- Launch videos, product reels, showreels, motion ads, UI morph loops, music videos, explainers, short films made in code.
- Turning a product URL, a reference clip or a song into a rendered MP4.
- Building or fixing the pipeline itself:
seek(t), springs, beat grid, SFX, critique loop.
Pick a route first
| Route | When | Read |
A. Canvas seek(t) + Playwright + ffmpeg (default) | Any one-off film; zero dependencies, full control | references/render-engine.md |
| A1. Clawd / p5.brush cartoon | Animations starring the Claude mascot, painted storybook cartoons | references/clawd-mascot.md |
| A2. Hand-drawn Node canvas (no browser) | Storybook, brush-ink and watercolour, low-poly loops, game-feel shorts | references/hand-drawn-canvas.md |
| B. HyperFrames (HTML + GSAP, agent skills) | Web-page thinking, captions, voiceover, templates, Studio editing | references/hyperframes.md |
| C. Remotion (React) | Teams already in React, series, data-driven templates | references/remotion.md |
Opus defaults to route A (one index.html, Playwright, ffmpeg, zero dependencies) and skips Remotion and HyperFrames even when installed. If the user wants a framework, say so explicitly in the brief.
HyperFrames setup (ask the user first; needs Node.js: fnm install --lts or brew install node): run npx skills add heygen-com/hyperframes and choose Core Skills; for CI or non-interactive refresh run npx hyperframes skills update. Start a fresh chat afterwards and ask it to use /hyperframes. HyperFrames needs no React or build step and is Apache 2.0; Remotion fits teams already writing React (components, design system, typed inputs).
Core workflow
- Collect inputs: product and URL, duration, formats (9:16, 1:1, 16:9), brand colours and fonts, a reference (frame, video, image folder), music (file or "synthesize"). Ask for anything missing.
- Gather real assets: screenshot the real product with Playwright into
./assetsand list them. Never redraw UI from imagination. - Reference to style: name a look and feed a frame; write
docs/style_guide.mdfrom it, thendocs/shotlist.md. Without a reference, output falls back to centered text on a gradient with everything fading in. Seereferences/prompting-and-briefs.md,references/style-catalog.md. - Beat grid: measure the supplied track with librosa into
beats.json, or synthesize music and SFX on the same timeline as the picture. Seereferences/sound.md. - Show the shot list on the beat grid and wait for OK before scene code (overnight runs: continue after a stated timeout).
- Build
index.htmlwithwindow.seek(t), closed-form springs, seeded noise only. Seereferences/render-engine.md,references/motion-and-springs.md. - Critique loop: contact sheet, strip, phone test; score 1 to 10; fix the 3 worst; repeat until every score is 8 or higher; re-render only the affected seconds. See
references/critique-loop.md. - Render all formats from one timeline, mix audio to -14 LUFS, deliver
final.mp4,contact.png,poster.png(and a loop check for loops), and say what you would improve next.
Rules that apply everywhere
- A film is a function of time only:
window.seek(t)draws the frame att. During render there are no CSS transitions, timers orrequestAnimationFrame, and nothing persists from one frame to the next.await document.fonts.readybefore capturing canvas text. - Randomness is seeded (mulberry32), never
Math.random. - Encode H.264 (
libx264),yuv420p, CRF 16. Motion blur by rendering 4 subframes per frame and blending with ffmpegtmix. - Motion: closed-form springs; a value with several targets sums one spring per change instead of restarting (
retarget()); tab indicators stretch with the leading edge stiffer than the trailing edge; a loop's last frame equals its first, cursor velocity included. - Ban the AI-video defaults: a title centered on a gradient, fade-in on everything, labels in the corners or borders around the frame, glowing UI chrome, stock particle bursts. One display face, one UI face, one accent. Something new on screen every 2 to 4 seconds.
- Sound: synthesize the score and SFX on the same timeline unless a track is supplied; state changes on beats, big moments on downbeats, SFX on hits; mix at -14 LUFS.
- Effort (Opus 5.5 defaults to medium): keep medium for tweaks and re-renders, raise to xhigh for a new film, and use max for launch pieces whose opening seconds must hook.
- Put house rules in the project
CLAUDE.mdso every film inherits them. Keep one session per brand. API keys live in.env, never in a prompt. - Reframe type and UI per format; do not crop a 16:9 render to vertical.
- Long films are iteration, not one shot. For long or multi-chapter films, write
docs/ANIMATION_GUIDE.mdfirst and have subagents code each chapter in its own file behind it.
Routing
| User says | Load |
| "build the renderer", "render the video", "motion blur", "ffmpeg encode", "loop", "formats" | references/render-engine.md |
| "motion feels cheap", "springs", "cursor and container jump", "tab indicator", "UI morph", "camera" | references/motion-and-springs.md |
| "music", "beats", "sync", "SFX", "loudness", "no audio track" | references/sound.md |
| "looks mid", "review the render", "contact sheet", "before I post it" | references/critique-loop.md |
| "write the prompt", "brand reel", "reference video", "state list", "overnight", "director brief", "effort" | references/prompting-and-briefs.md |
| "what style", "riso", "pixel", "watercolour", "product tour", "documentary" | references/style-catalog.md |
| "Clawd", "Claude mascot", "p5.brush", "painted cartoon" | references/clawd-mascot.md |
| "hand-drawn", "storybook", "ant", "low-poly loop", "game short in JS" | references/hand-drawn-canvas.md |
| "HyperFrames", "/hyperframes", "captions", "GSAP", "video from a URL or PR" | references/hyperframes.md |
| "Remotion", "React video", "HyperFrames vs Remotion", "port to HyperFrames" | references/remotion.md |
Credits and source licenses: references/credits.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

