kinetic-typography
Skill1 starsChanged 4 months agoMITView on GitHub
Add animated "kinetic typography" to an HTML page — headlines whose words cascade in one after another, a centered hero headline that gets pushed aside as content/cards slide in, top/bottom supporting lines that slide out of the headline, and a fractured/"cracked" word effect. Use when building motion-graphics-style titles, an animated headline reveal, a product explainer's text, or any "the words move like that launch video" request. Triggers: "animate the headline", "kinetic typography", "make the title words fly/rise in", "cracked text effect", "headline that slides aside when the cards come in", "word-by-word reveal".
5 other projects use a version of this.
Adopted by
Most recently taken up by
- Acnologia7021/codex-skillstheir own version, first seen Nov 8, 2026
- PHANTOMTONYT/motion-design-skillstheir own version, first seen Oct 20, 2026
- iart-ai/kinetic-typography-skillstheir own version, first seen Oct 17, 2026
- willlee1995/skillstheir own version, first seen Oct 13, 2026
- SkillMedev/motion-video-directiontheir own version, first seen Oct 5, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- iart-ai/kinetic-typography-skills★ 14same name
- PHANTOMTONYT/motion-design-skills★ 2same name
- willlee1995/skills★ 1same name
- Acnologia7021/codex-skills★ 0same name
- SkillMedev/motion-video-direction★ 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 repository16 other files it gives its agents.
- aesthetic-presetsSkill
- audio-stemsSkill
- backgrounds-gradientsSkill
- element-motionSkill
- explainer-videoSkill
- glass-cardsSkill
- mark-driven-groundSkill
- motion-graphicsSkill
- product-motionSkill
- scene-transitionsSkill
- smooth-renderSkill
- text-motionSkill
- travelling-markSkill
- ui-data-motionSkill
- vo-syncSkill
- walkthrough-filmSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 1 is distinctive, and 2 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
1
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
- Very specific: line 39
Add .cardsin → lead slides to its dock, stage slides in from the opposite edge, kicker/sub slide out.
- Very specific: line 46
Keep --ck at 0 until the word has finished its cascade-in, so it reads "word appears → then cracks."
- Distinctive: line 58
Ride the mark to the typing edge: After it lands, lerp the mark from its resting point to the right edge of the last-typed letter (arc it …
“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
Kinetic Typography
Drop-in building blocks (assets/kinetic.css + assets/kinetic.js) for motion-graphics text in plain HTML/CSS — the look of polished SaaS launch videos. Three composable effects:
1. Word-cascade reveal
Each headline line masks its words; the words rise into place one after another behind the mask. splitWords() splits .head .ln > span into per-word .wd spans (preserving an inline colored/gradient word or a .crackword as one unit) and tags each with a global --wi index; the CSS @keyframes wordrise staggers by --wi so the whole headline "assembles" line by line.
<div class="head"><span class="ln"><span>Find the <span class="grad">cracks</span></span></span>
<span class="ln"><span>first.</span></span></div>
<script src="kinetic.js"></script><script>splitWords();</script>Play it by adding .show to an ancestor (e.g. the active scene).
2. Hero → push → reveal staging
A headline appears centered as one line (hero), then content slides in and pushes it aside while the kicker (top line) and subtitle (bottom line) slide out of the headline. Structure each scene as a .lead (kicker + .head + .sub) next to a .cardstage, mark the scene .choreo dk-left or .choreo dk-right, and toggle .cardsin when the content phase begins:
<section class="scene choreo dk-right">
<div class="lead"><div class="kicker">Section · Label</div>
<div class="head"><span class="ln"><span>Govern every agent.</span></span></div>
<div class="sub">One line of supporting copy.</div></div>
<div class="cardstage"><!-- your cards / panel --></div>
</section>- No
.cardsin→ headline centered (--heroXrecenters it from its docked side), kicker/sub hidden, stage off-screen (--stageHide). - Add
.cardsin→ lead slides to its dock, stage slides in from the opposite edge, kicker/sub slide out. Alternatedk-left/dk-rightacross scenes for variety.
3. Fractured / cracked word
Wrap a word <span class="crackword" data-text="cracks">cracks</span>. It renders as two copies clipped along a jagged seam; the CSS variable --ck ramps the fracture (0 = solid, 1 = fully cracked) with a red glint in the gap. Drive it in your frame loop so it cracks on cue (e.g. when a voiceover says the word):
setCrack(el, clamp((t - crackStart) / crackDur, 0, 1)); // from kinetic.jsKeep --ck at 0 until the word has finished its cascade-in, so it reads "word appears → then cracks."
4. Typewriter + cursor + pill
A fourth staging, for when a travelling element (a logo, a dot, the spark from a reference reel) is already flying through the frame: instead of the words cascading in, the line types, and the travelling element is the cursor typing it.
- Type without reflow. Build the line once in its final layout — a span per word, an
inline-block span per letter — and per frame set each letter's opacity plus a
translateXaccumulator that starts at+.18emof tracking and closes to 0 over .25 s. Never animateletter-spacing: that re-lays the line out every frame, so the words crawl and a long line can re-wrap mid-type. Step ≈ 35 ms per letter, capped so the whole line takes at most 1.1 s. - Ride the mark to the typing edge. After it lands, lerp the mark from its resting point to the right edge of the last-typed letter (arc it over the line with a sine so it never crosses the words it just wrote, and shrink it to cursor size on the way out), then ease it back when the line is done — well before the cut, so every exit still starts from the resting point.
- Land the payoff word in a highlighter pill. The last word sits in a solid accent pill that
wipes in from its left edge (
clip-path:inset(0 var(--wipe) 0 0), 100 %→0 over .3 s) as that word's first letter appears, with the letters flat white over it, and the run settles out of a 6° tilt over .35 s.
Helpers and classes for all three live in the text-motion skill
(tmTypeBuild · tmType · tmTypeCursor, .tm-type / .tm-pay), and the background half of the move
— the rings the mark travelled along and the glow where it landed — is the mark-driven-ground
skill. Recipes: "A″ · Spark-driven text" in ../motion-graphics/PLATTER.md.
Notes
- Units are container-query units (
cqw/cqh); put the scene inside acontainer-type: sizestage, or swap tovw/%. - These are logical-time friendly: the cascade/push are CSS, the crack is variable-driven — so they render cleanly with the
smooth-renderskill (scale the transition/animation durations by 1/RATE at render time). - To sync cues (a word cracking, a card raising) to a voiceover, pair with the
vo-syncskill.
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.

