Smithery Logo
MCPsSkillsDocsPricing
Login
NewFlame, an assistant that learns and improves. Available onTelegramSlack
    rohitg00

    motion-graphics

    rohitg00/motion-graphics
    Design
    200
    1 installs

    About

    SKILL.md

    Install

    • Telegram
      Telegram
    • Slack
      Slack
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    • Download skill
    ├─
    ├─
    └─
    Smithery Logo

    Give agents more agency

    Resources

    DocumentationPrivacy PolicySystem Status

    Company

    PricingAboutBlog

    Connect

    © 2026 Smithery. All rights reserved.

    About

    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 -...

    SKILL.md

    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

    1. Less is more - Restraint makes key moments impactful
    2. Timing is everything - Wrong timing kills good animation
    3. Consistency builds trust - Same style throughout
    4. Sound design matters - Design with audio in mind
    5. Test on target platform - Different devices, different experience
    Recommended Servers
    Excalidraw
    Excalidraw
    Hugeicons MCP Server
    Hugeicons MCP Server
    tldraw
    tldraw
    Repository
    rohitg00/manim-video-generator
    Files