Communitygithub.com

F0rger123/claude-video-editing-god-mode

Agent 1 der Videobearbeitungspipeline. Entfernt Stille und tote Momente aus einer Talking-Head-Aufnahme. Verwende diesen Skill, wenn du gebeten wirst, Stille zu schneiden, Pausen zu kürzen, tote Momente/Lücken zu entfernen oder das Tempo eines Rohvideos mit einem Wort-für-Wort-Transkript zu straffen. Er erstellt eine Editierliste (EDL), ein neu getimtes Transkript für nachgelagerte Agenten und optional das geschnittene Video via ffmpeg. Er entfernt NICHT Fehler, Wiederholungen oder Fehlstarts – das übernimmt der cut-mistakes-Agent.

Was ist claude-video-editing-god-mode?

Dieser Skill ist der erste Agent in einer Pipeline zur automatischen Videobearbeitung. Er nimmt eine Rohaufnahme und ein Wort-für-Wort-Transkript entgegen und entfernt gezielt nur Stille: tote Momente vor dem ersten Wort und nach dem letzten Wort, sowie Pausen zwischen Wörtern, die länger als ein konfigurierbarer Schwellenwert sind (diese werden auf einen natürlichen Atemzug gekürzt, nie auf eine harte Null-Lücke). Die gesprochenen Wörter bleiben unangetastet – Fehlstarts, Wiederholungen und Stottern sind Aufgabe des nächsten Agenten (cut-mistakes). Der Skill arbeitet deterministisch und transkriptgesteuert, sodass seine Ausgabe (`*.silence-transcript.json`) sauber an nachfolgende Agenten und den Beat-Sync-Validator übergeben werden kann. Er unterstützt die Erstellung einer EDL, eines neu getimten Transkripts und optional des geschnittenen Videos über eine FFmpeg-Filtergraph. Konfigurierbare Parameter wie die minimale Pausenlänge zum Schneiden (`--gap`) und die verbleibenden Randstille (`--head-pad`, `--tail-pad`) ermöglichen eine Feinabstimmung des Schnitts.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/F0rger123/claude-video-editing-god-mode/tree/HEAD/.agents/skills/cut-silences

In Ihrer bevorzugten KI fragen

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

Dokumentation

Stille schneiden (Pipeline-Agent 1)

Erster Schritt der automatischen Bearbeitung. Nimmt eine Rohaufnahme + ihr Wort-für-Wort-Transkript und entfernt nur Stille: tote Momente vor dem ersten Wort und nach dem letzten Wort, plus Pausen zwischen Wörtern, die länger als ein Schwellenwert sind (gekürzt auf einen natürlichen Atemzug, niemals eine harte Null-Lücke). Die gesprochenen Wörter des Sprechers bleiben unberührt – Fehlstarts, Wiederholungen und Stottern sind Aufgabe des cut-mistakes-Agenten (Agent 2).

Dieser Agent arbeitet deterministisch und transkriptgesteuert, sodass seine Ausgabe (*.silence-transcript.json) sauber an die nächsten Agenten und den Beat-Sync-Validator übergeben werden kann.

Verwendung

  • „Schneide die Stille“, „Kürze die Pausen“, „Entferne tote Momente“, „Straffe das Tempo“
  • Als erste Stufe des Master-Edit-Workflows, direkt nach der Transkription.

Voraussetzungen

Ein Wort-für-Wort-Transkript im JSON-Format. Entweder das ElevenLabs-Scribe-Format ({ words: [{ text, start, end, type }], audio_duration_secs }) oder ein generisches { words: [{ text, start, end }] }. Erstelle eines mit dem Workspace-Transkriptor:

node scripts/transcribe-elevenlabs.mjs path/to/raw.mp4    # -> path/to/raw.json

Verwendung

# 1) Nur planen – Schnitt berechnen, EDL + neues Transkript schreiben (kein Video berührt)
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --out-dir video-projects/<slug>/assets

# 2) Mit Video – auch den ffmpeg-Befehl schreiben (rendert noch nicht)
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --video video-projects/<slug>/assets/raw.mp4 --out-dir video-projects/<slug>/assets

# 3) Das geschnittene Video rendern (lokales ffmpeg, Neucodierung, A/V synchron)
#    --apply hinzufügen, um ffmpeg tatsächlich auszuführen
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --video video-projects/<slug>/assets/raw.mp4 --apply \
  --output video-projects/<slug>/assets/edited-silenced.mp4

Optionen

FlagStandardBedeutung
--video <pfad>—Quellvideo; aktiviert den ffmpeg-Befehl / das Rendern
--out-dir <verz>neben dem TranskriptVerzeichnis für die Ausgabedateien
--output <pfad><video-stem>.silenced.mp4Pfad für das geschnittene Video
--gap <s>0.55Mindestpausenlänge, die als schneidbare Stille behandelt wird
--head-pad <s>0.22Stille, die vor dem ersten Wort erhalten bleibt
--tail-pad <s>0.34Stille, die nach dem letzten Wort erhalten bleibt
--applyausFührt ffmpeg tatsächlich aus, um den Schnitt zu rendern

Entscheidungsfindung (die Stille-Regeln)

  • Pausen unter --gap (0,55s) bleiben unberührt – natürlicher Sprechrhythmus.
  • Bei einer gekürzten Pause wird ein natürlicher Atemzug beibehalten, skaliert nach Kontext: 0,24s für lange Pausen (≥2s), 0,20s nach einem Satzende (. ! ?), sonst 0,14s. Der beibehaltene Atemzug ist leicht zum Ende des vorherigen Satzes hin verschoben.
  • Tote Momente am Anfang/Ende werden auf --head-pad / --tail-pad gekürzt.
  • Löschbereiche werden zusammengeführt; Haltebereiche sind deren Komplement. Der Schnitt wird mit einer ffmpeg-trim/atrim + concat-Filtergrafik gerendert (geschrieben in ein *.silence-filter.txt-Skript und über -/filter_complex übergeben), sodass Video und Audio synchron bleiben.

Ausgaben (geschrieben in --out-dir)

DateiZweck
<stem>.silence-edl.jsonHalte-/Löschbereiche, Dauern, Parameter – die Editierliste
<stem>.silence-transcript.jsonWörter neu auf die bearbeitete Zeitleiste getimt (für Agent 2 + Beats)
<stem>.silence-decisions.mdLesbare Zusammenfassung + größte gekürzte Pausen
<stem>.silence-filter.txtDie ffmpeg-Filtergrafik (nur mit --video)
<video-stem>.silenced.mp4Das geschnittene Video (nur mit --apply)

Die in stdout ausgegebene JSON-Zusammenfassung enthält removed, removedPct, Bereichszählungen und Ausgabepfade – nützlich für den Master-Workflow zum Protokollieren und Verketten.

Optimierungshinweise

  • Standardwert für Talking-Head-YouTube (--gap 0,55) entfernt etwa 15-20% einer typischen Rohaufnahme als reine Stille. Niedrigerer --gap für einen knackigeren, schnelleren Schnitt; höherer Wert, um mehr natürlichen Atemraum zu erhalten.
  • Falls ein Schnitt an Satzgrenzen zu aggressiv wirkt, erhöhe den Satzende-Atemzug oder erhöhe --gap.

Übergabe an den nächsten Agenten

Übergebe <stem>.silence-transcript.json (und die silenced.mp4, falls gerendert) an den cut-mistakes-Agenten. Da die Zeitstempel bereits auf der bearbeiteten Zeitleiste liegen, funktionieren nachgelagerte Beat-Timings und scripts/validate-beat-sync.mjs ohne weitere Anpassungen.

Individual skills in this repo

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

Verwandte Skills