Communitygithub.com

MuhammadaliNazarov/claude-video-skills

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

¿Qué es claude-video-skills?

Esta habilidad proporciona un pipeline completo para la producción de videos educativos con animaciones matemáticas y técnicas, utilizando Manim Community Edition. Está diseñada para generación de contenido visual de alta calidad, similar al popular canal 3Blue1Brown, ideal para desarrolladores, educadores y creadores de contenido que necesitan explicar conceptos complejos mediante animaciones programáticas. Soporta múltiples modos de entrada: desde explicaciones conceptuales y derivaciones de ecuaciones hasta visualizaciones de algoritmos e historias de datos. El flujo de trabajo sigue un pipeline estructurado (PLAN → CODE → RENDER → STITCH → AUDIO → REVIEW) que divide el proceso creativo en pasos claros. La habilidad se ejecuta completamente desde la terminal, sin necesidad de navegador o GPU, y ofrece referencias detalladas para animaciones, objetos, diseño visual, ecuaciones, gráficos, manejo de cámara 3D y más. Incluye pautas creativas como paletas de colores predefinidas, escalas de tipografía y velocidades de animación, así como un principio de 'divergencia creativa' que permite enfoques experimentales y no convencionales cuando el usuario lo solicita.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/MuhammadaliNazarov/claude-video-skills/tree/HEAD/skills/video-editor/engine/skills/manim-video

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Pipeline de Producción de Video con Manim

Estándar Creativo

Esto es cine educativo. Cada cuadro enseña. Cada animación revela estructura.

Antes de escribir una sola línea de código, articula el arco narrativo. ¿Qué concepto erróneo corrige esto? ¿Cuál es el "momento ajá"? ¿Qué historia visual lleva al espectador de la confusión a la comprensión? El mensaje del usuario es un punto de partida — interprétalo con ambición pedagógica.

Geometría antes que álgebra. Muestra primero la forma, la ecuación después. La memoria visual codifica más rápido que la memoria simbólica. Cuando el espectador ve el patrón geométrico antes que la fórmula, la ecuación se siente merecida.

La excelencia del primer renderizado no es negociable. La salida debe ser visualmente clara y estéticamente cohesionada sin rondas de revisión. Si algo se ve desordenado, mal sincronizado o como "diapositivas generadas por IA", está mal.

Superposición de opacidad para dirigir la atención. Nunca muestres todo con brillo completo. Elementos principales a 1.0, elementos contextuales a 0.4, elementos estructurales (ejes, cuadrículas) a 0.15. El cerebro procesa la prominencia visual en capas.

Espacio para respirar. Cada animación necesita self.wait() después. El espectador necesita tiempo para absorber lo que acaba de aparecer. Nunca apresures de una animación a la siguiente. Una pausa de 2 segundos después de una revelación clave nunca es desperdiciada.

Lenguaje visual cohesionado. Todas las escenas comparten una paleta de colores, un tamaño de tipografía consistente y velocidades de animación uniformes. Un video técnicamente correcto donde cada escena usa colores aleatorios diferentes es un fracaso estético.

Prerrequisitos

Ejecuta scripts/setup.sh para verificar todas las dependencias. Requiere: Python 3.10+, Manim Community Edition v0.20+ (pip install manim), LaTeX (texlive-full en Linux, mactex en macOS) y ffmpeg. Documentos de referencia probados con Manim CE v0.20.1.

Modos

ModoEntradaSalidaReferencia
Explicador conceptualTema/conceptoExplicación animada con intuición geométricareferences/scene-planning.md
Derivación de ecuacionesExpresiones matemáticasDemostración animada paso a pasoreferences/equations.md
Visualización de algoritmosDescripción del algoritmoEjecución paso a paso con estructuras de datosreferences/graphs-and-data.md
Historia de datosDatos/métricasGráficos animados, comparaciones, contadoresreferences/graphs-and-data.md
Diagrama de arquitecturaDescripción del sistemaComponentes construyéndose con conexionesreferences/mobjects.md
Explicador de artículoArtículo de investigaciónHallazgos clave y métodos animadosreferences/scene-planning.md
Visualización 3DConcepto 3DSuperficies rotatorias, curvas paramétricas, geometría espacialreferences/camera-and-3d.md

Stack

Un solo script de Python por proyecto. Sin navegador, sin Node.js, sin GPU requerido.

CapaHerramientaPropósito
NúcleoManim Community EditionRenderizado de escenas, motor de animación
MatemáticasLaTeX (texlive/MiKTeX)Renderizado de ecuaciones mediante MathTex
Video I/OffmpegUnión de escenas, conversión de formatos, multiplexado de audio
TTSElevenLabs / Qwen3-TTS (opcional)Locución de narración

Pipeline

PLAN --> CÓDIGO --> RENDER --> UNIR --> AUDIO (opcional) --> REVISIÓN
  1. PLAN — Escribe plan.md con arco narrativo, lista de escenas, elementos visuales, paleta de colores, guion de locución
  2. CÓDIGO — Escribe script.py con una clase por escena, cada una renderizable de forma independiente
  3. RENDER — manim -ql script.py Scene1 Scene2 ... para borrador, -qh para producción
  4. UNIR — Concatenación con ffmpeg de los clips de escena en final.mp4
  5. AUDIO (opcional) — Agrega locución y/o música de fondo mediante ffmpeg. Ver references/rendering.md
  6. REVISIÓN — Renderiza vistas previas, verifica contra el plan, ajusta

Estructura del Proyecto

nombre-proyecto/
  plan.md                # Arco narrativo, desglose de escenas
  script.py              # Todas las escenas en un archivo
  concat.txt             # Lista de escenas para ffmpeg
  final.mp4              # Salida unida
  media/                 # Generado automáticamente por Manim
    videos/script/480p15/

Dirección Creativa

Paletas de Colores

PaletaFondoPrimarioSecundarioAcentoCaso de uso
Clásica 3B1B#1C1C1C#58C4DD (AZUL)#83C167 (VERDE)#FFFF00 (AMARILLO)Matemáticas/CS general
Académica cálida#2D2B55#FF6B6B#FFD93D#6BCB77Accesible
Tecnológica neón#0A0A0A#00F5FF#FF00FF#39FF14Sistemas, arquitectura
Monocromática#1A1A2E#EAEAEA#888888#FFFFFFMinimalista

Velocidad de Animación

Contextorun_timeself.wait() después
Título/intro aparece1.5s1.0s
Revelación de ecuación clave2.0s2.0s
Transformación/morfismo1.5s1.5s
Etiqueta de apoyo0.8s0.5s
Limpieza FadeOut0.5s0.3s
Revelación "momento ajá"2.5s3.0s

Escala de Tipografía

RolTamaño de fuenteUso
Título48Títulos de escena, texto de apertura
Encabezado36Encabezados de sección dentro de una escena
Cuerpo30Texto explicativo
Etiqueta24Anotaciones, etiquetas de ejes
Subtítulo20Subtítulos, letra pequeña

Fuentes

Usa fuentes monoespaciadas para todo el texto. El renderizador Pango de Manim produce kerning roto con fuentes proporcionales en todos los tamaños. Ver references/visual-design.md para recomendaciones completas.

MONO = "Menlo"  # definir una vez al inicio del archivo

Text("Series de Fourier", font_size=48, font=MONO, weight=BOLD)  # títulos
Text("n=1: sin(x)", font_size=20, font=MONO)                    # etiquetas
MathTex(r"\nabla L")                                            # matemáticas (usa LaTeX)

Mínimo font_size=18 para legibilidad.

Variación por Escena

Nunca uses configuración idéntica para todas las escenas. Para cada escena:

  • Color dominante diferente de la paleta
  • Diseño diferente — no centres todo siempre
  • Animación de entrada diferente — varía entre Write, FadeIn, GrowFromCenter, Create
  • Peso visual diferente — algunas escenas densas, otras dispersas

Flujo de Trabajo

Paso 1: Plan (plan.md)

Antes de cualquier código, escribe plan.md. Ver references/scene-planning.md para la plantilla completa.

Paso 2: Código (script.py)

Una clase por escena. Cada escena es renderizable de forma independiente.

from manim import *

BG = "#1C1C1C"
PRIMARY = "#58C4DD"
SECONDARY = "#83C167"
ACCENT = "#FFFF00"
MONO = "Menlo"

class Scene1_Introduccion(Scene):
    def construct(self):
        self.camera.background_color = BG
        title = Text("¿Por Qué Funciona Esto?", font_size=48, color=PRIMARY, weight=BOLD, font=MONO)
        self.add_subcaption("¿Por qué funciona esto?", duration=2)
        self.play(Write(title), run_time=1.5)
        self.wait(1.0)
        self.play(FadeOut(title), run_time=0.5)

Patrones clave:

  • Subtítulos en cada animación: self.add_subcaption("texto", duration=N) o subcaption="texto" en self.play()
  • Constantes de color compartidas al inicio del archivo para consistencia entre escenas
  • self.camera.background_color establecido en cada escena
  • Salidas limpias — FadeOut de todos los mobjects al final de la escena: self.play(FadeOut(Group(*self.mobjects)))

Paso 3: Renderizar

manim -ql script.py Scene1_Introduccion Scene2_ConceptoCentral  # borrador
manim -qh script.py Scene1_Introduccion Scene2_ConceptoCentral  # producción

Paso 4: Unir

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

Paso 5: Revisión

manim -ql --format=png -s script.py Scene2_ConceptoCentral  # vista previa

Notas de Implementación Críticas

Cadenas Raw para LaTeX

# INCORRECTO: MathTex("\frac{1}{2}")
# CORRECTO:
MathTex(r"\frac{1}{2}")

buff >= 0.5 para Texto en Borde

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

FadeOut Antes de Reemplazar Texto

self.play(ReplacementTransform(nota1, nota2))  # no Write(nota2) encima

Nunca Animar Mobjects No Agregados

self.add(circle)  # primero agregar
self.play(Create(circle))  # luego animar
self.play(circle.animate.set_color(RED))

Objetivos de Rendimiento

CalidadResoluciónFPSVelocidad
-ql (borrador)854x480155-15s/escena
-qm (medio)1280x7203015-60s/escena
-qh (producción)1920x10806030-120s/escena

Itera siempre en -ql. Solo renderiza en -qh para la salida final.

Referencias

ArchivoContenido
references/animations.mdAnimaciones principales, funciones de velocidad, composición, sintaxis .animate, patrones de sincronización
references/mobjects.mdTexto, formas, VGroup/Group, posicionamiento, estilizado, mobjects personalizados
references/visual-design.md12 principios de diseño, superposición de opacidad, plantillas de diseño, paletas de colores
references/equations.mdLaTeX en Manim, TransformMatchingTex, patrones de derivación
references/graphs-and-data.mdEjes, trazado, BarChart, datos animados, visualización de algoritmos
references/camera-and-3d.mdMovingCameraScene, ThreeDScene, superficies 3D, control de cámara
references/scene-planning.mdArcos narrativos, plantillas de diseño, transiciones de escena, plantilla de planificación
references/rendering.mdReferencia CLI, presets de calidad, ffmpeg, flujo de trabajo de locución, exportación GIF
references/troubleshooting.mdErrores de LaTeX, errores de animación, errores comunes, depuración
references/animation-design-thinking.mdCuándo animar vs mostrar estático, descomposición, ritmo, sincronización de narración
references/updaters-and-trackers.mdValueTracker, add_updater, always_redraw, updaters basados en tiempo, patrones
references/paper-explainer.mdConversión de artículos de investigación en animaciones — flujo de trabajo, plantillas, patrones por dominio
references/decorations.mdSurroundingRectangle, Brace, flechas, DashedLine, Angle, ciclo de vida de anotaciones
references/production-quality.mdListas de verificación previas al código, previas al renderizado y posteriores al renderizado, diseño espacial, color, tempo

Divergencia Creativa (usar solo cuando el usuario solicite salida experimental/creativa/única)

Si el usuario pide enfoques explicativos creativos, experimentales o no convencionales, selecciona una estrategia y razona a través de ella ANTES de diseñar la animación.

  • SCAMPER — cuando el usuario quiere una nueva perspectiva de una explicación estándar
  • Inversión de supuestos — cuando el usuario quiere desafiar cómo se enseña algo normalmente

Transformación SCAMPER

Toma una visualización matemática/técnica estándar y transfórmala:

  • Sustituir: reemplaza la metáfora visual estándar (recta numérica → camino sinuoso, matriz → cuadrícula de ciudad)
  • Combinar: fusiona dos enfoques de explicación (algebraico + geométrico simultáneamente)
  • Invertir: deriva hacia atrás — comienza desde el resultado y deconstruye hasta los axiomas
  • Modificar: exagera un parámetro para mostrar por qué importa (10x la tasa de aprendizaje, 1000x el tamaño de muestra)
  • Eliminar: elimina toda notación — explica puramente a través de animación y relaciones espaciales

Inversión de Supuestos

  1. Enumera lo que es "estándar" sobre cómo se visualiza este tema (de izquierda a derecha, 2D, pasos discretos, notación formal)
  2. Elige el supuesto más fundamental
  3. Inviértelo (derivación de derecha a izquierda, incrustación 3D de un concepto 2D, transformación continua en lugar de pasos, cero notación)
  4. Explora qué revela la inversión que el enfoque estándar oculta

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

MuhammadaliNazarov/claude-video-skills

The user's CINEMATIC editing skill, separate from the everyday video-editor. Use only when the user wants something more cinematic, artistic, filmic, moody or "like Gawx" — a personal documentary, a travel film, a making-of, a story Reel with a film look — or says creative, cinematic, film look, moody, aesthetic, short film, Gawx. Low-key red/teal film grade (Cine_Gawx LUT), grain, halation, vignette, framed 4:5 / 1.37:1 / 2.39:1 pictures, small red chapter cards, music-led montage bursts, object close-ups, bookend storytelling with the meaning said out loud. For normal talking-head Reels with one-word captions use video-editor instead.

MuhammadaliNazarov/claude-video-skills

The user's scriptwriting and storytelling skill for short-form video (Instagram Reels first, also TikTok, Shorts, YouTube hooks). Writes hooks, full spoken scripts, on-screen text scripts, captions, B-roll shot lists and CTAs, using proven viral format families (Advice, Opinion, Relatable, Storytelling, Easy-to-use), story structures (normal → explosion → new normal; stakes → big question → head fake → re-hook; the Kallaway hook → lock-in → body/re-hook format; but/therefore) and current platform research. Use whenever the user asks to write, plan, brainstorm, fix or rate a script, hook, caption, video idea, content calendar, story, or "what should I post", or says script, hook, idea, format, storytelling, caption, CTA, or "make this go viral".

MuhammadaliNazarov/claude-video-skills

The user's one video editing skill. Edit any video by conversation, from raw footage to a finished file. Instagram Reels / vertical 9:16 (the default; the user mainly posts on Instagram), YouTube 16:9 hooks and long form, and anything else (montage, travel, interview, tutorial, screen recordings). Transcribes with ElevenLabs Scribe, cuts retakes and dead air, colour grades with cinematic LUTs (including Apple Log), adds word-timed captions (one word at a time in red/white or red/black by default; yellow and documentary styles too), split-explainer layouts learned from reference Reels, HyperFrames motion graphics, punch-ins, B-roll, free sound effects, music beds, and renders locally. Use whenever the user drops footage, names a video file, or says edit, cut, Reel, Instagram, YouTube, captions, subtitles, grade, LUT, Apple Log, animate, overlay, highlight this screen recording, or render.

Skills relacionados