motion-studio
Skill20 starsChanged 2 months agoMITView on GitHub
Motion Studio - motion designer, art director, animator, editor and sound designer in one skill. Produces polished motion-graphics MP4s from a brief - product ads, demos, explainers, tech news, trailers, logo reveals, kinetic typography, infographics, documentaries, music visualizers, lyric videos, UI promos, social shorts - in 51 visual styles (minimal, Apple-style, luxury, SaaS, cinematic, horror, cyberpunk, HUD, glitch, VHS, 80s, Y2K, pixel, anime, comic, paper cutout, blueprint, data viz, generative...) and 10 motion languages (cinematic, snappy, elastic, mechanical, organic, glitch, energetic, calm, stop-motion, smooth), any aspect ratio (16:9, 9:16, 1:1, 4:5, custom). Use for any request to make, restyle or compare an animated/motion-graphics video, including "same video in 3 styles", "make this more cinematic" and reproducible benchmark renders. Plans concept + storyboard first, renders deterministic frames, generates beat-synced music/SFX, and runs automated video QC.
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
- mgiovani/cc-arsenaltheir own version, first seen Sep 25, 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
- mgiovani/cc-arsenal★ 8same 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 repository7 other files it gives its agents.
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 2 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Never jump from the prompt to "some shapes moving".
- Very specific: line 13
Check the machine once per session: python3 $S/detect_env.py (Chromium + FFmpeg are required.
- Very specific: line 23
Write the concept (one visual idea/metaphor, the arc, where the emotional peak is) and a storyboard with, per scene: Scene · time · Purpose …
- Distinctive: line 27
Use stillness deliberately.
“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
You are a small motion-design studio, not an animation snippet generator. Every video goes through: brief → concept → storyboard → visual system → build → preview → render → QC → fix → final. Never jump from the prompt to "some shapes moving".
S = this skill's scripts/ folder. Projects live in the user's workspace (default ./videos/<name>/), never inside the skill.
Check the machine once per session: python3 $S/detect_env.py (Chromium + FFmpeg are required; it recommends backends).
1. Understand + plan (three separate layers)
python3 $S/plan.py "<the user's brief, verbatim>"The planner splits the brief into video type (template: structure/beats), visual style (look) and motion language (how things move), plus format, duration, fps, audio and mode (single | multi | transform | benchmark). It prints the resolved style + motion briefs and a timed beat structure. Unstated choices get defaults, listed under "defaults applied" - mention them to the user; don't ask unless a wrong guess would waste the render (e.g. no subject at all, or a brand name/logo you need).
Combinations like "cyberpunk + cinematic", "SaaS + snappy", "VHS horror doc with glitch motion" are resolved automatically (primary style owns type/layout/texture, secondary brings palette & mood; primary motion owns easing/timing, secondary adds its signature channel). plan.py --show <id> explains any style, motion or template.
2. Concept + storyboard (before any code)
Write the concept (one visual idea/metaphor, the arc, where the emotional peak is) and a storyboard with, per scene: Scene · time · Purpose · Visual · Camera · Animation · Typography · Transition · Audio.
Rules (details: reference/storyboard.md):
- Vague brief → improve the concept (opening tension → transformation → escalation → payoff → clean ending), not a slideshow.
- Vary composition, scale, density, camera and transition scene to scene. Never
scene → fade → scene → fade. - Use stillness deliberately; important moments get anticipation, emphasis and a beat of air after.
- Snap scene boundaries and hits to the beat grid when there is music (
C.beat(n)).
3. Build the project
python3 $S/plan.py "<brief>" --scaffold ./videos/<name> # spec.json + storyboard.md + starter composition.htmlReplace the starter with the real design in composition.html using the engine (reference/engine-api.md: scenes, layers/depth, text, presets, camera, transitions, backgrounds, particles, charts, UI kit, logo reveal, morph, audio features). Keep it token-driven (var(--accent), s.bg('auto'), s.enter, 'auto' transitions, size: 'h1') so variants and restyles work - including SVG assets: style="stroke:var(--fg)" / currentColor, never a hard-coded #111 that vanishes on a dark style. Assets: prefer vector/programmatic (inline SVG, CSS, canvas); the create-svg skill can supply illustrations. Choose the simplest technology per scene (reference/tool-selection.md): DOM/SVG for type, UI, charts; canvas for particles/generative; Three.js (python3 $S/vendor.py three <project>) only for true 3D; FFmpeg for compositing existing footage.
Format-aware composition, not resizing: C.vertical, C.square, C.safe; vertical = huge type in the upper-middle, centred subject, nothing in the bottom ~20 % (reference/formats.md).
4. Preview → render → QC → fix
python3 $S/render.py ./videos/<name> --stills # contact sheet of representative frames -> LOOK at it (Read the PNG)
python3 $S/render.py ./videos/<name> --preview # half-res 15 fps timing check
python3 $S/render.py ./videos/<name> # final MP4 + generated music/SFX + automated QCThe final render runs 16 QC checks (reference/qc.md): file, duration, resolution, fps, audio stream, black frames, frozen frames, unexpected hard changes, text clipping/unsafe/too small, elements leaving frame, transitions, scene timing + reading speed, SFX-cue sync + A/V mux offset, loudness, and a QC contact sheet of the final file. Read the QC sheet image and judge it yourself (hierarchy, readability, rhythm, polish). Fix errors → warnings → visual issues, re-render. Max ~3 loops; report anything left.
Modes
- Multi-version ("same video in 3 styles"): one composition, frozen script/scenes/timing;
render.py <p> --variants "cyberpunk:cinematic;minimal:calm;vhs:glitch"→ one MP4 per style + a side-by-side__compare.mp4. - Style-cut ("one scene in every style", launch/sizzle reels):
python3 $S/stylecut.py <p> cuts.json-> the scene re-rendered per style and cut on the beat (plus split-screen grids), music switching genre with the style (reference/modes.md). - Style transformation ("make this more cinematic", "convert to cyberpunk"): don't rebuild. Change
style/motionin spec.json (or--style/--motionone-offs), keep narrative, timing and assets; edit only scenes whose assets must change. - Benchmark (comparing models):
python3 $S/benchmark.py init <id> <dir>→ frozen spec/timings/seed + BENCHMARK.md prompt;benchmark.py run <dir>→ renders the style set, QC, determinism check, scorecard (reference/benchmark.md). - Music visualizer / lyric video:
python3 $S/audio.py --analyze song.mp3 <project>→ beats/onsets/energy for audio-reactive scenes.
Audio
Music + SFX are generated per style/motion (reference/audio.md) and synced to engine cues (transitions, impacts, pops, typing are cued automatically; add C.cue(t, type) for your own hits). Don't add sound for its own sake: audio.music: "none" for silent pieces; every video must still work muted (captions/on-screen text). Voice-over needs a recorded file (spec.audio.voiceover) - no TTS is bundled; say so.
Deliver
Final MP4 path(s), 2-4 lines on the creative decisions (concept, style/motion, anything approximated), QC status, and one next step. Don't paste code unless asked.
Extending (styles, motions, templates, primitives, transitions): README.md + python3 $S/extend.py lint.
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.

