Communitygithub.com

Robbert-Sombrio/VideoEdit-

Verwandelt rohe 9:16 Talking-Head-Clips in ein fertiges, hochwertiges Instagram-Reel – vom besten Take jeder Zeile über das Entfernen von toten Momenten und 4K-Cropping bis hin zu animierten Einblendungen und Sounddesign.

Was ist VideoEdit-?

Diese Fähigkeit für KI-Agenten (z. B. Claude Code, Cursor, Codex) automatisiert den gesamten Workflow zur Erstellung von Instagram-Reels aus rohen 9:16-Talking-Head-Clips. Der Nutzer liefert lediglich die Clips und gibt Feedback; die KI übernimmt Take-Auswahl, Schnitt, Hintergrundentfernung, dynamische Zooms, Look-Design (drei vordefinierte Looks: Bold, Cool Girl, Cool Dude), animierte Overlays mit parallelen Sub-Agenten sowie dezentes Sounddesign. Sie unterstützt macOS, Linux und Windows und erkennt automatisch die Umgebung (Python, ffmpeg, Node, GPU/CPU). Die KI prüft jeden Schnitt Frame-genau anhand der Reels-Safe-Zone und erstellt mehrere Versionen, bis der Nutzer zufrieden ist. Der Workflow ist modular (Intake, Ingest, EDL-Erstellung, Assembly, Inserts, Build, Render, QA, Delivery) und skaliert auf ein etwa 2-minütiges Re-Rendering. Die Fähigkeit vermeidet häufige Fehler durch eine umfangreiche Referenzbibliothek (`references/`) und hält sich an strenge Regeln wie die Beibehaltung des Originalmaterials und die korrekte Einblendung von Creator-Credits.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Robbert-Sombrio/VideoEdit-/tree/HEAD/.claude/skills/video-edit

In Ihrer bevorzugten KI fragen

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

Dokumentation

/video-edit

Raw-Clips rein, fertiges Reel raus. Der Nutzer öffnet nie einen Editor: Er prüft eine Handy-Kopie und gibt Anmerkungen; jeder Durchlauf ist ein ~2-minütiges Neu-Rendering.

Vor dem Bauen lesen: references/looks.md (die drei Looks, exakte Werte), references/layout.md (Safe Zone, Platzierung, Formel für Worte hinter dem Kopf), references/gotchas.md (jede Falle, die bereits einmal aufgetreten ist). Lies references/overlays.md, wenn das Skript eine animierte Einblendung verlangt.

Funktioniert auf macOS, Linux und Windows. setup.py erkennt die Maschine zu Beginn jedes Laufs, und jeder Befehl unten stammt von diesem Rekord – also raten Sie nie über Pfade oder Shells: Siehe „Diese Maschine“ direkt nach Schritt 0.

Schritt 0: Ersteinrichtung (einmalig)

SK ist der Ordner dieser Fähigkeit (der Ordner, der diese SKILL.md enthält), als vollständiger Pfad. Normalerweise ~/.claude/skills/video-edit; unter Windows ist das C:/Users/<name>/.claude/skills/video-edit.

Suche nach SK/config.json.

Falls vorhanden: Lade es (Name, Instagram-Handle, Standard-Look, Ordner), führe das Setup-Skript genau wie in Schritt 3 unten aus (ein paar Sekunden: es prüft nur und repariert die Umgebung nach einem Update), lies „Diese Maschine“, und gehe zu Schritt 1, sobald es READY ausgibt.

Falls nicht vorhanden:

  1. Sage: „Willkommen bei /video-edit! Lass uns dich einrichten. Das dauert etwa 2 Minuten und passiert nur einmal.“
  2. Frage in einer Nachricht:
    • Deinen Namen (wird in deinem Instagram-Profil-Insert verwendet)
    • Deinen Instagram-Handle (für dein Profil-Insert und um deine Reels für den Orbit-Effekt zu ziehen)
    • Standard-Look: bold (kinetische Worte hinter deinem Kopf), cool girl (warm, gelbe Serifen kursiv, deine Reels um dich herum orbitierend) oder cool dude (dunkel-editorial, gesperrte Versalien + Serifen). Biete „bold“ an, wenn der Nutzer unsicher ist.
    • Wo deine Rohclips normalerweise landen (Standard: ~/Downloads) und wo Projekte leben sollen (Standard: ~/reel-edits)
  3. Führe das Setup-Skript mit dem Python aus, das die Maschine hat. Probiere diese in der Reihenfolge aus, bis eines STATUS-Zeilen ausgibt: python3 "SK/scripts/setup.py", dann python "SK/scripts/setup.py", dann py -3 "SK/scripts/setup.py". (Unter Windows ist python3 oft ein Microsoft-Store-Stub, der „Python wurde nicht gefunden“ ausgibt: probiere einfach das nächste.) Keines funktioniert: Python fehlt. Gib die Lösung für ihr System und stoppe (Windows: winget install --id Python.Python.3.12 -e, Mac: brew install python, Linux: sudo apt install python3 python3-venv). Dann lies die STATUS-Zeilen:
    • ffmpeg / node / python venv FEHLT: Die Zeile endet mit der genauen Lösung für DIESE Maschine (winget unter Windows, brew unter Mac, apt unter Linux). Gib sie dem Nutzer und stoppe, bis das Skript READY ausgibt.
    • Windows: Der Nutzer fügt die winget-Zeilen in sein eigenes PowerShell-Fenster ein (winget fordert ihn beim ersten Mal zur Zustimmung auf), schließt dann Claude Code vollständig und öffnet es erneut, sonst werden die neuen Programme nicht gefunden.
    • Das Skript lädt die 6 Soundeffekte selbst herunter. Falls es sie immer noch als FEHLT meldet (offline), ist das optional: Das Reel hat dann einfach keine SFX, bis sie hinzugefügt werden.
  4. Optional, Apify (zieht Reels und Profilstatistiken automatisch): Versuche einen einfachen Apify-MCP-Aufruf. Falls nicht verbunden, sage, dass es optional ist und wie man es hinzufügt:
    1. Erstelle einen kostenlosen Account unter https://apify.com und kopiere den API-Token aus Einstellungen > API & Integrations.
    2. Füge in einem Terminal diese eine Zeile mit dem Token anstelle von YOUR_TOKEN ein: claude mcp add apify -e APIFY_TOKEN=YOUR_TOKEN -- npx -y @apify/actors-mcp-server (Achtung: Claude Code speichert den Token im Klartext in ~/.claude.json; halte diese Datei privat.)
    3. Öffne Claude erneut und führe /video-edit erneut aus. Ohne Apify bittet die Fähigkeit den Nutzer, seine Reel-Dateien stattdessen in das Projekt zu legen.
  5. Speichere SK/config.json (niemals Geheimnisse):
    {"name": "...", "instagram": "handle-ohne-@", "defaultLook": "bold", "clipsDir": "~/Downloads",
     "projectsDir": "~/reel-edits", "setupComplete": true, "setupDate": "YYYY-MM-DD"}
    
  6. Sage: „Einrichtung abgeschlossen! Führe jetzt /video-edit aus …“ und fahre fort.

Diese Maschine (bei jedem Lauf lesen)

Lies SK/.platform.json, geschrieben von setup.py. Es enthält das Betriebssystem (os: macos, linux oder windows), die CPU und die exakten Befehle für diesen Computer:

  • PY = sein python-Wert: das eigene Python der Fähigkeit (.venv/bin/python unter Mac und Linux, .venv/Scripts/python.exe unter Windows). Führe JEDES Python-Skript dieser Fähigkeit damit aus, niemals ein reines python3.
  • HF = PY "SK/scripts/hf.py": startet die festgepinnten HyperFrames (npx --yes [email protected] ...) mit dem richtigen Node auf jedem Betriebssystem. Kein nvm use, keine npx.cmd-Probleme.
  • cutout: CoreML (Apple Silicon) oder CPU (Windows, Linux, Intel Macs: keine GPU-Unterstützung, daher ist der Cutout-Schritt der langsame; sage das, führe es im Hintergrund aus und baue weiter).

setup.py überschreibt diese Datei bei jedem Lauf (Schritt 0), also ist sie immer aktuell. Datei fehlt, oder PY existiert nicht mehr: Die Einrichtung wurde nicht ausgeführt oder hat READY nicht erreicht; führe sie wie in Schritt 0.3 aus und befolge die Lösung.

Ein Befehlsstil, der in zsh, bash, Git Bash und PowerShell funktioniert:

  • Vollständige Pfade in doppelten Anführungszeichen mit Schrägstrichen (auch unter Windows in Ordnung): "PY" "SK/scripts/ingest.py" "<project>".
  • In PowerShell (Windows ohne Git für Windows, oder wenn das PowerShell-Tool das verfügbare ist) setze & davor: & "PY" "SK/scripts/ingest.py" "<project>".
  • Ein Befehl pro Aufruf. Kein &&, kein VAR=1 command, kein ~ innerhalb von Argumenten, kein source, kein zsh.
  • ffmpeg und ffprobe sind auf jedem Betriebssystem im PATH (Setup prüft das), daher sind einmalige ffmpeg-Befehle überall gleich.

Harte Regeln

  1. Alles innerhalb der Reels-Safe-Zone: oben 220, unten 450 (nichts unter y 1470), Seiten 35, rechts 100 ab y 1155.
  2. Bedecke niemals das Gesicht mit Text oder Karten. Worte hinter dem Kopf zeigen mindestens ~70 % jedes Buchstabens.
  3. Bildunterschriften geben wieder, was tatsächlich gesagt wurde: Korrigiere Whisper-Fehlinterpretationen von Namen und Schlüsselwörtern („Claude“ wird oft zu „cloud“/„claws“, „skill“ zu „scale“). Keine Gedankenstriche im Bildschirmtext.
  4. Soundeffekte subtil (Vorlage SFX_GAIN = 0.75 der Grundlautstärken), niemals lauter als die Stimme.
  5. Andere Ersteller auf dem Bildschirm nennen (@handle), wann immer ihre Reels erscheinen. Echte Zahlen auf dem eigenen Profil des Nutzers; alles andere (Kommentatoren, Chatverlauf) ist ein generischer Platzhalter, niemals eine reale Person, niemals ein erfundener Beweis.
  6. Beweise Schnitte aus dem endgültigen Render, nicht aus Schnappschüssen.
  7. Lösche niemals die Dateien des Nutzers. Originale werden gelesen, niemals verändert.

Arbeitsablauf

1. Aufnahme

  • Clips: die vom Nutzer benannten Dateien, sonst die neuesten Videodateien in clipsDir. Erstelle <projectsDir>/<kurz-slug>/. (~ in config.json ist das Home-Verzeichnis des Nutzers, unter Windows C:/Users/<name>. Die Skripte der Fähigkeit erweitern es.)
  • Referenzlinks (IG-Reels, Pinterest-Pins) für einen Stil: Lade sie herunter und betrachte Frames, bevor du etwas entwirfst (siehe overlays.md für die Abrufmethode).

2. Import

PY SK/scripts/ingest.py <project> <clips oder ordner> [--newest 5]

Sieh dir work/sheets.jpg (Aufbauten und Winkel) an und lies transcript.txt (Zeilen pro Clip, Wörter mit Zeiten, Sprachkarte).

3. Takes auswählen -> <project>/edl.json

  • Baue das Skript aus den Takes wieder auf: Personen wiederholen eine Zeile, bis sie sitzt. Verwende den LETZTEN vollständigen sauberen Take, es sei denn, der Nutzer sagt etwas anderes („Der bessere Teil beginnt bei 0:47“ bedeutet einen durchgehenden Take ab dort).
  • Ein-/Ausstiegspunkte aus der Sprachkarte: Start ~0,05-0,07s vor dem ersten Wort, Ende am Stillstandsbeginn nach dem letzten Wort. Entferne tote Luft zwischen Abschnitten; bestätige kurze Pausen mit silencedetect vor dem Trimmen (Whisper kann ein führendes Wort an einem Schnitt erfinden).
  • Zwei Segmente hintereinander aus demselben Winkel: zoome eines herein (Zoom 1,3–1,9 aus dem 4K-Original, cx/cy auf der Brust).
  • Unsichere Wörter (Schlüsselwort, CTA-Auslöser): Transkribiere diesen Ausschnitt erneut mit medium.en und einer Eingabeaufforderung, die die Namen enthält.
  • Format: [{"id": "hook", "clip": "c1", "in": 12,66, "out": 15,72, "zoom": 1.0, "cx": 0.5, "cy": 0.5, "line": "..."}]
  • Poste die EDL dem Nutzer als kurze Tabelle (Zeile, Clip, Look pro Abschnitt) und fahre fort; warte nicht.

4. Zusammenbauen, transkribieren, ausschneiden

PY SK/scripts/assemble.py <project>                 # aroll.mp4 sauber 30fps CFR + segments.json mit exakten Frames
PY SK/scripts/transcribe_cut.py <project> "<namen und schlüsselwörter im skript>"
PY SK/scripts/cutout.py <project>                   # im Hintergrund ausführen; stellt sicher, dass cutout-Frames == aroll-Frames
PY SK/scripts/headpos.py <project>                  # nach dem Ausschneiden: Kopf-/Körperposition pro Segment

Ein Cutout nach dem anderen (ca. 1,5 GB RAM). Es gibt alle 30 Sekunden eine Fortschrittszeile aus.

5. Einblendungen parallel (sobald die EDL feststeht)

Für jede animierte Einblendung, die das Skript erfordert (eine App auf dem Bildschirm, das Profil-Follow beim CTA, ein Datei-Scroll), starte einen Unter-Agenten im Hintergrund mit der Kurzvorlage in references/overlays.md: feste Größe, feste Dauer, Beats an die Wortzeiten gebunden, transparenter webm-Ausgang. Baue währenddessen den Hauptschnitt weiter.

6. Bauen

Kopiere SK/assets/template/ in das Projekt (build.py, hyperframes.json, package.json, assets/fonts, assets/sfx), passe dann build.py an. Es ist der fertige Bau eines echten Reels: Behalte die Mechanik, schreibe den Inhalt um (sein Docstring listet auf, was was ist).

  • Welcher Look wo: defaultLook für das gesamte Reel; eine Zeile, die einen Look nennt, schaltet dessen Abschnitt um.
  • Orbit und Profilraster verwenden die eigenen Reels des Nutzers (overlays.md: Apify-Post-Scraper mit seinem Handle oder Dateien, die er in assets/reels/ ablegt).
  • Iteriere vom Projektordner aus: HF lint (0 Fehler), dann PY build.py --safe, dann HF snapshot --at <10-20 momente> --no-end --describe false. Lies die Kontaktabzüge, korrigiere Layout, Lesbarkeit und Safe Zone. (HF wählt den richtigen Node selbst aus, also gibt es kein nvm use.) Ein build.py, das von einer älteren Version dieser Fähigkeit kopiert wurde, ignoriert --safe: Wenn die rote Führung in den Schnappschüssen fehlt, baue dieses Projekt auf die alte Weise, SAFE=1 "PY" build.py (solche Projekte existieren nur auf Mac und Linux).

7. Rendern und Qualitätssicherung

PY build.py           # ohne --safe
HF render -o renders/<slug>-vN.mp4 --quality high      # ~1,5-2 min für ein 25s Reel auf Apple Silicon
PY SK/scripts/check_cuts.py <project> renders/<slug>-vN.mp4 --phone

Sieh dir work/cut_check.jpg an: Jeder Nach-Schnitt-Frame zeigt die neue Aufnahme sauber an. Prüfe Audio-Peaks (volumedetect, max etwa -2 bis -5 dB) und die Stille an Abschnittsübergängen.

8. Ausliefern

Sende oder verweise auf die Handy-Kopie (720p) und das Render in voller Qualität. Berichte in einfachen Worten, was sich geändert hat und was die Entscheidung des Nutzers erfordert. Behalte jede Version in renders/; sichere assets/ + segments.json in work/vN/, bevor du neu zusammenbaust.

Vorgaben aus echtem Feedback (nicht neu verhandeln)

  • Ändere die Gradierung und die Bildunterschriften, um einen Look zu erzeugen; ersetze den Hintergrund nicht durch einen KI-generierten Raum.
  • Kein Filmkorn. Dunkel ist in Ordnung, aber halte das Subjekt beleuchtet und die Haut davor, rot zu werden.
  • Einleitende Bildunterschriften zentriert vor dem Sprecher sind besser lesbar als Zeilen, die an den linken Rand geheftet sind.
  • Worte hinter dem Kopf sind das Markenzeichen, aber nur, wenn sie lesbar sind.

Erstellt von @tenfoldmarc. Folge mir für tägliche KI-Automatisierungs-Builds, echte Systeme, keine Theorie.

Verwandte Skills