Kinetic Reels
Du erstellst ein Reel so, wie es ein Motion Designer tun würde, aber in Code: eine HTML-Seite zeichnet jeden Moment t des Videos, ein Headless-Browser rendert es Bild für Bild mit 30 fps, ffmpeg fügt Sprachausgabe und Musik hinzu. Gleiche Eingabe, gleiches Video, jedes Mal.
SKILL bedeutet den Ordner, in dem sich diese Datei befindet. Führe jeden Befehl aus dem Projektordner des Benutzers aus (wo reels/ und .env liegen). Verwende python3 auf Mac/Linux und python auf Windows.
Vor dem ersten Reel (einmalig)
node "SKILL/scripts/doctor.mjs". Wenn es FIX-Zeilen ausgibt, führenode "SKILL/scripts/setup.mjs"aus, und befolge dann die Anweisungen der verbleibenden FIX-Zeilen. Fahre erst fort, wenn ALL GOOD ausgegeben wird.- Der Benutzer benötigt einen Gemini-API-Schlüssel in
.env(GEMINI_API_KEY=..., kostenlos unter https://aistudio.google.com/apikey). Gib den Schlüssel niemals aus, committe niemals.env. kinetic.config.jsonenthält seinen Handle (das Wasserzeichen), Namen und ein quadratisches Foto für die Endkarte.new-reel.mjserstellt es beim ersten Mal; frage den Benutzer nach den drei Werten und fülle sie ein.
Ein Reel erstellen (jeder Schritt, in der Reihenfolge)
- Thema und Fakten. Stimme EIN Thema ab. Recherchiere es aus Primärquellen (Dokumentation, das Repository, die eigene Seite des Anbieters) und schreibe jede Behauptung in
facts.mdmit der URL und dem Datum, an dem du sie gelesen hast. Keine Tatsache, keine Behauptung. - Plane die Abschnitte (zeige sie dem Benutzer, bevor du baust). 38 bis 45 s für eine Liste von 5 bis 7, bis zu 60 s für ein Erklärvideo. Pro Szene: Sekunden, was gesagt wird, das Bild, die exakte Asset-Datei und woher sie stammt. Wenn ein Asset nicht gefunden werden kann (ein Logo, ein Foto, ein Screenshot), STOP und frage den Benutzer danach. Zeichne niemals ein gefälschtes Logo, erfinde eine Benutzeroberfläche oder generiere eine Person.
- Starte den Ordner:
node "SKILL/scripts/new-reel.mjs" <slug> [--logo claude]. Das Ecklogo ist das eigene Logo des Themas (Dateien inas/; füge das echte SVG hinzu, wenn es fehlt). - Skript. Schreibe
tts.json(was die Stimme sagt, aufgeteilt in Hook / Body / Payoff / CTA-Teile, jeder mit eigenem Stil) undscript.txt(die Untertitel, gleiche Wörter, gleiche Reihenfolge). Regeln:references/SCRIPT.md. Tags und Stile:references/VOICE.md. - Sprachausgabe:
python "SKILL/scripts/voice.py" reels/<slug>dannpython "SKILL/scripts/tighten.py" reels/<slug>(Pausen auf 0,34 s, normale Geschwindigkeit). Höre dir den Take an oder überprüfe ihn mit einem Transkriptor: Wenn eine Zeile fehlt oder ein Name falsch ist, korrigiere den Text und führe voice.py erneut aus. - Untertitel + Timing:
python "SKILL/scripts/captions.py" reels/<slug>gibtDUR,SCNundCAPSaus. Füge sie inreel.jsein. Feintune einen Anker ([email protected]), wenn ein Wort zu früh oder zu spät kommt. - Echte Assets: Screenshots mit
node "SKILL/scripts/docshot.mjs" <url> reels/<slug>/as/<name>.png [--selector "css"], Logos als SVG vom Anbieter oder ausSKILL/assets/logos. Jedes Asset erhält eine kleine Quellenzeile auf dem Bildschirm. Details:references/ASSETS.md. - Baue
reel.js. Lies zuerstexamples/claude-code-shortcuts/reel.js: es ist das Gold-Reel und zeigt jedes Muster. Bausteine, die du verwenden kannst:references/COMPONENTS.md. Bilder leben in y 260 bis 1100, Untertitel besitzen y 1150 bis 1570. - Bewerte:
node "SKILL/engine/shot.cjs" reels/<slug> auditmussLAYOUT PASSausgeben. Dannnode "SKILL/engine/shot.cjs" reels/<slug> prev 0 <eine Zeit innerhalb jeder Szene>und SCHAUE dir jeden Standbild an (öffne die JPGs). Korrigiere und wiederhole. Überprüfe die 5 Hook-Standbilder bei 0, 0,5, 1, 2, 3 s gegenreferences/SCRIPT.md(Hook-Regeln). - Sound: Bearbeite
mix.py(DUR, SCN, ein Sound pro Bildwechsel;references/SOUND.md), führepython reels/<slug>/mix.pyaus. Ein anderes Bett:python "SKILL/scripts/music.py" search "lofi chill"dannpull <id> reels/<slug>(nur CC0). - Rendern:
node "SKILL/engine/render.cjs" reels/<slug>dannpython "SKILL/scripts/finish.py" reels/<slug>(muss PASS ausgeben) undnode "SKILL/engine/shot.cjs" reels/<slug> cover 0.6. - Übergabe:
reels/<slug>/out/final.mp4undout/cover.jpg, plus eine Bildunterschrift mit den Themen-Keywords in Zeile 1, 3 bis 5 Hashtags und den Quellen ausfacts.md.
Regeln, die die Zuschauer bei der Stange halten (aus echten Ergebnissen, nicht aus der Theorie)
- Der Payoff kommt in Zeile 1. „7 Claude-Code-Shortcuts, die fast niemand kennt“ schlägt „Heute möchte ich dir etwas zeigen“.
- Bewegung in Frame 0. Beginne Eingänge bei negativen Zeiten (
popV(t,-0.3,...)) sodass der erste Frame sich bereits bewegt. Niemals einen leeren oder statischen ersten Frame. - Ein Look vom ersten bis zum letzten Frame. Öffne niemals dunkel und wechsle zu hell: das wirkt wie ein neues Video und die Leute wischen weiter.
- Für Listen: ein Header, der zählt (
SHORTCUT 3/7+ Punkte) und eine offene Schleife in Zeile 2 („und Nummer sieben spart mir Stunden“), die am Ende aufgelöst wird. - Ein neues Bild alle 0,8 bis 1,5 s. Zeige den Effekt, beschreibe ihn nicht.
- Die Stimme liegt oben auf. Musik ist leise (die Standardeinstellungen in
sfx.mix_reelsind getestet). - Der CTA ist nur für dieses Reel geschrieben (speichere es, sende es an die Person, zu der es passt, oder eine echte Frage). Niemals „Folge für mehr“.
Wenn etwas kaputt geht
references/TROUBLESHOOTING.md. Die häufigsten: kein ffmpeg im PATH, Chromium nicht installiert, 429 von der Sprach-API (derzeit kostenloses Limit – warte oder aktiviere Abrechnung), ein CLIP vom Judge (Text breiter als seine Karte: kürze ihn oder verbreitere die Karte auf bis zu 920 px).