Communitygithub.com

assafkip/claude-video-editor

Produktionspipeline für mathematische und technische Animationen mit Manim Community Edition. Erstellt 3Blue1Brown-artige Erklärvideos, Algorithmusvisualisierungen, Gleichungsherleitungen, Architekturdiagramme und Datengeschichten.

Was ist claude-video-editor?

Diese Fertigkeit definiert eine vollständige Produktionspipeline für die Erstellung hochwertiger Bildungsanimationen im Stil von 3Blue1Brown unter Verwendung von Manim Community Edition. Sie ist für Entwickler und KI-Agenten konzipiert, die aus textuellen Beschreibungen automatisch animierte Erklärvideos, Algorithmusvisualisierungen, Gleichungsherleitungen, Architekturdiagramme und Datengeschichten generieren möchten. Die Pipeline umfasst die Phasen PLAN, CODE, RENDER, STITCH, AUDIO und REVIEW und legt dabei besonderen Wert auf pädagogisch durchdachte narrative Bögen, visuelle Kohärenz und erstklassige Renderqualität ohne Nachbesserungsschleifen. Sie unterstützt mehrere Modi wie Konzepterklärer, Gleichungsherleitung, Algorithmusvisualisierung, Datenstory, Architekturdiagramm, Paper-Erklärer und 3D-Visualisierung. Die Fertigkeit enthält detaillierte kreative Richtlinien zu Farbpaletten, Animationsgeschwindigkeiten, Typografie, Schriftarten und szenenspezifischer Variation. Sie basiert ausschließlich auf Python und Manim, ohne Browser oder GPU, und bietet Referenzdokumente für Animationen, Mobjects, visuelles Design, Gleichungen, Graphen, 3D-Kameraarbeit und Fehlerbehebung.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/assafkip/claude-video-editor/tree/HEAD/skills/video-use/skills/manim-video

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Manim Video-Produktionspipeline

Kreativstandard

Dies ist pädagogisches Kino. Jeder Frame lehrt. Jede Animation offenbart Struktur.

Bevor eine einzige Zeile Code geschrieben wird, artikuliere den narrativen Bogen. Welches Missverständnis korrigiert dies? Was ist der „Aha-Moment“? Welche visuelle Geschichte führt den Zuschauer von Verwirrung zu Verständnis? Die Eingabe des Benutzers ist ein Ausgangspunkt – interpretiere sie mit pädagogischem Ehrgeiz.

Geometrie vor Algebra. Zeige zuerst die Form, dann die Gleichung. Visuelles Gedächtnis kodiert schneller als symbolisches Gedächtnis. Wenn der Zuschauer das geometrische Muster vor der Formel sieht, fühlt sich die Gleichung verdient an.

Exzellenz im ersten Rendering ist nicht verhandelbar. Die Ausgabe muss visuell klar und ästhetisch kohärent sein, ohne Überarbeitungsrunden. Wenn etwas überladen, schlecht getimt oder wie „KI-generierte Folien“ aussieht, ist es falsch.

Deckkraftschichtung lenkt die Aufmerksamkeit. Zeige niemals alles in voller Helligkeit. Primäre Elemente bei 1,0, kontextbezogene Elemente bei 0,4, Strukturelemente (Achsen, Gitter) bei 0,15. Das Gehirn verarbeitet visuelle Auffälligkeit in Schichten.

Atempausen. Jede Animation benötigt self.wait() danach. Der Zuschauer braucht Zeit, um das soeben Erschienene zu verarbeiten. Eile niemals von einer Animation zur nächsten. Eine 2-Sekunden-Pause nach einer wichtigen Enthüllung ist nie verschwendet.

Kohärente visuelle Sprache. Alle Szenen teilen sich eine Farbpalette, konsistente Schriftgrößen, passende Animationsgeschwindigkeiten. Ein technisch korrektes Video, in dem jede Szene zufällig andere Farben verwendet, ist ein ästhetischer Fehlschlag.

Voraussetzungen

Führe scripts/setup.sh aus, um alle Abhängigkeiten zu überprüfen. Erforderlich: Python 3.10+, Manim Community Edition v0.20+ (pip install manim), LaTeX (texlive-full unter Linux, mactex unter macOS) und ffmpeg. Referenzdokumente getestet gegen Manim CE v0.20.1.

Modi

ModusEingabeAusgabeReferenz
KonzepterklärerThema/KonzeptAnimierte Erklärung mit geometrischer Intuitionreferences/scene-planning.md
GleichungsherleitungMathematische AusdrückeSchrittweise animierter Beweisreferences/equations.md
AlgorithmusvisualisierungAlgorithmusbeschreibungSchrittweise Ausführung mit Datenstrukturenreferences/graphs-and-data.md
DatengeschichteDaten/MetrikenAnimierte Diagramme, Vergleiche, Zählerreferences/graphs-and-data.md
ArchitekturdiagrammSystembeschreibungSchrittweiser Aufbau von Komponenten mit Verbindungenreferences/mobjects.md
Paper-ErklärerForschungspapierWichtigste Ergebnisse und Methoden animiertreferences/scene-planning.md
3D-Visualisierung3D-KonzeptRotierende Oberflächen, parametrische Kurven, räumliche Geometriereferences/camera-and-3d.md

Stack

Ein einzelnes Python-Skript pro Projekt. Kein Browser, kein Node.js, keine GPU erforderlich.

EbeneWerkzeugZweck
KernManim Community EditionSzenen-Rendering, Animations-Engine
MathematikLaTeX (texlive/MiKTeX)Gleichungs-Rendering via MathTex
Video-E/AffmpegSzenen-Zusammenfügung, Formatkonvertierung, Audio-Muxing
TTSElevenLabs / Qwen3-TTS (optional)Sprachausgabe

Pipeline

PLAN --> CODE --> RENDER --> STITCH --> AUDIO (optional) --> REVIEW
  1. PLAN – Schreibe plan.md mit narrativem Bogen, Szenenliste, visuellen Elementen, Farbpalette, Sprachskript
  2. CODE – Schreibe script.py mit einer Klasse pro Szene, jede unabhängig renderbar
  3. RENDER – manim -ql script.py Szene1 Szene2 ... für Entwurf, -qh für Produktion
  4. STITCH – ffmpeg concat der Szenenclips zu final.mp4
  5. AUDIO (optional) – Füge Sprachausgabe und/oder Hintergrundmusik via ffmpeg hinzu. Siehe references/rendering.md
  6. REVIEW – Rendere Vorschaustandbilder, überprüfe gegen Plan, passe an

Projektstruktur

projektname/
  plan.md                # Narrativer Bogen, Szenenaufschlüsselung
  script.py              # Alle Szenen in einer Datei
  concat.txt             # ffmpeg Szenenliste
  final.mp4              # Zusammengefügte Ausgabe
  media/                 # Automatisch von Manim erzeugt
    videos/script/480p15/

Kreative Richtlinien

Farbpaletten

PaletteHintergrundPrimärSekundärAkzentAnwendungsfall
Klassisch 3B1B#1C1C1C#58C4DD (BLAU)#83C167 (GRÜN)#FFFF00 (GELB)Allgemein Mathe/CS
Warm akademisch#2D2B55#FF6B6B#FFD93D#6BCB77Zugänglich
Neon Tech#0A0A0A#00F5FF#FF00FF#39FF14Systeme, Architektur
Monochrom#1A1A2E#EAEAEA#888888#FFFFFFMinimalistisch

Animationsgeschwindigkeit

Kontextrun_timeself.wait() danach
Titel/Einführung erscheint1,5s1,0s
Wichtige Gleichungsenthüllung2,0s2,0s
Transformation/Morph1,5s1,5s
Unterstützende Beschriftung0,8s0,5s
FadeOut Bereinigung0,5s0,3s
„Aha-Moment“-Enthüllung2,5s3,0s

Typografische Skala

RolleSchriftgrößeVerwendung
Titel48Szenentitel, Eröffnungstext
Überschrift36Abschnittsüberschriften innerhalb einer Szene
Fließtext30Erklärender Text
Beschriftung24Anmerkungen, Achsenbeschriftungen
Bildunterschrift20Untertitel, Kleingedrucktes

Schriftarten

Verwende Monospace-Schriftarten für den gesamten Text. Manims Pango-Renderer erzeugt mit proportionalen Schriftarten bei allen Größen gebrochenes Kerning. Siehe references/visual-design.md für vollständige Empfehlungen.

MONO = "Menlo"  # einmal am Anfang der Datei definieren

Text("Fourier-Reihe", font_size=48, font=MONO, weight=BOLD)  # Titel
Text("n=1: sin(x)", font_size=20, font=MONO)                # Beschriftungen
MathTex(r"\nabla L")                                          # Mathematik (verwendet LaTeX)

Minimale font_size=18 für Lesbarkeit.

Szenenspezifische Variation

Verwende niemals identische Konfiguration für alle Szenen. Für jede Szene:

  • Andere dominante Farbe aus der Palette
  • Anderes Layout – platziere nicht immer alles zentriert
  • Anderer Animationseintritt – variiere zwischen Write, FadeIn, GrowFromCenter, Create
  • Anderes visuelles Gewicht – manche Szenen dicht, andere spärlich

Arbeitsablauf

Schritt 1: Planen (plan.md)

Vor jedem Code schreibe plan.md. Siehe references/scene-planning.md für die umfassende Vorlage.

Schritt 2: Codieren (script.py)

Eine Klasse pro Szene. Jede Szene ist unabhängig renderbar.

from manim import *

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

class Szene1_Einfuehrung(Scene):
    def construct(self):
        self.camera.background_color = BG
        title = Text("Warum funktioniert das?", font_size=48, color=PRIMARY, weight=BOLD, font=MONO)
        self.add_subcaption("Warum funktioniert das?", duration=2)
        self.play(Write(title), run_time=1.5)
        self.wait(1.0)
        self.play(FadeOut(title), run_time=0.5)

Wichtige Muster:

  • Untertitel bei jeder Animation: self.add_subcaption("Text", duration=N) oder subcaption="Text" bei self.play()
  • Geteilte Farbkonstanten am Dateianfang für szenenübergreifende Konsistenz
  • self.camera.background_color in jeder Szene gesetzt
  • Saubere Ausgänge – FadeOut aller Mobjekte am Szenenende: self.play(FadeOut(Group(*self.mobjects)))

Schritt 3: Rendern

manim -ql script.py Szene1_Einfuehrung Szene2_Kernkonzept  # Entwurf
manim -qh script.py Szene1_Einfuehrung Szene2_Kernkonzept  # Produktion

Schritt 4: Zusammenfügen

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

Schritt 5: Überprüfen

manim -ql --format=png -s script.py Szene2_Kernkonzept  # Vorschaustandbild

Kritische Implementierungshinweise

Raw-Strings für LaTeX

# FALSCH: MathTex("\frac{1}{2}")
# RICHTIG:
MathTex(r"\frac{1}{2}")

buff >= 0,5 für Randtext

label.to_edge(DOWN, buff=0.5)  # niemals < 0,5

FadeOut vor dem Ersetzen von Text

self.play(ReplacementTransform(notiz1, notiz2))  # nicht Write(notiz2) darüber

Niemals Nicht-Hinzugefügte Mobjects Animieren

self.play(Create(circle))  # muss zuerst hinzugefügt werden
self.play(circle.animate.set_color(RED))  # dann animieren

Leistungsziele

QualitätAuflösungFPSGeschwindigkeit
-ql (Entwurf)854x480155-15s/Szene
-qm (Mittel)1280x7203015-60s/Szene
-qh (Produktion)1920x10806030-120s/Szene

Iteriere immer mit -ql. Rendere -qh nur für die endgültige Ausgabe.

Referenzen

DateiInhalt
references/animations.mdKernanimationen, Geschwindigkeitsfunktionen, Komposition, .animate-Syntax, Timing-Muster
references/mobjects.mdText, Formen, VGroup/Group, Positionierung, Styling, benutzerdefinierte Mobjects
references/visual-design.md12 Designprinzipien, Deckkraftschichtung, Layout-Vorlagen, Farbpaletten
references/equations.mdLaTeX in Manim, TransformMatchingTex, Herleitungsmuster
references/graphs-and-data.mdAchsen, Plotten, BarChart, animierte Daten, Algorithmusvisualisierung
references/camera-and-3d.mdMovingCameraScene, ThreeDScene, 3D-Oberflächen, Kamerasteuerung
references/scene-planning.mdNarrative Bögen, Layout-Vorlagen, Szenenübergänge, Planungsvorlage
references/rendering.mdCLI-Referenz, Qualitätsvoreinstellungen, ffmpeg, Sprachausgabe-Workflow, GIF-Export
references/troubleshooting.mdLaTeX-Fehler, Animationsfehler, häufige Fehler, Debugging
references/animation-design-thinking.mdWann animieren vs. statisch zeigen, Zerlegung, Tempo, Synchronisation der Erzählung
references/updaters-and-trackers.mdValueTracker, add_updater, always_redraw, zeitbasierte Updater, Muster
references/paper-explainer.mdForschungspapiere in Animationen verwandeln – Arbeitsablauf, Vorlagen, Domänenmuster
references/decorations.mdSurroundingRectangle, Brace, Pfeile, DashedLine, Angle, Anmerkungslebenszyklus
references/production-quality.mdVor-Code-, Vor-Render-, Nach-Render-Checklisten, räumliches Layout, Farbe, Tempo

Kreative Abweichung (nur verwenden, wenn der Benutzer experimentelle/kreative/einzigartige Ausgabe anfordert)

Wenn der Benutzer kreative, experimentelle oder unkonventionelle Erkläransätze wünscht, wähle eine Strategie und denke sie DURCH, bevor du die Animation entwirfst.

  • SCAMPER – wenn der Benutzer eine neue Perspektive auf eine Standarderklärung möchte
  • Annahmeumkehrung – wenn der Benutzer herausfordern möchte, wie etwas typischerweise gelehrt wird

SCAMPER-Transformation

Nimm eine standardmäßige mathematische/technische Visualisierung und transformiere sie:

  • Substitute (Ersetzen): Ersetze die standardmäßige visuelle Metapher (Zahlenstrahl → verschlungener Pfad, Matrix → Stadtplan)
  • Combine (Kombinieren): Verschmelze zwei Erklärungsansätze (algebraisch + gleichzeitig geometrisch)
  • Reverse (Umkehren): Leite rückwärts ab – beginne mit dem Ergebnis und dekonstruiere zu Axiomen
  • Modify (Modifizieren): Übertreibe einen Parameter, um zu zeigen, warum er wichtig ist (10x die Lernrate, 1000x die Stichprobengröße)
  • Eliminate (Entfernen): Entferne alle Notation – erkläre ausschließlich durch Animation und räumliche Beziehungen

Annahmeumkehrung

  1. Liste auf, was „Standard“ daran ist, wie dieses Thema visualisiert wird (links-nach-rechts, 2D, diskrete Schritte, formale Notation)
  2. Wähle die grundlegendste Annahme
  3. Kehre sie um (rechts-nach-links-Herleitung, 3D-Einbettung eines 2D-Konzepts, kontinuierliche Verformung statt Schritte, Null Notation)
  4. Erkunde, was die Umkehrung offenbart, was der Standardansatz verbirgt

Individual skills in this repo

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

assafkip/claude-video-editor

Build videos from stills when there is nothing to cut — narration first (ElevenLabs v3 with audio tags), then still keyframes from ANY source (AI image tools, screenshots, photos, HyperFrames-rendered HTML), animated deterministically with the animate-stills recipe (HyperFrames camera moves + GSAP atmosphere). Use when the user wants an explainer, documentary-style video, or any video built from generated or collected visuals instead of recorded footage.

assafkip/claude-video-editor

GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.

assafkip/claude-video-editor

HyperFrames CLI tool — hyperframes init, lint, preview, render, transcribe, tts, doctor, browser, info, upgrade, compositions, docs, benchmark. Use when scaffolding a project, linting or validating compositions, previewing in the studio, rendering to video, transcribing audio, generating TTS, or troubleshooting the HyperFrames environment.

assafkip/claude-video-editor

Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, and registry discovery.

assafkip/claude-video-editor

Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For CLI commands (init, lint, preview, render, transcribe, tts) see the hyperframes-cli skill.

assafkip/claude-video-editor

Beginner-friendly end-to-end video creator for HyperFrames. Use when the user says "make a video", "create a video", "new video", "build a video", "video from scratch", "I want to make a video", "help me create a video", or when someone who's never used HyperFrames before arrives with a concept, script, or rough idea and wants a finished MP4. Interviews the user in one pass, then builds the full video with mandatory preview and visual-verification gates.

assafkip/claude-video-editor

Build and iterate short-form vertical (9:16) videos in Hyperframes — TikTok/Reels/Shorts style. Use when Nate says "short-form video", "vertical video", "TikTok/Reels/Shorts", "make a short", "talking-head + motion graphics", or when the target is a 1080x1920 composition with face video + synced scene overlays + karaoke captions. Encodes the full May Shorts 19 playbook: face-mode choreography, audio-synced scene timing, karaoke captions, and the 10-rule quality checklist.

assafkip/claude-video-editor

Edit any video by conversation — the orchestrator for the bundled video pipeline. Use when the user wants to edit, cut, caption, grade, or add motion graphics to footage; drops a folder of clips and says "edit this"; or asks to make a promo/teaser/tutorial/short. Routes to video-use (the cut engine) and HyperFrames (motion-graphics overlays), with a motion-craft library for taste.

assafkip/claude-video-editor

Capture a website and create a HyperFrames video from it. Use when: (1) a user provides a URL and wants a video, (2) someone says "capture this site", "turn this into a video", "make a promo from my site", (3) the user wants a social ad, product tour, or any video based on an existing website, (4) the user shares a link and asks for any kind of video content. Even if the user just pastes a URL — this is the skill to use.

Verwandte Skills