Communitygithub.com

clabza16/skills-edicion

Bearbeitet ein vertikales Video, in dem eine Person in die Kamera spricht (Instagram Reel oder TikTok), und fügt Zooms in jedem Schnitt, einen lesbaren Haken ab dem ersten Bild, Titel, Karaoke-Untertitel, einen selbstschreibenden Chat, eine Finder-ähnliche Liste, fächerförmige Screenshots, einen geteilten Bildschirm mit einem anderen Video und einen Folgen-Button am Ende hinzu. Verwende es, wenn jemand sagt: „Bearbeite dieses Video“, „Mach es dynamischer“, „Füge Untertitel hinzu“, „Füge Zooms und Effekte hinzu“, „Soll professionell aussehen“, „Bearbeite es für Reels“ oder ein vertikales Sprachvideo übergibt. Rendert mit Remotion aus public/plan.json.

Was ist skills-edicion?

Diese Skill ist ein spezialisiertes Tool zur Videobearbeitung für vertikale Kurzvideos (Instagram Reels, TikTok), bei denen eine Person direkt in die Kamera spricht. Sie arbeitet auf Basis von Remotion und plant alle visuellen Effekte über eine zentrale JSON-Datei (public/plan.json). Der Workflow umfasst die Transkription des Audiomaterials (via Whisper), die automatische Erkennung von Schnitten, und die Positionierung von Zooms, Titeln, Karaoke-Untertiteln, Chats, Listen, Screenshots und mehr – alles mit präzisem Timing, das an den gesprochenen Wörtern ausgerichtet ist. Ein besonderer Fokus liegt auf dem ersten Eindruck: Der „Haken“ (Hook) muss ab Bild 1 sofort lesbar und überraschend sein. Die Skill vermeidet Überladung und setzt auf eine klare Idee pro Szene. Plattformen: Claude Code, Cursor, Codex (kompatibel mit Bash/Windows Git Bash). Der Benutzer muss lediglich das unbearbeitete Video und die inhaltlichen Vorgaben liefern; der Rest wird automatisiert generiert und in einem finalen Schritt auf Audioqualität (Musik, Soundeffekte) mit einer separaten Skill veredelt.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clabza16/skills-edicion/tree/HEAD/editar-reel

In Ihrer bevorzugten KI fragen

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

Dokumentation

editar-reel

Nimmt ein vertikales Video, in dem jemand in die Kamera spricht (bereits geschnitten: ohne Stille oder Fehlaufnahmen) und macht es fertig zum Hochladen. Greift nicht in den Inhalt ein: fügt die Bearbeitungsebene darüber hinzu.

Die Vorlage befindet sich in plantilla/ (Remotion). Alles, was auf dem Bildschirm passiert, wird in plantilla/public/plan.json beschrieben; deine Aufgabe ist es, diesen Plan mit Augenmaß zu schreiben, nicht zu programmieren.

Voraussetzungen (vor Beginn prüfen)

  • ffmpeg und whisper-cli (whisper.cpp). Mac: brew install ffmpeg whisper-cpp. Windows: winget install Gyan.FFmpeg und das ZIP von whisper.cpp von https://github.com/ggml-org/whisper.cpp/releases (entpacken, whisper-cli.exe in den PATH legen).
  • Node 18 oder neuer (Windows: winget install OpenJS.NodeJS), und Google Chrome installiert.
  • Falls etwas fehlt, installiere es mit Erlaubnis der Person; falls der Installer nach ihrem Passwort fragt, soll sie es selbst eingeben. Nicht mit halber Arbeit weitermachen.
  • Unter Windows laufen .sh-Skripte in Git Bash (Claude Code unter Windows verwendet das). Falls bash nicht vorhanden ist, verwende die entsprechenden Befehle.

Schritte

1. Vorbereiten des Reel-Ordners

cp -R <diese-skill>/plantilla ~/reels/<name-des-reels>
cd ~/reels/<name-des-reels> && npm install
cp <ihr-video> public/video.mp4

Das Video muss vertikal 1080×1920 sein (falls es in 4K vertikal kommt, verkleinere es mit ffmpeg -i in.mov -vf scale=1080:1920 -c:a copy public/video.mp4; schneide es niemals zu, um das Gesicht zu vergrößern: die Leute sehen sich lieber mit etwas Luft).

2. Transkribieren und Schnitte finden

bash <diese-skill>/scripts/transcribir.sh public/video.mp4 public
bash <diese-skill>/scripts/cortes.sh public/video.mp4
  • transcribir.sh erzeugt public/palabras.json (jedes Wort mit seiner Sekunde) und gibt den Text aus. Lies ihn vollständig. Whisper irrt sich bei Eigennamen („Cloud“ statt „Claude“): korrigiere es mit einer correcciones.json und python3 <diese-skill>/scripts/palabras.py public/tokens.json public/palabras.json correcciones.json. Falls ein Wort nicht zu verstehen ist, frage die Person; rate nicht.
  • cortes.sh gibt die Sekunden aus, an denen sich die Einstellung ändert. Sie kommen in cortes_s des Plans.

3. Position des Gesichts ermitteln

Extrahiere 6-8 gleichmäßig verteilte Frames und prüfe, auf welcher Höhe sich das Gesicht befindet (in Pixeln, über 1920):

for t in 1 5 10 15 20 25; do ffmpeg -y -v error -ss $t -i public/video.mp4 -frames:v 1 /tmp/cara_$t.jpg; done

cara_y = die Höhe der Augen oder Nase (typisch: 700-900). Die Zooms zentrieren darauf, und die Titel gehen oberhalb des Kopfes: notiere auch, wo der Scheitel im am weitesten oben liegenden Frame ist. Falls er bei y=450 liegt, passen keine Titel mehr darüber: verwende weniger Titel.

4. Den Plan schreiben

Kopiere die Form von plantilla/public/plan.json (es ist ein vollständiges Beispiel). Falls es kein anderes Video oder Screenshots gibt, entferne split und pantallazos: sie verweisen auf Beispieldateien, die nicht im Repository mitgeliefert werden. Die cortes_s sind geordnet und ohne Wiederholung. Regeln:

Rhythmus

  • Ein Zoom pro Einstellung (zooms, einer pro Abschnitt zwischen Schnitten), abwechselnde Ebenen: 1.0 → 1.16 → 1.0 → 1.26… Der Maßstabswechsel am Schnitt kaschiert den Sprung. Niemals über 1.3: das wirkt pixelig.
  • Alle 3-5 Sekunden etwas Neues auf dem Bildschirm, aber eine Idee nach der anderen: niemals Titel und Chat gleichzeitig.

Der Haken (die ersten 2 Sekunden entscheiden alles)

  • gancho.linea wird ab dem ersten Bild angezeigt, ohne Eingangsanimation: es ist auch das Cover.
  • Wiederholt nicht, was die Stimme sagt. Wenn die Stimme „3 Millionen haben das gesehen“ sagt, sagt der Text etwas anderes, das hängenbleibt („Meine KI hat es gemacht“). Bei Wiederholung ist es ein Untertitel und die Chance vertan.
  • Das Beste für Bild 1 ist Bewegung: ein split mit dem Ergebnis (das virale Video, das Vorher/Nachher) oben und der Person unten, das sich schließt, wenn der erste Satz endet.

Jedes Element erscheint bei seinem Wort

  • Suche in palabras.json die exakte Sekunde des Wortes, das die Sache benennt, und lasse das Element 0,15-0,3 s früher beginnen. Ein Titel, der nach dem Wort erscheint, fühlt sich zu spät an.
  • lista[].filas[].marcar_s = die Sekunde, in der die Person diese Zeile nennt.

Was wofür verwenden

Was gesagt wirdElement
Eine Idee in wenigen Worten („Das Geheimnis: die Skills“)titulos (kurzer Kicker in Großbuchstaben + Text; *Wort* wird hervorgehoben)
Hat etwas von einer KI verlangtchat mit der wortwörtlichen Nachricht, die geschrieben wurde (frag nach, falls du sie nicht hast)
Konkrete Namen: Ordner, Dateien, Werkzeuge, Schrittelista (maximal 7 Zeilen)
„Schau dir das Ergebnis an“pantallazos (bis zu 3 Screenshots des echten Ergebnisses) oder split mit dem Video
Abschluss „Folge mir“cierre mit dem Benutzernamen

Ehrlichkeit (nicht verhandelbar): Auf dem Bildschirm erscheint nur, was wahr ist. Ein Chat zeigt die tatsächlich geschriebene Nachricht; eine Zahl, die tatsächliche Zahl. Wenn du es nicht weißt, frage nach oder lass es weg.

Sicherer Bereich: Die Vorlage platziert alles zwischen x 110-900 und y 250-1290, fern von den Buttons und der Bildunterschrift von Instagram. Verschiebe keine Elemente außerhalb.

5. Einzelne Frames vor dem vollständigen Rendern ansehen

npx remotion still Reel out/f0.png --frame=0

Extrahiere einen Frame pro Element (bei der Sekunde × 30) und sieh sie dir an. Überprüfe: das Gesicht wird nie verdeckt (außer Liste und Screenshots, die den Hintergrund absichtlich abdunkeln), Texte werden nicht abgeschnitten, der Haken ist in Frame 0 lesbar.

Falls das Rendern bei „Waiting for root component to load“ hängen bleibt, verwende das System-Chrome: --browser-executable="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" (Mac) oder --browser-executable="C:\Program Files\Google\Chrome\Application\chrome.exe" (Windows).

6. Rendern und finale Überprüfung

npx remotion render Reel out/reel.mp4
ffmpeg -v error -i out/reel.mp4 -f null - && echo "Die Datei ist in Ordnung"
ffmpeg -y -v error -i out/reel.mp4 -vf "fps=1,scale=216:384,tile=10x3" -frames:v 1 out/hoja.jpg

Betrachte out/hoja.jpg (ein Frame pro Sekunde). Falls ein Frame „mosaikartig“ oder schwarz ist (kommt gelegentlich bei Videos innerhalb von Remotion vor), rendere diesen einzelnen Frame mit remotion still und füge ihn ein: ffmpeg -i out/reel.mp4 -i fix.png -filter_complex "[0:v][1:v]overlay=enable='eq(n,N)'" -c:a copy out/reel_ok.mp4.

Anschließend übergib das Video an die Skill sonido-reel für Musik, Effekte und die endgültige Lautstärke.

Bekannte Fehler

  • Untertitel mit zusammenhängenden Wörtern („Yesto“): Ein einzelnes Leerzeichen zwischen <span> geht im Rendering verloren. Die Vorlage trennt bereits mit Abstand; wenn du Text Wort für Wort hinzufügst, mache dasselbe.
  • Nichts von filter: blur() oder backdropFilter über dem Video: erzeugt schwarze oder mosaikartige Bilder. Zum Abdunkeln eine halbtransparente Farbschicht darüberlegen.
  • Das obere Video im Split bringt seinen eigenen Text mit: passe recorte_y an, um den sauberen Bereich zu zeigen, oder wähle eine andere Sekunde mit broll_desde_s.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills