Communitygithub.com

MuhammadaliNazarov/claude-video-skills — Pipeline de production…

Pipeline de production d’animations mathématiques et techniques avec Manim Community Edition. Crée des vidéos explicatives de type 3Blue1Brown, des visualisations d’algorithmes, des dérivations d’équations, des diagrammes d’architecture et des récits de données. À utiliser quand l’utilisateur demande : animations explicatives, animations mathématiques, visualisations de concepts, déroulés d’algorithmes, présentations techniques, vidéos style 3Blue1Brown, ou toute animation programmatique à contenu géométrique/mathématique.

Qu'est-ce que claude-video-skills — Pipeline de production… ?

Cette compétence fournit un pipeline de production vidéo complet pour créer des animations mathématiques et techniques de haute qualité avec Manim Community Edition (v0.20+). Elle vous guide de la planification narrative (« plan.md ») au rendu final (« final.mp4 »), en passant par le codage, le rendu et l’assemblage. Elle prend en charge plusieurs modes comme les explicateurs de concepts, les dérivations d’équations, les visualisations d’algorithmes, les récits de données ou les diagrammes d’architecture, chacun avec des références dédiées. La compétence impose un standard créatif exigeant : chaque scène doit être visuellement cohérente, utiliser une palette de couleurs définie (Classic 3B1B, Warm academic, Neon tech, Monochrome), respecter des temps d’animation et des typographies monospaces (Menlo) précis, et offrir des pauses (self.wait()) pour laisser le spectateur assimiler. Le flux de travail itératif (plan → code → rendu → assemblage → audio optionnel → révision) permet de passer rapidement d’une maquette en basse résolution (-ql) à une production en 1080p60 (-qh). Des fonctionnalités avancées comme la narration par sous-titres (add_subcaption), l’export GIF, le voiceover via ElevenLabs/Qwen3-TTS et des transformations SCAMPER pour les explications créatives sont également documentées.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Pipeline de Production Vidéo Manim

Standard Créatif

C’est du cinéma éducatif. Chaque plan enseigne. Chaque animation révèle une structure.

Avant d’écrire la moindre ligne de code, articulez l’arc narratif. Quelle idée fausse ce contenu corrige-t-il ? Quel est le « moment eurêka » ? Quelle histoire visuelle emmène le spectateur de la confusion à la compréhension ? La demande de l’utilisateur n’est qu’un point de départ — interprétez-la avec ambition pédagogique.

La géométrie avant l’algèbre. Montrez d’abord la forme, l’équation ensuite. La mémoire visuelle encode plus vite que la mémoire symbolique. Quand le spectateur voit le motif géométrique avant la formule, l’équation paraît méritée.

L’excellence au premier rendu est non négociable. La sortie doit être visuellement claire et esthétiquement cohérente sans itérations de correction. Si quelque chose semble surchargé, mal rythmé ou comme des « diapositives générées par IA », c’est faux.

La superposition d’opacité dirige l’attention. Ne montrez jamais tout à pleine luminosité. Éléments principaux à 1,0, éléments contextuels à 0,4, éléments structurels (axes, grilles) à 0,15. Le cerveau traite la saillance visuelle par couches.

Temps de respiration. Chaque animation a besoin d’un self.wait() après elle. Le spectateur a besoin de temps pour absorber ce qui vient d’apparaître. Ne précipitez jamais une animation après l’autre. Une pause de 2 secondes après une révélation clé n’est jamais perdue.

Langage visuel cohérent. Toutes les scènes partagent une palette de couleurs, un dimensionnement de typographie uniforme, des vitesses d’animation identiques. Une vidéo techniquement correcte où chaque scène utilise des couleurs aléatoires différentes est un échec esthétique.

Prérequis

Exécutez scripts/setup.sh pour vérifier toutes les dépendances. Nécessite : Python 3.10+, Manim Community Edition v0.20+ (pip install manim), LaTeX (texlive-full sous Linux, mactex sous macOS), et ffmpeg. La documentation de référence a été testée avec Manim CE v0.20.1.

Modes

ModeEntréeSortieRéférence
Explicateur de conceptSujet/conceptExplication animée avec intuition géométriquereferences/scene-planning.md
Dérivation d’équationExpressions mathématiquesPreuve animée pas à pasreferences/equations.md
Visualisation d’algorithmeDescription d’algorithmeExécution pas à pas avec structures de donnéesreferences/graphs-and-data.md
Récit de donnéesDonnées/métriquesGraphiques animés, comparaisons, compteursreferences/graphs-and-data.md
Diagramme d’architectureDescription systèmeComposants qui se construisent avec connexionsreferences/mobjects.md
Explicateur d’articleArticle de rechercheRésultats et méthodes clés animésreferences/scene-planning.md
Visualisation 3DConcept 3DSurfaces rotatives, courbes paramétriques, géométrie spatialereferences/camera-and-3d.md

Stack

Un seul script Python par projet. Pas de navigateur, pas de Node.js, pas de GPU nécessaire.

CoucheOutilObjectif
CœurManim Community EditionRendu de scène, moteur d’animation
MathématiquesLaTeX (texlive/MiKTeX)Rendu d’équations via MathTex
Vidéo I/OffmpegAssemblage de scènes, conversion de format, multiplexage audio
Synthèse vocaleElevenLabs / Qwen3-TTS (optionnel)Voix off narrative

Pipeline

PLAN --> CODE --> RENDU --> ASSEMBLAGE --> AUDIO (optionnel) --> RÉVISION
  1. PLAN — Écrire plan.md avec l’arc narratif, la liste des scènes, les éléments visuels, la palette de couleurs, le script de voix off
  2. CODE — Écrire script.py avec une classe par scène, chacune rendable indépendamment
  3. RENDU — manim -ql script.py Scene1 Scene2 ... pour le brouillon, -qh pour la production
  4. ASSEMBLAGE — Concaténation ffmpeg des clips de scène en final.mp4
  5. AUDIO (optionnel) — Ajouter voix off et/ou musique de fond via ffmpeg. Voir references/rendering.md
  6. RÉVISION — Rendu d’images de prévisualisation, vérification par rapport au plan, ajustement

Structure du Projet

nom-du-projet/
  plan.md                # Arc narratif, découpage des scènes
  script.py              # Toutes les scènes dans un fichier
  concat.txt             # Liste des scènes pour ffmpeg
  final.mp4              # Sortie assemblée
  media/                 # Généré automatiquement par Manim
    videos/script/480p15/

Direction Créative

Palettes de Couleurs

PaletteFondPrimaireSecondaireAccentCas d’usage
Classic 3B1B#1C1C1C#58C4DD (BLEU)#83C167 (VERT)#FFFF00 (JAUNE)Maths/info général
Warm academic#2D2B55#FF6B6B#FFD93D#6BCB77Accessible
Neon tech#0A0A0A#00F5FF#FF00FF#39FF14Systèmes, architecture
Monochrome#1A1A2E#EAEAEA#888888#FFFFFFMinimaliste

Vitesse d’Animation

Contexterun_timeself.wait() après
Apparition titre/intro1,5 s1,0 s
Révélation d’équation clé2,0 s2,0 s
Transformation/morphing1,5 s1,5 s
Étiquette de support0,8 s0,5 s
Nettoyage FadeOut0,5 s0,3 s
Révélation « moment eurêka »2,5 s3,0 s

Échelle Typographique

RôleTaille de policeUtilisation
Titre48Titres de scène, texte d’ouverture
En-tête36En-têtes de section dans une scène
Corps30Texte explicatif
Étiquette24Annotations, étiquettes d’axes
Légende20Sous-titres, petits caractères

Polices

Utilisez des polices à espacement fixe pour tout le texte. Le rendu Pango de Manim produit un crénage défectueux avec les polices proportionnelles à toutes les tailles. Voir references/visual-design.md pour les recommandations complètes.

MONO = "Menlo"  # définir une fois en haut du fichier

Text("Fourier Series", font_size=48, font=MONO, weight=BOLD)  # titres
Text("n=1: sin(x)", font_size=20, font=MONO)                  # étiquettes
MathTex(r"\nabla L")                                            # math (utilise LaTeX)

Taille minimale font_size=18 pour la lisibilité.

Variation par Scène

N’utilisez jamais une configuration identique pour toutes les scènes. Pour chaque scène :

  • Couleur dominante différente de la palette
  • Disposition différente — ne centrez pas toujours tout
  • Entrée d’animation différente — variez entre Write, FadeIn, GrowFromCenter, Create
  • Poids visuel différent — certaines scènes denses, d'autres épurées

Workflow

Étape 1 : Plan (plan.md)

Avant tout code, écrivez plan.md. Voir references/scene-planning.md pour le modèle complet.

Étape 2 : Code (script.py)

Une classe par scène. Chaque scène est rendable indépendamment.

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)

Modèles clés :

  • Sous-titres sur chaque animation : self.add_subcaption("texte", duration=N) ou subcaption="texte" sur self.play()
  • Constantes de couleur partagées en haut du fichier pour la cohérence entre scènes
  • self.camera.background_color défini dans chaque scène
  • Sorties propres — FadeOut de tous les mobjects en fin de scène : self.play(FadeOut(Group(*self.mobjects)))

Étape 3 : Rendu

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

Étape 4 : Assemblage

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

Étape 5 : Révision

manim -ql --format=png -s script.py Scene2_CoreConcept  # image de prévisualisation

Notes d’Implémentation Critique

Chaînes brutes pour LaTeX

# FAUX : MathTex("\frac{1}{2}")
# CORRECT :
MathTex(r"\frac{1}{2}")

buff >= 0,5 pour le texte en bordure

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

FadeOut avant de remplacer du texte

self.play(ReplacementTransform(note1, note2))  # pas Write(note2) par-dessus

Ne jamais animer des mobjects non ajoutés

self.play(Create(circle))  # doit d’abord être ajouté
self.play(circle.animate.set_color(RED))  # puis animation

Objectifs de Performance

QualitéRésolutionFPSVitesse
-ql (brouillon)854×480155-15 s/scène
-qm (moyen)1280×7203015-60 s/scène
-qh (production)1920×10806030-120 s/scène

Toujours itérer en -ql. Ne faire un rendu en -qh que pour la sortie finale.

Références

FichierContenu
references/animations.mdAnimations principales, fonctions de vitesse, composition, syntaxe .animate, schémas de timing
references/mobjects.mdTexte, formes, VGroup/Group, positionnement, style, mobjects personnalisés
references/visual-design.md12 principes de design, superposition d’opacité, modèles de disposition, palettes de couleurs
references/equations.mdLaTeX dans Manim, TransformMatchingTex, schémas de dérivation
references/graphs-and-data.mdAxes, tracés, BarChart, données animées, visualisation d’algorithmes
references/camera-and-3d.mdMovingCameraScene, ThreeDScene, surfaces 3D, contrôle de caméra
references/scene-planning.mdArcs narratifs, modèles de disposition, transitions de scènes, modèle de planification
references/rendering.mdRéférence CLI, préréglages de qualité, ffmpeg, workflow de voix off, export GIF
references/troubleshooting.mdErreurs LaTeX, erreurs d’animation, erreurs courantes, débogage
references/animation-design-thinking.mdQuand animer vs montrer statique, décomposition, rythme, synchronisation de la narration
references/updaters-and-trackers.mdValueTracker, add_updater, always_redraw, updaters basés sur le temps, motifs
references/paper-explainer.mdTransformer des articles de recherche en animations — workflow, modèles, motifs par domaine
references/decorations.mdSurroundingRectangle, Brace, flèches, DashedLine, Angle, cycle de vie des annotations
references/production-quality.mdListes de vérification avant code, avant rendu, après rendu, disposition spatiale, couleur, tempo

Divergence Créative (à utiliser uniquement quand l’utilisateur demande une sortie expérimentale/créative/uniquement)

Si l’utilisateur demande des approches explicatives créatives, expérimentales ou non conventionnelles, sélectionnez une stratégie et réfléchissez-y AVANT de concevoir l’animation.

  • SCAMPER — quand l’utilisateur veut une vision fraîche d’une explication standard
  • Renversement de postulat — quand l’utilisateur veut remettre en question la manière dont un sujet est habituellement enseigné

Transformation SCAMPER

Prenez une visualisation mathématique/technique standard et transformez-la :

  • Substituer : remplacez la métaphore visuelle standard (droite numérique → chemin sinueux, matrice → grille de ville)
  • Combiner : fusionnez deux approches explicatives (algébrique + géométrique simultanément)
  • Inverser : dérivez à l’envers — partez du résultat et déconstruisez jusqu’aux axiomes
  • Modifier : exagérez un paramètre pour montrer pourquoi il compte (10× le taux d’apprentissage, 1000× la taille d’échantillon)
  • Éliminer : supprimez toute notation — expliquez uniquement par l’animation et les relations spatiales

Renversement de Postulat

  1. Listez ce qui est « standard » dans la visualisation de ce sujet (gauche à droite, 2D, étapes discrètes, notation formelle)
  2. Choisissez le postulat le plus fondamental
  3. Renversez-le (dérivation droite à gauche, plongement 3D d’un concept 2D, morphing continu au lieu d’étapes, zéro notation)
  4. Explorez ce que le renversement révèle que l’approche standard cache

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 associés