motion-graphics
This skill creates animations using design principles like easing and kinetic typography to improve UI and video content.
Install
mkdir -p .claude/skills/motion-graphics && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2945" && unzip -o skill.zip -d .claude/skills/motion-graphics && rm skill.zipInstalls to .claude/skills/motion-graphics
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Kinetic typography, logo animations, and stylized motion design skill.
**Triggers when:**
- User wants text animations or kinetic typography
- Request involves logo reveals or title sequences
- Content focuses on visual impact over education
- User mentions "title", "intro", "logo", "text animation", "kinetic"
**Capabilities:**
- Kinetic typography with dynamic text effects
- Logo reveals and brand animations
- Particle effects and visual flourishes
- Modern motion design patterns
- Attention-grabbing title sequencesKey capabilities
- →Animate text using kinetic typography
- →Apply motion design principles (easing, anticipation)
- →Sequence brand-aligned logo reveals
- →Generate visual title sequences
- →Implement squash and stretch motion math
How it works
It executes programmatic animation scripts using the Manim engine to render motion graphics based on defined timing and easing curves.
Inputs & outputs
When to use motion-graphics
- →Design kinetic typography
- →Create logo animations
- →Animate title sequences
- →Apply motion easing curves
About this skill
Motion Graphics Skill
The Motion Graphics skill creates visually striking animations focused on aesthetic impact, perfect for titles, intros, and attention-grabbing content.
Design Principles
The 4 S's of Motion Graphics
- Style: Consistent visual language throughout
- Surprise: Unexpected movements that delight
- Smoothness: Fluid transitions and easing
- Simplicity: Clean design, no visual clutter
Motion Design Fundamentals
- Anticipation: Small movement before main action
- Follow-through: Elements continue after stopping
- Overshoot: Go past, then settle into place
- Squash & Stretch: Emphasize weight and impact
Rules
rules/kinetic-typography.md
Creating impactful text animations that convey emotion.
rules/timing-and-easing.md
Professional easing curves and timing patterns.
rules/visual-hierarchy.md
Directing attention through size, color, and motion.
rules/brand-consistency.md
Maintaining consistent style across animations.
Templates
Kinetic Typography - Word by Word
from manim import *
class KineticTypography(Scene):
def construct(self):
self.camera.background_color = "#1a1a2e"
words = ["The", "Future", "Is", "NOW"]
colors = [WHITE, BLUE, WHITE, YELLOW]
for word, color in zip(words, colors):
text = Text(word, font_size=96, color=color, weight=BOLD)
# Dramatic entrance
text.scale(0)
self.add(text)
self.play(
text.animate.scale(1),
rate_func=rate_functions.ease_out_back,
run_time=0.4
)
self.wait(0.3)
# Exit with style
self.play(
text.animate.shift(UP * 2).set_opacity(0),
rate_func=rate_functions.ease_in_cubic,
run_time=0.3
)
self.remove(text)
# Final combination
final = Text("THE FUTURE IS NOW", font_size=48, color=GOLD)
self.play(Write(final), run_time=1)
self.play(Indicate(final, scale_factor=1.1, color=WHITE))
Logo Reveal - Particle Assemble
from manim import *
import random
class LogoReveal(Scene):
def construct(self):
self.camera.background_color = "#0a0a0a"
# Create logo text
logo = Text("BRAND", font_size=120, color=WHITE, weight=BOLD)
# Create particles that will form the logo
particles = VGroup()
for _ in range(100):
dot = Dot(
point=[random.uniform(-7, 7), random.uniform(-4, 4), 0],
radius=0.05,
color=random_color()
)
particles.add(dot)
self.add(particles)
# Swirl particles
self.play(
*[Rotating(p, radians=PI * 2, about_point=ORIGIN)
for p in particles],
run_time=1.5,
rate_func=rate_functions.ease_in_out_sine
)
# Converge to logo position
self.play(
FadeOut(particles),
FadeIn(logo, scale=0.5),
run_time=0.8
)
# Glow effect
glow = logo.copy().set_color(BLUE).set_opacity(0.5)
self.play(
glow.animate.scale(1.2).set_opacity(0),
run_time=0.5
)
self.remove(glow)
self.wait()
Title Sequence - Slide & Stack
from manim import *
class TitleSequence(Scene):
def construct(self):
self.camera.background_color = "#16213e"
# Main title
title = Text("EPISODE ONE", font_size=72, color=WHITE)
subtitle = Text("The Beginning", font_size=36, color=BLUE_C)
# Slide in from sides
title.shift(LEFT * 10)
subtitle.shift(RIGHT * 10)
self.add(title, subtitle)
self.play(
title.animate.move_to(UP * 0.5),
subtitle.animate.move_to(DOWN * 0.5),
run_time=0.8,
rate_func=rate_functions.ease_out_cubic
)
# Add decorative lines
line_left = Line(LEFT * 3, LEFT * 0.5, color=GOLD, stroke_width=2)
line_right = Line(RIGHT * 0.5, RIGHT * 3, color=GOLD, stroke_width=2)
lines = VGroup(line_left, line_right).next_to(title, UP, buff=0.3)
self.play(
Create(line_left),
Create(line_right),
run_time=0.5
)
# Fade all together
self.wait(2)
self.play(
FadeOut(VGroup(title, subtitle, lines), shift=UP),
run_time=0.6
)
Text Glitch Effect
from manim import *
class GlitchText(Scene):
def construct(self):
self.camera.background_color = "#000000"
text = Text("GLITCH", font_size=96, color=WHITE, weight=BOLD)
# Create glitch copies
red_copy = text.copy().set_color(RED).shift(LEFT * 0.05 + UP * 0.02)
blue_copy = text.copy().set_color(BLUE).shift(RIGHT * 0.05 + DOWN * 0.02)
self.add(red_copy, blue_copy, text)
# Glitch animation
for _ in range(5):
# Random offset
self.play(
red_copy.animate.shift(RIGHT * 0.1),
blue_copy.animate.shift(LEFT * 0.1),
run_time=0.05
)
self.play(
red_copy.animate.shift(LEFT * 0.1),
blue_copy.animate.shift(RIGHT * 0.1),
run_time=0.05
)
# Settle
self.play(
red_copy.animate.move_to(text.get_center()),
blue_copy.animate.move_to(text.get_center()),
run_time=0.2
)
self.remove(red_copy, blue_copy)
self.wait()
Counter Animation
from manim import *
class CounterAnimation(Scene):
def construct(self):
self.camera.background_color = "#1a1a2e"
# Value tracker
counter = ValueTracker(0)
# Dynamic text
number = always_redraw(lambda: Text(
f"{int(counter.get_value()):,}",
font_size=120,
color=WHITE,
weight=BOLD
))
label = Text("SUBSCRIBERS", font_size=32, color=BLUE_C)
label.next_to(number, DOWN, buff=0.5)
self.add(number, label)
# Animate count
self.play(
counter.animate.set_value(1000000),
run_time=3,
rate_func=rate_functions.ease_out_cubic
)
# Celebration effect
self.play(
Indicate(number, scale_factor=1.2, color=GOLD),
run_time=0.5
)
Easing Functions Reference
| Effect | Rate Function | Use Case |
|---|---|---|
| Smooth | smooth | General purpose |
| Dramatic entrance | ease_out_back | Pop-in effects |
| Gentle exit | ease_in_cubic | Fade outs |
| Bouncy | ease_out_bounce | Playful motion |
| Snappy | ease_out_expo | Quick, impactful |
| Natural | ease_in_out_sine | Organic movement |
| Linear | linear | Constant speed |
Color Palettes
Neon Cyberpunk
NEON_PINK = "#ff00ff"
NEON_BLUE = "#00ffff"
NEON_GREEN = "#00ff00"
DARK_BG = "#0a0a0a"
Corporate Professional
CORP_BLUE = "#0066cc"
CORP_GRAY = "#333333"
CORP_WHITE = "#ffffff"
CORP_ACCENT = "#ff6600"
Minimal Modern
MIN_BLACK = "#1a1a1a"
MIN_WHITE = "#f5f5f5"
MIN_GRAY = "#888888"
MIN_ACCENT = "#3366ff"
Best Practices
- Less is more - Restraint makes key moments impactful
- Timing is everything - Wrong timing kills good animation
- Consistency builds trust - Same style throughout
- Sound design matters - Design with audio in mind
- Test on target platform - Different devices, different experience
When not to use it
- →Educational instructional videos
- →Static graphical layout design
Prerequisites
Limitations
- →Requires rendering time for complex scenes
- →Limited to programmatic motion capabilities
- →Steep learning curve for complex custom shapes
How it compares
It creates motion paths algorithmically rather than relying on GUI-based keyframe animation tools.
Compared to similar skills
motion-graphics side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| motion-graphics (this skill) | 31 | 6mo | No flags | Intermediate |
| game-art | 23 | 6mo | No flags | Beginner |
| scroll-experience | 101 | 6mo | No flags | Intermediate |
| theme-factory | 61 | 3mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by rohitg00
View all by rohitg00 →You might also like
game-art
davila7
Game art principles. Visual style selection, asset pipeline, animation workflow.
scroll-experience
davila7
Expert in building immersive scroll-driven experiences - parallax storytelling, scroll animations, interactive narratives, and cinematic web experiences. Like NY Times interactives, Apple product pages, and award-winning web experiences. Makes websites feel like experiences, not just pages. Use when: scroll animation, parallax, scroll storytelling, interactive story, cinematic website.
theme-factory
anthropics
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.
brand-guidelines
anthropics
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
canvas-design
anthropics
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
interactive-portfolio
davila7
Expert in building portfolios that actually land jobs and clients - not just showing work, but creating memorable experiences. Covers developer portfolios, designer portfolios, creative portfolios, and portfolios that convert visitors into opportunities. Use when: portfolio, personal website, showcase work, developer portfolio, designer portfolio.