Communitygithub.com

NiJingzhe/promo-video-skill

Erstelle einen taktsynchronen Produkt-Promo-/Launch-Film von Anfang bis Ende mit einem Menschen im Loop – Musik auswählen (Epidemic Sound „Create a cut“), Storyboard gemeinsam entwerfen, Shot-Script und ElevenLabs Voice-Over-Script schreiben, den gelieferten Voice-Take zuschneiden und das Video in Remotion bauen (three.js-Metall-Renderings, Nachbauten der Produkt-UI, virtuelle Kamera- Schwenks/Heran-/Wegzoomen, jeder Schnitt auf den Beat).

Was ist promo-video-skill?

Dieses Skill automatisiert die Erstellung eines professionellen, taktsynchronen Produkt-Promo-Videos in sechs klar getrennten Phasen, bei denen der Mensch stets die Kontrolle über die entscheidenden kreativen und teuren Entscheidungen behält. Es unterstützt die Plattformen Epidemic Sound (für die Musikauswahl und das Zuschneiden mit ‚Create a cut‘), ElevenLabs (für die Voice-Over-Generierung) und Remotion (für die finale Videoproduktion mit drei.js-3D-Renderings und nachgebauten UI-Elementen). Der Ablauf umfasst: (1) Musikanalyse zur Erkennung des exakten Tempos und der Beat-Markierungen, (2) gemeinsames Storyboard mit einem detaillierten, auf die Musik abgestimmten Shot-Plan, (3) Erstellung eines Voice-Over-Scripts mit ElevenLabs-tauglichen Tags, (4) interaktives Zuschneiden des Voice-Takes über eine Browser-Oberfläche, (5) schrittweiser Aufbau der Remotion-Szene mit visuellen Kontrollen und (6) abschließende Überprüfung und Verfeinerung. Der große Nutzen liegt in der vollständigen Integration von Musik, Sprache und Bild unter Beibehaltung einer engen Zusammenarbeit mit dem Menschen – für agentenbasierte Entwicklungsumgebungen wie Claude Code, Cursor oder Codex optimiert. Die bereitgestellten Tools (Python-Skripte für Musikanalyse, Splice, Cut-UI, Review-UI sowie Shell-Skripte für das Remotion-Projekt) stellen sicher, dass jeder Schnitt, jede Kamerafahrt und jedes visuelle Element exakt auf den Beat und die Stimme abgestimmt ist.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add NiJingzhe/promo-video-skill

In Ihrer bevorzugten KI fragen

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

Dokumentation

promo-video

Ein Film entsteht in sechs Phasen. Jede Phase endet mit etwas, das der Mensch prüft. Führe keine Phase vor der vorherigen aus: Die teure Phase (der Bau) ist nur dann günstig, wenn die früheren Phasen abgeschlossen sind, denn jedes Bildelement wird auf die Musik und die Stimme abgestimmt.

Sage dem Menschen den Plan einmal zu Beginn an (README.md enthält die für den Menschen bestimmte Version), führe dann die Phasen der Reihe nach aus. Sprich mit ihm in seiner Sprache. Halte alle Projektdateien in einem Verzeichnis (<projekt>/: audio/, vo/, PLAN.md, elevenlabs.md, das Remotion-Projekt in video/).

#PhaseDu tustMensch tutReferenz
1MusikAnalysiere den Track, finde das wahre Tempo und die harten MarkierungenWählt den Track auf Epidemic Sound aus, verwendet Create a cut für die Länge, gibt dir die Dateireferences/01-music.md
2StoryboardStelle die Leitfragen, schreibe PLAN.md (Shottabelle, auf die Musik abgestimmt)Antwortet, genehmigtreferences/02-storyboard.md
3Voice-ScriptSchreibe die Zeilen + den getaggten ElevenLabs-TakeGeneriert es in ElevenLabs, sendet die Dateireferences/03-voiceover.md
4Stimme schneidenÖffne cut_ui.py auf dem Take, teile, pegele, platziere jede ZeileKlickt zwischen den Zeilen in der Browserseite, drückt Fertig; prüft die Platzierungstabellereferences/03-voiceover.md
5BauenRemotion-Projekt aus template/, Szene für Szene, prüfe jeweils mit StandbildPrüft Standbilder / einen Entwurfsrenderreferences/04-build.md
6Prüfen + VerfeinernRendere, Lautstärkeprüfung, öffne review_ui.py auf dem Render, lies seine Notizen + Frames, korrigiere, rendere neuSchaut sich die Prüfseite an, hinterlässt Notizen zum Bild, wählt Genehmigt / Änderungen nötigreferences/05-review.md

Browser-Automatisierung: Biete sie an, nimm sie nie als gegeben an

Die Phasen 1 und 3 finden auf Websites statt (Epidemic Sound, ElevenLabs). Wenn ein Werkzeug zur Browser-Automatisierung verfügbar ist (z. B. ego-browser, ein Playwright-Setup, ein Browser-MCP), biete an, diese Teile selbst zu erledigen, und erkläre klar, was das beinhaltet, bevor du um Zustimmung bittest:

  • Konten: Beide Seiten benötigen ein Konto (Epidemic Sound ist ein kostenpflichtiges Abonnement mit Testphase; ElevenLabs hat einen kostenlosen Tarif mit monatlichem Zeichenlimit). Wenn der Mensch keins hat, meldet er sich an: Du erstellst keine Konten.
  • Kosten: ElevenLabs berechnet nach Zeichen; ein 40–60 s Film benötigt ~600–1000 Zeichen, und jede Neugenerierung wird erneut berechnet. Epidemic-Downloads werden auf den Plan angerechnet. Sage ihnen die erwarteten Kosten und frage vorher.
  • Anmeldung und Bezahlung sind Sache des Menschen: Übergib den Browser (task.handOff() in ego-browser) für Anmeldung, 2FA, Captchas und alle Bezahlseiten; setze fort, nachdem sie „Fertig“ gesagt haben. Gib niemals ihr Passwort ein, gib niemals Kreditkartendaten ein oder speichere sie, füge niemals ihren API-Schlüssel in eine Seite oder Datei ein.
  • Was du nach einer Zustimmung tun darfst: Suche/filtere Tracks nach der vereinbarten Stimmung und BPM und öffne Kandidaten zum Anhören (sie wählen), klicke auf Create a cut mit der Ziellänge und lade das Ergebnis herunter; füge den elevenlabs.md-Take ein, wende die von ihnen gewählte Stimme und Einstellungen an, generiere einmal, lade die mp3 herunter.
  • Ohne ein solches Werkzeug oder wenn sie ablehnen: Gib ihnen die genauen Schritte (Phase-1- und Phase-3-Dokumente) und warte auf die Datei.

Die Entscheidungen bleiben ihre: Der Track und die Stimme werden nie für sie ausgewählt.

Grundregeln (auf die harte Tour gelernt)

  1. Alles Gezeigte ist echt. Echte Beispielnetze (tesselliere die tatsächlichen CAD/STEP-Daten), echter Code und echte API in Code-Panels, die Benutzeroberfläche aus den eigenen Frontend-Komponenten des Produkts nachgebaut. Künstlich wirkender Inhalt ist das Einzige, was Zuschauern auffällt. Wenn du das Echte nicht bekommen kannst, sage es und frage – erfinde es nicht.
  2. Die Musik ist die Uhr. Miss das wahre Tempo (scripts/music_analyze.py passt es an; ein geschätztes BPM, das um 1,2 % abweicht, versetzt eine Überblendung um ein Drittel eines Beats und der Mensch hört einen Stolperer). Alle Zeiten leben in src/marks.ts; Szenen importieren sie, kodieren nie Sekunden fest.
  3. Bestätige nach außen gerichtete oder teure Schritte: Die Musikdatei und die Stimme sind vom Menschen zu wählen; du wählst sie nie für sie aus. Gib niemals API-Schlüssel oder Anmeldetokens preis, die im gefilmten Produkt auftauchen.
  4. Prüfe Bilder mit Standbildern, nicht blind: Rendere die Frames an den Marken (Beathits, Schnitte, das Logo) und schau sie dir vor einem Vollrender an. Ein Vollrender dauert Minuten; ein Standbild dauert Sekunden.
  5. Behalte die alte Version. Wenn der Mensch eine gekürzte Version oder eine Variante wünscht, kopiere das Projektverzeichnis und bearbeite die Kopie (cp -R video video_short, node_modules verlinken).
  6. Berichte wie ein Cutter: Was sich geändert hat, der Dateipfad, worauf man hören/schauen soll und zu welcher Sekunde.

Werkzeuge in diesem Skill

Alle Python-Skripte werden mit uv run ausgeführt (Abhängigkeiten sind in jeder Datei deklariert; nichts zu installieren).

SkriptZweck
scripts/music_analyze.py track.wav --out beats.jsonEchtes BPM (angepasst), Beat/Takt-Raster, Abschnitte, Drop, stille Lücken
scripts/music_splice.py track.wav out.wav --beats beats.json --keep a:b --keep c:dEinen Track durch einen taktgenauen, überblendeten Sprung kürzen; überprüft die Verbindung
scripts/cut_ui.py take.mp3 --mode cuts --script elevenlabs.md --out vo/cuts.jsonBrowser-Schneideseite (Wellenform, das Script zeilenweise angezeigt, Sprache vs. Pausen, Zoom, Rückgängig/Wiederholen): Der Mensch spielt es ab und klickt, wo eine Zeile endet, drückt Fertig, der Tab schließt sich und cuts.json liegt für dich bereit. --mode marks --beats beats.json markiert den Drop/Stab/Breakdown der Musik auf dem Beat-Raster
scripts/vo_cut.py take.mp3 --regions vo/cuts.json --out vo/Einen ElevenLabs-Take in isolierte Clips + clips.json aufteilen (oder --lines N --ends t1,..., wenn der Mensch lieber Zeiten eintippt)
scripts/review_ui.py out/promo.mp4 --out review/review.json [--overlay overlay.json]Browser-Prüfseite: Monitor oben, Zeitleistenstreifen unten (Filmstreifen + die Wellenform des fertigen Mixes + optionale Beats / Markierungen / Sprachzeilen). Der Mensch hinterlässt Notizen zu einem Moment oder einem Bereich; jede Notiz trägt den exakten Frame; sie schließen mit Genehmigt / Änderungen nötig ab und review.json liegt für dich bereit
scripts/new_project.sh <verz> [--link-modules pfad]Remotion-Projekt aus template/ (Metallbühne, Beat-Uhr, VO-Mix, virtuelle Kamera)
template/tools/mesh.pySTEP/OCC-Formen -> kompaktes Mesh + B-Rep-Kanten für three.js
template/tools/refold.pyDie riesigen STEP-Metadaten-Strings, die OCC nicht lesen kann, leeren
template/tools/variants.py, stages.pyMesh-Parametervarianten / jeder Zwischenkörper eines CAD-Notebooks (für „einen Schieberegler ziehen, das Modell folgt“ und „Zelle für Zelle“-Szenen)

Benötigt: ffmpeg, node 20+, uv. Für three.js in Headless-Chrome: Playwrights chrome-headless-shell (new_project.sh installiert es).

Verwandte Skills