Communitygithub.com

video-dev

Erstellt vertikale Erklärvideos (9:16, Shorts/Reels/TikTok) zu Programmier- und Technologiethemen mit animierten Diagrammen, portugiesischer Sprachausgabe und Hintergrundmusik – alles generiert mit Python ohne Videobearbeitungsprogramme.

Was ist video-dev?

video-dev ist eine Einstiegs-Skill für KI-Agenten (z. B. Claude Code), die den gesamten Workflow zur Erstellung vertikaler Erklärvideos orchestriert. Sie stellt die richtigen Fragen (Videotyp, Design, Länge, Musik), bereitet die Umgebung vor (prüft und installiert Python-Abhängigkeiten wie edge-tts, Pillow, imageio-ffmpeg, numpy), erstellt das Projektverzeichnis mit JSON-Dateien für Skript, Aussprache und Szenendefinition und ruft dann spezialisierte Skills auf: video-conceito (Konzeptvideos mit Diagrammen), video-tutorial-terminal (Terminal-Tutorials), narracao-voz (Sprachausgabe mit neuralen Stimmen) und trilha-video (Hintergrundmusik und Ducking). Das Ergebnis ist ein 1080×1920 MP4 mit 30 fps, komplett ohne teure Bearbeitungssoftware. Der Agent sollte diese Skill immer dann zuerst nutzen, wenn der Nutzer ein Video wünscht – sei es neu, als Änderung oder Wiederholung bestehender Videos (wie zu SSH und Git).

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/LucasLBrito/midia-skills/tree/main/skills/video-dev

In Ihrer bevorzugten KI fragen

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

Dokumentation

Pfade: ${CLAUDE_PLUGIN_ROOT} ist das Wurzelverzeichnis dieses Plugins. Falls die Variable nicht gesetzt ist, liegt die Wurzel zwei Ordner über dem "Basisverzeichnis" dieser Skill (<root>/skills/<skill>). Wenn die Skills lose nach ~/.claude/skills kopiert wurden, verwenden Sie stattdessen ~/.claude/skills anstelle von ${CLAUDE_PLUGIN_ROOT}/skills.

Diese Skill speichert die Erkenntnisse aus der Erstellung der Videos "Was ist SSH" und "Best Practices für Git und GitHub". Das Ergebnis ist ein vertikales MP4 mit 1080×1920 bei 30 fps, mit bildweise in Python (Pillow) gezeichneten Animationen, kostenloser neuronaler Sprachausgabe (edge-tts) und programmatisch in Numpy generierter Musik. Es werden weder After Effects, CapCut noch andere kostenpflichtige Programme verwendet.

Antworten Sie auf Portugiesisch (Brasilien), einfach und ergebnisorientiert.

Übersicht der Skills

SkillVerwendung
video-dev (diese)Immer zuerst: Fragen stellen, Vorbereitung, Projektordner, finales Rendern, Auslieferung
video-conceitoErklären, wie etwas funktioniert (SSH, DNS, HTTPS, Docker, JWT ...): Diagramme, Datenpakete auf Reisen
video-tutorial-terminalVermitteln von Befehlen zum Mitmachen (Git, Docker CLI, npm, Linux ...): Terminal mit Tippanimation
narracao-vozSchreiben/Anpassen des gesprochenen Skripts, Sprachausgabe, Aussprache englischer Begriffe, Wortzeiten
trilha-videoHintergrundmusik und Mischung mit der Sprachspur (Ducking)

Lesen Sie die Skill des gewählten Typs, sobald der Typ bekannt ist. Sprachausgabe und Musik können Sie lesen, wenn Sie diese Schritte erreicht haben.

Pfade

SK = ${CLAUDE_PLUGIN_ROOT}/skills   (Plugin-Wurzel; siehe "Pfade" oben)
SK/video-dev/scripts/            motor.py, render.py, novo.py, checar.py
SK/video-dev/exemplos/ssh/       Komplettes Projekt des SSH-Videos (Konzept)
SK/video-dev/exemplos/git/       Komplettes Projekt des Git-Videos (Tutorial)
SK/narracao-voz/scripts/         narracao.py, pronuncia_base.json
SK/trilha-video/scripts/         trilhas.py, mixar.py
SK/video-dev/references/         elementos.md (API und Layout), licoes.md (bereits gemachte Fehler)

Schritt 1 – Fragen (vor jeder Datei)

Stellen Sie die Fragen mit dem Tool AskUserQuestion, in einer einzigen Runde von bis zu 4 Fragen, mit der empfohlenen Option zuerst. Überspringen Sie, was der Nutzer bereits in der Anfrage beantwortet hat. Sagt er "entscheide du", verwenden Sie die fett markierten Standardwerte.

Runde 1 (immer):

  1. Videotyp: Konzept (Funktionsweise, mit Diagrammen) · Terminal-Tutorial (Schritt-für-Schritt-Befehle) · Gemischt (Konzept und dann Befehle: Konzept-Skill nutzen und Term aus der Tutorial-Skill entleihen).
  2. Design: Dracula (dunkel, Neonfarben, wie die fertigen Videos) · Creme (Papierhintergrund, weiße Boxen, Papier-Look).
  3. Länge: kurz, bis 60 s (5–6 Szenen, gut für Shorts) · mittel, 1:30–2 min (8–10 Szenen) · komplett, ~3 min (12–14 Szenen, wie bei SSH und Git).
  4. Musik: Synth (techno-minimalistisch, wie in den Videos verwendet) · Lofi · Ambient · Piano · Keine.

Runde 2 (nur wenn noch nicht klar):

  • Zielgruppe: Anfänger (erklärt jeden Begriff) oder bereits Programmierer (kommt direkt zum Punkt).
  • Stimme: pt-BR-AntonioNeural (männlich, wie verwendet) oder pt-BR-FranciscaNeural (weiblich). Führen Sie narracao.py --vozes aus, um weitere zu sehen.
  • Pflichtpunkte: Was darf nicht fehlen? Ein bestimmtes Beispiel, ein Befehl oder eine spezifische Geschichte?
  • Abschluss: Zusammenfassung/Checkliste (Standard), Aufruf "speichere dieses Video" oder Frage zum Kommentieren.

Bestätigen Sie vor dem Fortfahren in 2–3 Zeilen: Thema, Typ, Design, Länge, Anzahl Szenen und Musik.

Schritt 2 – Computer vorbereiten (einmal pro Maschine)

python SK/video-dev/scripts/checar.py

Falls etwas fehlt: python SK/video-dev/scripts/checar.py --instalar (installiert edge-tts, pillow, imageio-ffmpeg und numpy per pip; ffmpeg ist in imageio-ffmpeg enthalten, ohne Systeminstallation). Die Schriftarten Bahnschrift und Consolas sind unter Windows bereits vorhanden.

Weisen Sie den Nutzer einmal darauf hin: Die Sprachausgabe benötigt Internet. Der Skripttext wird an den Microsoft-Sprachdienst gesendet. Animation und Musik laufen zu 100 % lokal.

Achtung bei langen Pfaden unter Windows: Python scheitert mit "File name too long" in sehr tiefen Ordnern (wie dem temporären Ordner von Claude). Arbeiten Sie in einem kurzen Pfad.

Schritt 3 – Projektordner erstellen

Bevorzugen Sie einen Ordner außerhalb synchronisierter Verzeichnisse (OneDrive, Dropbox, iCloud): Beim Rendern werden Tausende Einzelbilder geschrieben, und die Synchronisation macht alles langsam. Vorschlag: ~/Projetos/videos/<kurzer-name>/. Fragen Sie, ob der Nutzer einen anderen Ort bevorzugt.

python SK/video-dev/scripts/novo.py <ordner> --tipo conceito --titulo "O que é Docker" --tema dracula --cenas 12

Struktur (1 Skript-Äußerung = 1 Szene):

<ordner>/
  video.json     Titel, Dateiname, Design, Stimme, Sprechgeschwindigkeit, Musik
  roteiro.json   ["Äußerung Szene 1", "Äußerung Szene 2", ...]
  pronuncia.json optional: Begriffe des Projekts -> Schreibweise für die Stimme
  cenas.py       def cenas(): return [[Elemente von Szene 1], ...]
  audio/         szene01.mp3 + szene01.json (Zeitstempel jedes Wortes)
  saida/         <name>.mp4, <name>_trilha.mp4, poster.jpg, preview/

Schritt 4 – Skript → dem Nutzer zeigen → genehmigen lassen

Schreiben Sie das Skript gemäß der Skill des Typs (Konzept oder Tutorial) und den Sprachregeln der Skill narracao-voz. Zeigen Sie das Skript vor der Animation: Textänderungen sind viel günstiger als Szenenänderungen. Fahren Sie erst nach dem OK fort.

Schritt 5 – Sprachaufnahme

python SK/narracao-voz/scripts/narracao.py <ordner>
python SK/narracao-voz/scripts/narracao.py <ordner> --tempos 3     # wann jedes Wort von Szene 3 gesprochen wird

Die Sprachaufnahme erfolgt vor den Szenen, da die Dauer jeder Szene die Dauer der Äußerung + 0,7 s beträgt und die Elemente zu dem Zeitpunkt erscheinen, zu dem das entsprechende Wort gesprochen wird.

Schritt 6 – Szenen (Animation)

Schreiben Sie cenas.py mit from motor import * (vollständige API in references/elementos.md). Rufen Sie für jede Szene --tempos N auf, wählen Sie, was zu jedem Schlüsselwort erscheint, und verwenden Sie diese Zeit (oder 0,2 s davor) für den t-Parameter des Elements.

Prüfen Sie durch Ansehen der Bilder, nicht nur durch Lesen des Codes:

python SK/video-dev/scripts/render.py <ordner> --preview      # letztes Bild jeder Szene
python SK/video-dev/scripts/render.py <ordner> --cena 4       # Szene 4, ein Bild pro Sekunde

Öffnen Sie die PNGs mit dem Read-Tool und überprüfen Sie: nichts an den Rändern abgeschnitten, keine Überlappungen, Text groß genug fürs Handy, nichts Wichtiges in den unteren 250 px (wo Untertitel und TikTok/Reels-Buttons sind).

Schritt 7 – Finales Rendern + Musik

python SK/video-dev/scripts/render.py <ordner>                         # saida/<name>.mp4 + poster.jpg
python SK/trilha-video/scripts/mixar.py <ordner>/saida/<name>.mp4 synth  # saida/<name>_trilha.mp4

Ein 3-minütiges Video benötigt einige Minuten zum Rendern: führen Sie es im Hintergrund aus.

Schritt 8 – Prüfen und ausliefern

  • Prüfen Sie mit ffmpeg die Dauer und ob Audio vorhanden ist (ffmpeg -i datei.mp4 zeigt die Streams).
  • Extrahieren Sie 3–4 Bilder des finalen MP4 an verschiedenen Stellen und sehen Sie sie sich an.
  • Liefern Sie es mit SendUserFile aus (display: "render") und teilen Sie mit, wo der Ordner liegt.
  • Falls er eine Seite zum Ansehen oder Teilen möchte (wie bei den SSH- und Git-Videos), veröffentlichen Sie es als Artifact mit den MP4s und den Skripten in files. Veröffentlichen Sie es nur, wenn er darum bittet.
  • Nichts wird ohne Erlaubnis des Nutzers auf YouTube/TikTok/GitHub veröffentlicht.

Häufige Änderungen nach Fertigstellung

AnfrageVorgehen
Einen Satz ändernroteiro.json bearbeiten → narracao.py --so N → Zeiten von Szene N anpassen → rendern
Falsche Aussprachepronuncia.json im Projekt → narracao.py --so N (siehe narracao-voz)
Anderes Design--tema creme beim Rendern, oder tema in video.json ändern
Musik zu laut/leisemixar.py ... --trilha 0.25 (siehe trilha-video)
Kurzversion eines langen VideosNeues Projekt, nur Schlüsselszenen und ein gestrafftes Skript kopieren

Lesen Sie vor dem Start references/licoes.md: Dort stehen die Fehler und Erfolge der ersten beiden Videos.

Individual skills in this repo

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

Verwandte Skills