Skills Agentes

Manim Video

Pipeline de producción de animaciones matemáticas y técnicas con Manim Community Edition: vídeos explicativos estilo 3Blue1Brown, visualizaciones de algoritmos, derivaciones de ecuaciones, diagramas de arquitectura e historias de datos.

Oficial
Estrellas
22.5k

en todo el repo

Actividad
37

0–100, la ruta de este skill

Actualizado
hace 4 meses

último commit aquí

Commits
0

últimos 90 días

Contexto
3k tok

113 tok en reposo

Paquete
17 archivos

98 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add browser-use/video-use --skill manim-video --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Pipeline de producción de animaciones matemáticas y técnicas con Manim Community Edition, al estilo de vídeos explicativos de 3Blue1Brown.
  • Antes de escribir código exige articular el arco narrativo: qué error corrige, cuál es el momento "ajá" y qué historia visual lleva de la confusión al entendimiento.
  • Impone un estándar creativo: geometría antes que álgebra, capas de opacidad para dirigir la atención, aire con `self.wait()` tras cada animación y un lenguaje visual cohesivo.
  • Sigue el flujo PLAN, CODE, RENDER, STITCH, AUDIO opcional y REVIEW, con un `plan.md` de arco narrativo y un `script.py` de una clase por escena renderizable de forma independiente.
  • Da dirección creativa concreta: paletas de color, tiempos de animación por contexto, escala tipográfica, fuentes monoespaciadas obligatorias y variación por escena.

Úsalo cuando

  • El usuario pide explicaciones animadas, animaciones de matemáticas, visualizaciones de conceptos o algoritmos, explicativos técnicos, vídeos estilo 3Blue1Brown o cualquier animación programática con contenido geométrico o matemático.

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Anima la derivación de la serie de Fourier estilo 3Blue1Brown
    • Visualiza este algoritmo paso a paso con Manim
    • Crea un explicativo animado de este paper con intuición geométrica
    • Haz un diagrama de arquitectura que se construye con conexiones

    SKILL.md

    En inglés

    Manim Video Production Pipeline

    Creative Standard

    This is educational cinema. Every frame teaches. Every animation reveals structure.

    Before writing a single line of code, articulate the narrative arc. What misconception does this correct? What is the "aha moment"? What visual story takes the viewer from confusion to understanding? The user's prompt is a starting point — interpret it with pedagogical ambition.

    Geometry before algebra. Show the shape first, the equation second. Visual memory encodes faster than symbolic memory. When the viewer sees the geometric pattern before the formula, the equation feels earned.

    First-render excellence is non-negotiable. The output must be visually clear and aesthetically cohesive without revision rounds. If something looks cluttered, poorly timed, or like "AI-generated slides," it is wrong.

    Opacity layering directs attention. Never show everything at full brightness. Primary elements at 1.0, contextual elements at 0.4, structural elements (axes, grids) at 0.15. The brain processes visual salience in layers.

    Breathing room. Every animation needs self.wait() after it. The viewer needs time to absorb what just appeared. Never rush from one animation to the next. A 2-second pause after a key reveal is never wasted.

    Cohesive visual language. All scenes share a color palette, consistent typography sizing, matching animation speeds. A technically correct video where every scene uses random different colors is an aesthetic failure.

    Prerequisites

    Run scripts/setup.sh to verify all dependencies. Requires: Python 3.10+, Manim Community Edition v0.20+ (pip install manim), LaTeX (texlive-full on Linux, mactex on macOS), and ffmpeg. Reference docs tested against Manim CE v0.20.1.

    Modes

    Mode Input Output Reference
    Concept explainer Topic/concept Animated explanation with geometric intuition references/scene-planning.md
    Equation derivation Math expressions Step-by-step animated proof references/equations.md
    Algorithm visualization Algorithm description Step-by-step execution with data structures references/graphs-and-data.md
    Data story Data/metrics Animated charts, comparisons, counters references/graphs-and-data.md
    Architecture diagram System description Components building up with connections references/mobjects.md
    Paper explainer Research paper Key findings and methods animated references/scene-planning.md
    3D visualization 3D concept Rotating surfaces, parametric curves, spatial geometry references/camera-and-3d.md

    Stack

    Single Python script per project. No browser, no Node.js, no GPU required.

    Layer Tool Purpose
    Core Manim Community Edition Scene rendering, animation engine
    Math LaTeX (texlive/MiKTeX) Equation rendering via MathTex
    Video I/O ffmpeg Scene stitching, format conversion, audio muxing
    TTS ElevenLabs / Qwen3-TTS (optional) Narration voiceover

    Pipeline

    PLAN --> CODE --> RENDER --> STITCH --> AUDIO (optional) --> REVIEW
    
    1. PLAN — Write plan.md with narrative arc, scene list, visual elements, color palette, voiceover script
    2. CODE — Write script.py with one class per scene, each independently renderable
    3. RENDERmanim -ql script.py Scene1 Scene2 ... for draft, -qh for production
    4. STITCH — ffmpeg concat of scene clips into final.mp4
    5. AUDIO (optional) — Add voiceover and/or background music via ffmpeg. See references/rendering.md
    6. REVIEW — Render preview stills, verify against plan, adjust

    Project Structure

    project-name/
      plan.md                # Narrative arc, scene breakdown
      script.py              # All scenes in one file
      concat.txt             # ffmpeg scene list
      final.mp4              # Stitched output
      media/                 # Auto-generated by Manim
        videos/script/480p15/
    

    Creative Direction

    Color Palettes

    Palette Background Primary Secondary Accent Use case
    Classic 3B1B #1C1C1C #58C4DD (BLUE) #83C167 (GREEN) #FFFF00 (YELLOW) General math/CS
    Warm academic #2D2B55 #FF6B6B #FFD93D #6BCB77 Approachable
    Neon tech #0A0A0A #00F5FF #FF00FF #39FF14 Systems, architecture
    Monochrome #1A1A2E #EAEAEA #888888 #FFFFFF Minimalist

    Animation Speed

    Context run_time self.wait() after
    Title/intro appear 1.5s 1.0s
    Key equation reveal 2.0s 2.0s
    Transform/morph 1.5s 1.5s
    Supporting label 0.8s 0.5s
    FadeOut cleanup 0.5s 0.3s
    "Aha moment" reveal 2.5s 3.0s

    Typography Scale

    Role Font size Usage
    Title 48 Scene titles, opening text
    Heading 36 Section headers within a scene
    Body 30 Explanatory text
    Label 24 Annotations, axis labels
    Caption 20 Subtitles, fine print

    Fonts

    Use monospace fonts for all text. Manim's Pango renderer produces broken kerning with proportional fonts at all sizes. See references/visual-design.md for full recommendations.

    MONO = "Menlo"  # define once at top of file
    
    Text("Fourier Series", font_size=48, font=MONO, weight=BOLD)  # titles
    Text("n=1: sin(x)", font_size=20, font=MONO)                  # labels
    MathTex(r"\nabla L")                                            # math (uses LaTeX)
    

    Minimum font_size=18 for readability.

    Per-Scene Variation

    Never use identical config for all scenes. For each scene:

    • Different dominant color from the palette
    • Different layout — don't always center everything
    • Different animation entry — vary between Write, FadeIn, GrowFromCenter, Create
    • Different visual weight — some scenes dense, others sparse

    Workflow

    Step 1: Plan (plan.md)

    Before any code, write plan.md. See references/scene-planning.md for the comprehensive template.

    Step 2: Code (script.py)

    One class per scene. Every scene is independently renderable.

    from manim import *
    
    BG = "#1C1C1C"
    PRIMARY = "#58C4DD"
    SECONDARY = "#83C167"
    ACCENT = "#FFFF00"
    MONO = "Menlo"
    
    class Scene1_Introduction(Scene):
        def construct(self):
            self.camera.background_color = BG
            title = Text("Why Does This Work?", font_size=48, color=PRIMARY, weight=BOLD, font=MONO)
            self.add_subcaption("Why does this work?", duration=2)
            self.play(Write(title), run_time=1.5)
            self.wait(1.0)
            self.play(FadeOut(title), run_time=0.5)
    

    Key patterns:

    • Subtitles on every animation: self.add_subcaption("text", duration=N) or subcaption="text" on self.play()
    • Shared color constants at file top for cross-scene consistency
    • self.camera.background_color set in every scene
    • Clean exits — FadeOut all mobjects at scene end: self.play(FadeOut(Group(*self.mobjects)))

    Step 3: Render

    manim -ql script.py Scene1_Introduction Scene2_CoreConcept  # draft
    manim -qh script.py Scene1_Introduction Scene2_CoreConcept  # production
    

    Step 4: Stitch

    cat > concat.txt << 'EOF'
    file 'media/videos/script/480p15/Scene1_Introduction.mp4'
    file 'media/videos/script/480p15/Scene2_CoreConcept.mp4'
    EOF
    ffmpeg -y -f concat -safe 0 -i concat.txt -c copy final.mp4
    

    Step 5: Review

    manim -ql --format=png -s script.py Scene2_CoreConcept  # preview still
    

    Critical Implementation Notes

    Raw Strings for LaTeX

    # WRONG: MathTex("\frac{1}{2}")
    # RIGHT:
    MathTex(r"\frac{1}{2}")
    

    buff >= 0.5 for Edge Text

    label.to_edge(DOWN, buff=0.5)  # never < 0.5
    

    FadeOut Before Replacing Text

    self.play(ReplacementTransform(note1, note2))  # not Write(note2) on top
    

    Never Animate Non-Added Mobjects

    self.play(Create(circle))  # must add first
    self.play(circle.animate.set_color(RED))  # then animate
    

    Performance Targets

    Quality Resolution FPS Speed
    -ql (draft) 854x480 15 5-15s/scene
    -qm (medium) 1280x720 30 15-60s/scene
    -qh (production) 1920x1080 60 30-120s/scene

    Always iterate at -ql. Only render -qh for final output.

    References

    File Contents
    references/animations.md Core animations, rate functions, composition, .animate syntax, timing patterns
    references/mobjects.md Text, shapes, VGroup/Group, positioning, styling, custom mobjects
    references/visual-design.md 12 design principles, opacity layering, layout templates, color palettes
    references/equations.md LaTeX in Manim, TransformMatchingTex, derivation patterns
    references/graphs-and-data.md Axes, plotting, BarChart, animated data, algorithm visualization
    references/camera-and-3d.md MovingCameraScene, ThreeDScene, 3D surfaces, camera control
    references/scene-planning.md Narrative arcs, layout templates, scene transitions, planning template
    references/rendering.md CLI reference, quality presets, ffmpeg, voiceover workflow, GIF export
    references/troubleshooting.md LaTeX errors, animation errors, common mistakes, debugging
    references/animation-design-thinking.md When to animate vs show static, decomposition, pacing, narration sync
    references/updaters-and-trackers.md ValueTracker, add_updater, always_redraw, time-based updaters, patterns
    references/paper-explainer.md Turning research papers into animations — workflow, templates, domain patterns
    references/decorations.md SurroundingRectangle, Brace, arrows, DashedLine, Angle, annotation lifecycle
    references/production-quality.md Pre-code, pre-render, post-render checklists, spatial layout, color, tempo

    Creative Divergence (use only when user requests experimental/creative/unique output)

    If the user asks for creative, experimental, or unconventional explanatory approaches, select a strategy and reason through it BEFORE designing the animation.

    • SCAMPER — when the user wants a fresh take on a standard explanation
    • Assumption Reversal — when the user wants to challenge how something is typically taught

    SCAMPER Transformation

    Take a standard mathematical/technical visualization and transform it:

    • Substitute: replace the standard visual metaphor (number line → winding path, matrix → city grid)
    • Combine: merge two explanation approaches (algebraic + geometric simultaneously)
    • Reverse: derive backward — start from the result and deconstruct to axioms
    • Modify: exaggerate a parameter to show why it matters (10x the learning rate, 1000x the sample size)
    • Eliminate: remove all notation — explain purely through animation and spatial relationships

    Assumption Reversal

    1. List what's "standard" about how this topic is visualized (left-to-right, 2D, discrete steps, formal notation)
    2. Pick the most fundamental assumption
    3. Reverse it (right-to-left derivation, 3D embedding of a 2D concept, continuous morphing instead of steps, zero notation)
    4. Explore what the reversal reveals that the standard approach hides

    Reproducido de browser-use/video-use bajo licencia MIT. Leer esta página en markdown.

    Archivos

    17 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Necesita Python 3.10+, Manim Community Edition v0.20+, LaTeX (`texlive-full` o `mactex`) y ffmpeg; `scripts/setup.sh` verifica las dependencias. La narración por TTS con ElevenLabs o Qwen3-TTS es opcional.

    Necesita en el PATH:awkffmpegpython3

    Detalles

    Categoría
    Aprendizaje
    Licencia
    MIT
    Recursos incluidos
    scripts en bash + referencias
    Código fuente
    Ver SKILL.md

    Más de browser-use/video-use

    Este repo incluye 2 skills. Si instalas uno, normalmente ya tienes los demás.

    Edita cualquier vídeo por conversación: transcribe, corta, hace color grading, genera animaciones de overlay y quema subtítulos, para talking heads, montajes, tutoriales, viajes o entrevistas. Sin presets ni menús.

    Costo de contexto al activarse
    5.7k tok
    Tamaño del paquete
    18 archivos
    Última actualización
    hace 4 meses
    Oficialproductividad

    Skills relacionados

    Teach

    243k

    Enseña al usuario una habilidad o un concepto nuevo, dentro de este workspace.

    Costo de contexto al activarse
    2.4k tok
    Tamaño del paquete
    6 archivos
    Última actualización
    el mes pasado
    aprendizaje

    Especialista en desafíos de programación y gamificación. Gestiona la creación de desafíos, la validación de soluciones, las clasificaciones y los sistemas de logros dentro de Flow Nexus.

    Costo de contexto al activarse
    994 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 6 meses
    aprendizaje

    Convierte ideas vagas de vídeo en planes detallados escena por escena (scenes.md). Investiga, pregunta por público y alcance, y produce especificaciones listas para implementar con ManimCE o ManimGL.

    Costo de contexto al activarse
    1.2k tok
    Tamaño del paquete
    5 archivos
    Última actualización
    hace 5 meses
    aprendizaje