Communitygithub.com

MuhammadaliNazarov/claude-video-skills

Pipeline de produção para animações matemáticas e técnicas usando Manim Community Edition. Cria vídeos explicativos estilo 3Blue1Brown, visualizações de algoritmos, derivações de equações, diagramas de arquitetura e histórias de dados.

O que é claude-video-skills?

Esta skill é um pipeline completo de produção de vídeos animados para conteúdo matemático e técnico, baseado no Manim Community Edition. Seu objetivo é transformar prompts de usuários em animações explicativas de alta qualidade visual, seguindo os padrões estéticos e pedagógicos consagrados pelo canal 3Blue1Brown. A skill não se limita a gerar código; ela estabelece um rigoroso processo criativo que inclui planejamento narrativo, definição de paletas de cores, tempos de animação, tipografia e um fluxo de trabalho de seis etapas (PLANEJAR, CODIFICAR, RENDERIZAR, COSTURAR, ADICIONAR ÁUDIO e REVISAR). Ela oferece suporte a diversos modos de produção, como explicação de conceitos, derivação de equações, visualização de algoritmos e diagramas de arquitetura, e é projetada para ser executada em um único script Python, sem dependências de navegador ou GPU. A skill também inclui referências detalhadas para design visual, animações e solução de problemas, além de um guia para abordagens criativas experimentais via SCAMPER e reversão de suposições.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Pipeline de Produção de Vídeos com Manim

Padrão Criativo

Isto é cinema educacional. Cada quadro ensina. Cada animação revela estrutura.

Antes de escrever uma única linha de código, articule o arco narrativo. Que equívoco isso corrige? Qual é o "momento aha"? Qual história visual leva o espectador da confusão ao entendimento? O prompt do usuário é um ponto de partida — interprete-o com ambição pedagógica.

Geometria antes da álgebra. Mostre a forma primeiro, a equação depois. A memória visual codifica mais rápido que a memória simbólica. Quando o espectador vê o padrão geométrico antes da fórmula, a equação parece merecida.

A excelência na primeira renderização é inegociável. A saída deve ser visualmente clara e esteticamente coesa sem rodadas de revisão. Se algo parecer confuso, mal cronometrado ou como "slides gerados por IA", está errado.

Camadas de opacidade direcionam a atenção. Nunca mostre tudo com brilho máximo. Elementos primários em 1.0, elementos contextuais em 0.4, elementos estruturais (eixos, grades) em 0.15. O cérebro processa a saliência visual em camadas.

Espaço para respirar. Toda animação precisa de self.wait() depois dela. O espectador precisa de tempo para absorver o que acabou de aparecer. Nunca apresse de uma animação para a outra. Uma pausa de 2 segundos após uma revelação chave nunca é desperdiçada.

Linguagem visual coesa. Todas as cenas compartilham uma paleta de cores, tamanhos de tipografia consistentes e velocidades de animação correspondentes. Um vídeo tecnicamente correto onde cada cena usa cores aleatórias diferentes é uma falha estética.

Pré-requisitos

Execute scripts/setup.sh para verificar todas as dependências. Requer: Python 3.10+, Manim Community Edition v0.20+ (pip install manim), LaTeX (texlive-full no Linux, mactex no macOS) e ffmpeg. Documentação de referência testada com Manim CE v0.20.1.

Modos

ModoEntradaSaídaReferência
Explicador de conceitosTópico/conceitoExplicação animada com intuição geométricareferences/scene-planning.md
Derivação de equaçõesExpressões matemáticasProva animada passo a passoreferences/equations.md
Visualização de algoritmoDescrição do algoritmoExecução passo a passo com estruturas de dadosreferences/graphs-and-data.md
História de dadosDados/métricasGráficos animados, comparações, contadoresreferences/graphs-and-data.md
Diagrama de arquiteturaDescrição do sistemaComponentes sendo construídos com conexõesreferences/mobjects.md
Explicador de artigoArtigo de pesquisaPrincipais descobertas e métodos animadosreferences/scene-planning.md
Visualização 3DConceito 3DSuperfícies giratórias, curvas paramétricas, geometria espacialreferences/camera-and-3d.md

Stack

Um único script Python por projeto. Sem navegador, Node.js ou GPU necessários.

CamadaFerramentaPropósito
Core (Núcleo)Manim Community EditionRenderização de cena, motor de animação
MatemáticaLaTeX (texlive/MiKTeX)Renderização de equações via MathTex
Entrada/Saída de VídeoffmpegCostura de cenas, conversão de formato, multiplexação de áudio
TTS (Texto para Fala)ElevenLabs / Qwen3-TTS (opcional)Narração de voz

Pipeline

PLANEJAR --> CODIFICAR --> RENDERIZAR --> COSTURAR --> ÁUDIO (opcional) --> REVISAR
  1. PLANEJAR — Escreva plan.md com arco narrativo, lista de cenas, elementos visuais, paleta de cores, roteiro de narração
  2. CODIFICAR — Escreva script.py com uma classe por cena, cada uma renderizável independentemente
  3. RENDERIZAR — manim -ql script.py Scene1 Scene2 ... para rascunho, -qh para produção
  4. COSTURAR — Concatenação de clips de cena via ffmpeg em final.mp4
  5. ÁUDIO (opcional) — Adicione narração e/ou música de fundo via ffmpeg. Veja references/rendering.md
  6. REVISAR — Renderize stills de pré-visualização, verifique em relação ao plano, ajuste

Estrutura do Projeto

nome-do-projeto/
  plan.md                # Arco narrativo, detalhamento das cenas
  script.py              # Todas as cenas em um arquivo
  concat.txt             # Lista de cenas ffmpeg
  final.mp4              # Saída costurada
  media/                 # Gerado automaticamente pelo Manim
    videos/script/480p15/

Direção Criativa

Paletas de Cores

PaletaFundoPrimáriaSecundáriaDestaqueCaso de uso
Clássico 3B1B#1C1C1C#58C4DD (AZUL)#83C167 (VERDE)#FFFF00 (AMARELO)Matemática/CC geral
Acadêmico acolhedor#2D2B55#FF6B6B#FFD93D#6BCB77Acessível
Tech Neon#0A0A0A#00F5FF#FF00FF#39FF14Sistemas, arquitetura
Monocromático#1A1A2E#EAEAEA#888888#FFFFFFMinimalista

Velocidade de Animação

Contextorun_timeself.wait() após
Aparecimento do título/introdução1.5s1.0s
Revelação de equação chave2.0s2.0s
Transformação/morfagem1.5s1.5s
Rótulo de suporte0.8s0.5s
Limpeza com FadeOut0.5s0.3s
Revelação do "momento aha"2.5s3.0s

Escala Tipográfica

FunçãoTamanho da fonteUso
Título48Títulos de cena, texto de abertura
Cabeçalho36Cabeçalhos de seção dentro de uma cena
Corpo30Texto explicativo
Rótulo24Anotações, rótulos de eixos
Legenda20Legendas, texto pequeno

Fontes

Use fontes monoespaçadas para todo o texto. O renderizador Pango do Manim produz kerning quebrado com fontes proporcionais em todos os tamanhos. Veja references/visual-design.md para recomendações completas.

MONO = "Menlo"  # defina uma vez no topo do arquivo

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

Tamanho mínimo font_size=18 para legibilidade.

Variação por Cena

Nunca use configuração idêntica para todas as cenas. Para cada cena:

  • Cor dominante diferente da paleta
  • Layout diferente — nem sempre centralize tudo
  • Entrada de animação diferente — varie entre Write, FadeIn, GrowFromCenter, Create
  • Peso visual diferente — algumas cenas densas, outras esparsas

Fluxo de Trabalho

Passo 1: Planejar (plan.md)

Antes de qualquer código, escreva plan.md. Veja references/scene-planning.md para o modelo abrangente.

Passo 2: Codificar (script.py)

Uma classe por cena. Cada cena é renderizável independentemente.

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("Por que Isso Funciona?", font_size=48, color=PRIMARY, weight=BOLD, font=MONO)
        self.add_subcaption("Por que isso funciona?", duration=2)
        self.play(Write(title), run_time=1.5)
        self.wait(1.0)
        self.play(FadeOut(title), run_time=0.5)

Padrões chave:

  • Legendas em toda animação: self.add_subcaption("texto", duration=N) ou subcaption="texto" em self.play()
  • Constantes de cor compartilhadas no topo do arquivo para consistência entre cenas
  • self.camera.background_color definido em toda cena
  • Saídas limpas — FadeOut de todos os mobjects ao final da cena: self.play(FadeOut(Group(*self.mobjects)))

Passo 3: Renderizar

manim -ql script.py Scene1_Introduction Scene2_CoreConcept  # rascunho
manim -qh script.py Scene1_Introduction Scene2_CoreConcept  # produção

Passo 4: Costurar

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

Passo 5: Revisar

manim -ql --format=png -s script.py Scene2_CoreConcept  # still de pré-visualização

Notas de Implementação Críticas

Strings Raw para LaTeX

# ERRADO: MathTex("\frac{1}{2}")
# CERTO:
MathTex(r"\frac{1}{2}")

buff >= 0.5 para Texto nas Bordas

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

FadeOut Antes de Substituir Texto

self.play(ReplacementTransform(note1, note2))  # não Write(note2) por cima

Nunca Anime Mobjects Não Adicionados

self.play(Create(circle))  # deve adicionar primeiro
self.play(circle.animate.set_color(RED))  # depois animar

Metas de Performance

QualidadeResoluçãoFPSVelocidade
-ql (rascunho)854x480155-15s/cena
-qm (médio)1280x7203015-60s/cena
-qh (produção)1920x10806030-120s/cena

Sempre itere em -ql. Renderize em -qh apenas para a saída final.

Referências

ArquivoConteúdo
references/animations.mdAnimações principais, funções de taxa, composição, sintaxe .animate, padrões de tempo
references/mobjects.mdTexto, formas, VGroup/Group, posicionamento, estilo, mobjects personalizados
references/visual-design.md12 princípios de design, camadas de opacidade, modelos de layout, paletas de cores
references/equations.mdLaTeX no Manim, TransformMatchingTex, padrões de derivação
references/graphs-and-data.mdEixos, plotagem, BarChart, dados animados, visualização de algoritmos
references/camera-and-3d.mdMovingCameraScene, ThreeDScene, superfícies 3D, controle de câmera
references/scene-planning.mdArcos narrativos, modelos de layout, transições de cena, modelo de planejamento
references/rendering.mdReferência de CLI, predefinições de qualidade, ffmpeg, fluxo de trabalho de narração, exportação GIF
references/troubleshooting.mdErros de LaTeX, erros de animação, erros comuns, depuração
references/animation-design-thinking.mdQuando animar vs. mostrar estático, decomposição, ritmo, sincronização de narração
references/updaters-and-trackers.mdValueTracker, add_updater, always_redraw, updaters baseados em tempo, padrões
references/paper-explainer.mdTransformar artigos de pesquisa em animações — fluxo de trabalho, modelos, padrões de domínio
references/decorations.mdSurroundingRectangle, Brace, setas, DashedLine, Angle, ciclo de vida de anotação
references/production-quality.mdListas de verificação pré-código, pré-renderização e pós-renderização, layout espacial, cor, tempo

Divergência Criativa (use apenas quando o usuário solicitar saída experimental/criativa/única)

Se o usuário pedir abordagens explicativas criativas, experimentais ou não convencionais, selecione uma estratégia e pense através dela ANTES de projetar a animação.

  • SCAMPER — quando o usuário quer uma nova abordagem para uma explicação padrão
  • Inversão de Suposição — quando o usuário quer desafiar como algo é tipicamente ensinado

Transformação SCAMPER

Pegue uma visualização matemática/técnica padrão e transforme-a:

  • Substituir: substitua a metáfora visual padrão (linha numérica → caminho sinuoso, matriz → grade da cidade)
  • Combinar: mescle duas abordagens de explicação (algébrica + geométrica simultaneamente)
  • Inverter: derive de trás para frente — comece do resultado e desconstrua até os axiomas
  • Modificar: exagere um parâmetro para mostrar por que ele importa (10x a taxa de aprendizado, 1000x o tamanho da amostra)
  • Eliminar: remova toda a notação — explique puramente através de animação e relações espaciais

Inversão de Suposição

  1. Liste o que é "padrão" sobre como este tópico é visualizado (da esquerda para a direita, 2D, passos discretos, notação formal)
  2. Escolha a suposição mais fundamental
  3. Inverta-a (derivação da direita para a esquerda, incorporação 3D de um conceito 2D, morfagem contínua em vez de passos, notação zero)
  4. Explore o que a inversão revela que a abordagem padrão esconde

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.

Habilidades Relacionadas