motion-video
Skill4 starsChanged 19 days agoMITView on GitHub
Build a motion-graphics video rendered from code —product, launch, track record or explainer— with the real brand, music synthesised to the beat and a critique loop over its own frames. Use when asked for a video ("un vídeo"), a reel, a showreel, an animated ad, a video for social media or "como esos vídeos de motion graphics", and before writing the first scene.
13 other projects use a version of this.
Adopted by
Most recently taken up by
- whoamnesia/astudio-motiontheir own version, first seen Nov 8, 2026
- memi-design/design-skillstheir own version, first seen Nov 8, 2026
- verbodh-pte-ltd/motion-skillstheir own version, first seen Nov 1, 2026
- derek-zhuolin/motion-skilltheir own version, first seen Nov 1, 2026
- ooiyeefei/ccctheir own version, first seen Oct 25, 2026
- goosen-x/skillstheir own version, first seen Oct 20, 2026
Other versions13 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 13
- ooiyeefei/ccc★ 497same name
- derek-zhuolin/motion-skill★ 107same name
- bestagentkits/motion-video-skill★ 93same name
- farhan-syah/motion-video-skill★ 49same name
- memi-design/design-skills★ 7same name
- goosen-x/skills★ 2same name
- juninmd/skills★ 2same name
- Satori28/free-skills★ 2same name
- verbodh-pte-ltd/motion-skills★ 2same name
- danielvieirasilva0257-droid/claude-skills★ 1same name
3 more not listed
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 repository46 other files it gives its agents.
- AGENTS.mdAGENTS.md
- add-repo-to-docsSkill
- adrSkill
- auth-bypass-localSkill
- before-afterSkill
- bug-huntSkill
- carry-envSkill
- code-healthSkill
- crux-doctorSkill
- crux-initSkill
- css-to-componentsSkill
- deploy-fallbackSkill
- deploy-watchSkill
- device-loopSkill
- drive-browserSkill
- e2eSkill
- end-sessionSkill
- eval-fixturesSkill
- explain-planSkill
- flowSkill
- grillSkill
- merge-conflictsSkill
- oauth-reauthorizeSkill
- prod-signalsSkill
- promote-to-docsSkill
- prose-checkSkill
- read-documentSkill
- render-loopSkill
- repo-mapSkill
- review-prSkill
- root-causeSkill
- runbookSkill
- security-auditSkill
- share-localSkill
- shipSkill
- skill-auditSkill
- skill-creatorSkill
- teachSkill
- ui-behaviourSkill
- ui-tellsSkill
- visual-diffSkill
- visual-testSkill
- wizardSkill
- workspaceSkill
- write-testsSkill
- x-postsSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 3 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 8 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 47
If there is a track, its grid is measured.
- Distinctive: line 54
Before the full render, and as many rounds as needed:
- Distinctive: line 60
Look at the three sheets like a demanding director, not like its author.
“Common” is measured: kept by at least 6 in 10 of the 8 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-video
A generated video is a program: a function that paints the exact frame at any
instant. The script is 10 % of the result; the rest is the harness that renders
it, gives it sound and forces it to look at itself. The details of each step are
in <this-skill-directory>/references/metodo.md.
Before writing a scene
Gather this and show it. Without it, no code is written:
- What it has to end up as. One sentence: the through-line. The whole video is checked against it. If the audience is not technical, no terminals and no jargon.
- The real assets. Screenshots of the product running, logo, colours and typefaces from its design system. Never redraw the interface from memory. Figures come from the data, never by hand.
- The shot list on the grid. Choose a tempo (120 BPM gives a beat every 0.5 s) and place every cut on a beat: shot, duration, on-screen text, sound. A hook in the first 2 seconds and something new every 2 to 4. Wait for the go-ahead.
The stage contract
An HTML that exposes window.__duration and window.__seek(t). seek is pure:
the same t gives the same frame, with no timers, no CSS transitions, no state
between frames and with seeded noise. The first frame is read whole: it is the
thumbnail.
- Motion with closed-form springs, not fixed curves. A value that changes
target several times adds one spring per change (
track). - Text inside something that changes: it enters after the change and leaves before the next one.
- No
will-changeon what the camera scales: the text comes out blurry.
Banned looks, because they give away a generated video: centred title over a gradient, everything appearing by fade, labels in the corners and frames, glows over the interface, generic particle explosions, a dead beat with nothing new.
Sound
If there is a track, its grid is measured. If not, it is synthesised over the same script as the image: each hit or sweep falls on the instant of the cut it accompanies. What is generated cannot be listened to, so it is measured: energy per band and loudness per section. Final mix at −14 LUFS.
The critique loop
Before the full render, and as many rounds as needed:
scripts/sheets.sh output.mp4 critique/ # per-beat sheet, mobile test, stripLook at the three sheets like a demanding director, not like its author. Score from 1 to 10: hook, legibility at 360 px wide, quality of motion, variety, composition, fidelity to the brand and sync with the sound. Write the three worst problems with their second, fix them and repeat until everything is 8 or more.
Render
node scripts/render.mjs scene.html frames/ 120 1080 1350 # fps × sub, width, height
scripts/encode.sh frames/ output.mp4 30 --sub 4 --audio music.wavRendering at 120 and encoding with --sub 4 blends four subframes per frame:
real motion blur. It quadruples the time; use it only for the final render.
Output in H.264 yuv420p: it is what social networks accept.
Several formats (9:16, 1:1, 16:9) come out of the same script with one layout function per format, not by cropping one of them.
Delivery
The MP4, the contact sheet, the cover frame and one line with what you would improve in the next round. Nothing is published without the approval of whoever commissioned it.
Related
visual-test— capture the product running for the assets.render-loop— iterate on layout over a rendered output.x-posts— the text that accompanies the video when it is published.
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.

