Communitygithub.com

zappurenfuro/movie-recap

Erstelle eine vollständige, vertonte Filmzusammenfassung sowie einen kurzen Instagram-Reel aus einer vom Benutzer bereitgestellten lokalen Film- oder Episodendatei, inklusive Untertitel, Thumbnails und Upload-Texten.

Was ist movie-recap?

Dieser Skill ermöglicht es KI-Agenten wie Claude Code, Codex oder Cursor, automatisch professionelle Filmzusammenfassungen (Recaps) aus lokalen Videodateien zu erstellen. Die Ausgabe umfasst zwei Pakete: eine vollständige, vertonte Zusammenfassung im Stil eines ausführlichen Filmrückblicks und einen kurzen Instagram-Reel, der die Handlung bis zum Höhepunkt zusammenfasst. Der Skill unterstützt gängige Videoformate (MKV, MP4, MOV, etc.) und Sidecar-Untertitel. Er analysiert das Filmmaterial lokal mittels Spracherkennung (Whisper) und Text-to-Speech (Kokoro) und produziert H.264-MP4-Dateien mit englischer Erzählung, Untertiteln und Thumbnails. Wichtig: Der Agent führt die komplette Produktion aus – von der Quellanalyse über das Drehbuchschreiben und die Synchronisation bis hin zum finalen Rendering und Export. Er ist nicht dazu gedacht, nur ein Skript oder einen Schnittplan zu erstellen. Der Skill enthält detaillierte Regeln zur Wiederverwendung von Zwischenergebnissen, zur Vermeidung von Überschreibungen und zur Sicherstellung einer konsistenten Qualität. Die Installation erfolgt über ein mitgeliefertes Repository (`install.py`), das alle Abhängigkeiten (FFmpeg, Python, TTS-Modelle, Whisper) automatisch einrichtet und in einer `runtime.json` referenziert.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/zappurenfuro/movie-recap/tree/HEAD

In Ihrer bevorzugten KI fragen

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

Dokumentation

Filmzusammenfassung (Recap)

Aufruf und standardmäßiger Gültigkeitsbereich

Claude Code: /movie-recap Lucky. Codex: $movie-recap Lucky (oder wähle diesen Skill im Skill-Picker des Hosts). Ein Pfad in Anführungszeichen oder ein Ordner funktioniert ebenfalls. Lies den Titel/Pfad und optionalen Gültigkeitsbereich aus der Aufrufnachricht. Claude Code Argumente: $ARGUMENTS. Wenn dieses Token vom Host nicht expandiert wird, verwende die tatsächliche Nachricht des Benutzers, nicht das Literal-Token als Dateinamen.

Standard: Erstelle sowohl die vollständige Zusammenfassung (Full Recap) als auch den Reel, einschließlich der unten aufgeführten Dateien. Behandle dies als Arbeitsanweisung, nicht nur als Skript-, Gliederungs- oder Schnittplan. Nur-vollständig oder nur-Reel gilt nur, wenn der Benutzer es ausdrücklich verlangt. Beginne nicht mit dem Rendern, nur weil jemand bittet, diesen Skill zu inspizieren, zu installieren, zu erklären oder zu modifizieren.

Diese Datei enthält beide aktuellen Recap-Vorlagen, konsolidiert ohne veraltete Präferenzhistorie. Nur-vollständig-Bearbeitungsregeln dürfen niemals in den Reel gelangen. Explizite aktuelle Benutzeranweisungen überschreiben diese Standardeinstellungen. Ändere während eines normalen Durchlaufs nicht die Quellvorlagen oder andere Filmprojekte.

Eingabe auflösen

  1. Beginne im vom Benutzer ausgewählten Projektordner. Suche nach bereitgestellten lokalen Videodateien (.mkv, .mp4, .mov, .m4v, .webm, .avi) und Sidecar-Untertiteln. Bevorzuge einen explizit angegebenen Pfad. Für einen Titel wie Lucky, gleiche Dateinamen und relevante Unterordner ab, ignoriere dabei Groß-/Kleinschreibung, Satzzeichen und übliche Release-Suffixe.
  2. Schließe vorherige Recap-Exporte, Trailer, Samples, Thumbnails und temporäre Arbeiten von der Quellauswahl aus. Überprüfe Kandidaten-Medien vor der Auswahl; wähle keine Datei nur, weil sie die längste ist. Überprüfe die Identität anhand des Filmmaterials, der Credits und Untertitel.
  3. Wenn es genau eine plausible Quelle für den angeforderten Titel gibt, fahre ohne Nachfrage fort. Wenn Lucky mit mehreren Episoden übereinstimmt oder zwei verschiedene Filme plausibel bleiben, stelle eine präzise Frage, die die Kandidaten identifiziert. Kombiniere nicht stillschweigend Episoden oder wähle eine beliebige aus. Ohne Titel verwende die einzige eindeutige Quelle; andernfalls frage. Wenn keine Quelle existiert, berichte, wo du gesucht hast, und fordere ihren Pfad an. Lade keinen Film automatisch herunter.
  4. Lasse die Quelle unverändert. Erstelle neue <Titel>-Full-Recap und <Titel>-Reel-Recap Ordner neben der Quelle. Wenn einer der Ordner bereits existiert, wähle ein konsistentes unbenutztes Paar -Edit-2, -Edit-3 usw., anstatt vorherige Arbeit zu überschreiben. Verwende gegebenenfalls den Episoden-Identifikator in den Namen.
  5. Erstelle einen abgegrenzten Aufgabenarbeitsordner außerhalb der endgültigen Ordner. Lies die entsprechenden Projektanweisungen, halte aber die beiden Modusverträge getrennt. Überschreibe keine nicht zusammenhängende existierende AGENTS.md. Wenn Projektanweisungen dauerhaft gespeichert werden müssen, belasse sie im Quellstamm oder in einem separaten Aufgabenarbeitsbereich, nicht in den schlanken endgültigen Ausgaben.

Werkzeuge, Stimme und tatsächliche Ausführung

Automatisch installierte Laufzeitumgebung

Bevor du nach globalen Werkzeugen suchst, lies runtime.json neben dieser installierten SKILL.md. Folge ihrem manifest_path und lies das freigegebene Manifest erneut; erfordere status: ready. Verwende ihre absoluten python, ffmpeg, kokoro_model, kokoro_voices, source_whisper_model (mehrsprachige Quellfilmerkennung) und whisper_model (englische Erzählungsausrichtung) Pfade. Diese Pfade machen es überflüssig, dass Benutzer eine virtuelle Umgebung aktivieren oder Modelle manuell suchen müssen. Verwende PyAV aus dieser Python-Umgebung zum Untersuchen; der Installer stellt keinen separaten ffprobe-ausführbaren Befehl bereit. Bevorzuge standardmäßig CPU und verwende nur eine verfügbare GPU, nachdem du bestätigt hast, dass sie funktioniert.

Wenn der Zeiger fehlt, überprüfe auch ~/.movie-recap/runtime-v1/runtime.json und führe dann die unten beschriebene portable Erkennung durch. Wenn das freigegebene Manifest fehlt, veraltet oder nicht bereit ist, erkläre den tatsächlichen Einrichtungsfehler und weisen den Benutzer an, das python install.py --target claude oder --target codex (mit --update beim Ersetzen eines Skills) dieses Repositorys auszuführen. Wenn der Benutzer dich gebeten hat, Abhängigkeiten einzurichten und das Repository verfügbar ist, führe den Installer selbst aus. Melde keine erfolgreiche Einrichtung nur, weil eine Manifestdatei existiert; überprüfe die referenzierten ausführbaren Dateien/Modelle. Füge runtime.json niemals in ein öffentliches Repository ein, da es maschinenspezifische Pfade enthält.

Dies ist ein Agenten-Workflow, kein eigenständiges Videorendering-Programm. Untersuche und verwende kompatible Produktionshelfer wieder, bevor du fehlende Bearbeitungslogik erstellst. Erkenne FFmpeg/ffprobe (oder PyAV-Untersuchung), Python, eine TTS-Engine und ASR-/Ausrichtungswerkzeuge. Teste eine kurze Codierung, bevor du dich für eine lange Wiedergabe entscheidest. Verwende kompatible CPU-Codierung, wenn NVENC nicht verfügbar ist. Beanspruche niemals ein fertiges Video, wenn nur Textanweisungen erstellt wurden.

Standard-Erzähler: lokales Kokoro am_michael, Englisch, synthetisiert bei 1,00x. Vollständig: wende genau eine atempo=1.10 Anpassung an. Reel: bevorzuge 1,00x, kürze das Skript, bevor du bis zu 1,30x in Betracht ziehst. Wechsel nicht stillschweigend die Stimme zwischen den Ausgaben oder behaupte eine exakte Instagram-Stimme. Verwende installierte Modelle wieder; frage vor kostenpflichtigen Diensten. Wenn die erforderliche lokale Ausführung oder eine brauchbare Stimme nicht verfügbar ist, melde den spezifischen Blocker, ohne so zu tun, als ob ein eigenständiges SKILL.md diese Fähigkeiten installiert. Der Repository-Installer bietet eine automatische Einrichtung.

Portable Abhängigkeitserkennung:

  • Finde Python und FFmpeg/ffprobe aus der aktiven Umgebung oder benutzerdefinierten Pfaden. Wenn installiert, kann imageio_ffmpeg.get_ffmpeg_exe() einen FFmpeg-Binärpfad finden.
  • Finde das Kokoro ONNX-Modell und die Sprachdaten aus der installierten TTS-Umgebung des Benutzers. Gehe nicht von einem bestimmten Benutzernamen, Download-Ordner oder Betriebssystem aus. Wenn die Dateien fehlen, melde die erforderlichen Assets und frage nach ihren Pfaden oder der Erlaubnis zur Einrichtung, je nach Bedarf.
  • Suche nach zwischengespeicherten faster-whisper-Modellen im Hugging Face Cache des aktuellen Benutzers oder in einem benutzerdefinierten Modellverzeichnis. Teste die CUDA-Unterstützung und falle bei Bedarf auf CPU zurück.
  • Finde entsprechende lokale Werkzeuge auf jedem Rechner. Verpacke keine Modellgewichte, API-Anmeldeinformationen oder Filmmaterial mit diesem Skill.

Wiederverwendung, frische Inhalte und Überlappungen

  • Verwende funktionierenden allgemeinen Code, installierte Werkzeuge/Modelle, Schemata, Render-/Filter-Builder, Untertitel-Hilfsprogramme, Validierungs- und Verpackungslogik wieder, bevor du Ersatz schreibst. Überprüfe zuerst die Kompatibilität; passe nur fehlendes Verhalten an. Halte Code getrennt von filmspezifischen Daten. Übertrage niemals alte Filmpfade, Handlungen, Skripte, Quellzeitkarten, Erzählungen, Marken oder Anmeldeinformationen in einen neuen Job oder öffentlichen Helfer.
  • Jede neue Recap-Produktion erfordert eine frische Analyse der bereitgestellten Quelle, neu geschriebene Voll/Reel-Skripte und neu synthetisierte Erzählung. Lies keine früheren Recap-Analysen, generierten Transkripte, Skripte, Szenenauswahlen oder Stimmen als Abkürzung wieder ein oder verwende sie wieder. Vom Quellmaterial bereitgestellte Untertitel sind gültige Eingaben. Teile die frische Analyse des aktuellen Durchlaufs zwischen seinem Voll und Reel, wobei ihre Skripte und redaktionellen Verträge getrennt bleiben. Eine explizite Überarbeitung wie "gleiches Video, ändere den Zuschnitt" darf unbeeinflusste Inhalte erhalten; generiere diese nicht unnötig neu.
  • Wiederholungsversuche innerhalb desselben Durchlaufs können validierte unveränderte Ergebnisse wiederverwenden. Zeichne Quellidentität, Skriptrevision, Stimme/Modell/rate, Transformationen, Enkodiereinstellungen und Helferversion mit Zwischenergebnissen auf. Ungültig mache betroffene Arbeit und abhängige Zeitsteuerung, Untertitel, Bilder und Kapitel, wenn sich Eingaben ändern. Dateiexistenz allein ist keine Cache-Validierung. Ein neuer frischer Durchlauf darf keinen alten Inhalts-Cache erben.
  • Überlappe unabhängige Arbeit: Transkription mit visueller Abtastung; Synthese genehmigter natürlicher Absätze mit Szeneninspektion; Thumbnails und Entwurf von Upload-Texten mit Rendering. Voll und Reel können nach der Analyse des aktuellen Durchlaufs unabhängig voneinander fortfahren. Finalisiere Bilddauern und Untertitel erst, nachdem die relevante Stimme gemessen/ausgerichtet wurde, und Kapitel, nachdem der Zeitplan festgelegt ist. Synthetisiere keine ungeprüften Entwürfe nur, um Arbeiter zu beschäftigen.
  • Verwende den wiederverwendbaren Job-Runner für Shell-Phasen, wenn hilfreich; lies sein Manifest und seine Workflow-Anleitung. Er bietet Abhängigkeiten, begrenzte Parallelität, exklusive Ressourcen und Phasen-Timings. Er analysiert keine Filme oder erstellt keine Schnitte. Verwende kompatible lokale Produktionshelfer wieder, anstatt sie neu zu erstellen; schreibe nur fehlende Logik. Behalte die redaktionelle Überprüfung beim Agenten. Verwende einen langlebigen TTS-Prozess, um geladene Modelle über Absätze hinweg beizubehalten, wo unterstützt.
  • Beginne konservativ mit zwei unabhängigen Jobs und einem schweren Job pro eingeschränkter Ressource. Führe Benchmarks für GPU-TTS oder zusätzliche Arbeiter vor der Übernahme durch; bewahre Aussprache, Pausen, Stimme und Codierungsqualität. Reduziere die Parallelität, wenn Speicher- oder CPU/GPU-Konkurrenz die Arbeit verlangsamt. Sich überschneidende Prozesse autorisieren nicht das Erzeugen von Agenten oder kostenpflichtigen Diensten.
  • Miss die vergangene Zeit von der Quellinspektion bis zur endgültigen Überprüfung, einschließlich Einrichtung, Korrekturen und Fehlschlägen. Zeichne Phasen-Timings separat auf; summiere niemals überlappende Dauern oder setze ein zwischengespeichertes Neurendern mit frischer Produktion gleich. Verkürze die Geschichte nicht, überschreite Grenzen der Erzählgeschwindigkeit nicht, senke die Exportqualität nicht oder überspringe Prüfungen für ein Geschwindigkeitsziel.

Gemeinsamer Produktionsworkflow

  1. Untersuche Quell-Streams, Dauer, aktive Abmessungen, Bildrate, Audiosprache und Untertitel. Lies Dialoge und mustere die gesamte Geschichte einschließlich ihres Endes. Verwende lokale ASR, wenn brauchbare Untertitel fehlen; überprüfe wichtige Aktionen visuell, anstatt ASR-Vermutungen zu vertrauen. Unterscheide Träume, Rückblenden, Legenden und ungewisse Ergebnisse von tatsächlichen Ereignissen. Web-Recherche kann die Filmidentität/das Jahr bestätigen; ersetze niemals die Filmanalyse durch eine Handlungsvermutung.
  2. Schreibe klare, spezifische englische Erzählungen mit genauen Ursache-Wirkungs-Beziehungen. Vermeide KI-Schlagwörter, aneinandergereihte dramatische Fragmente, erfundene Dialoge und sich wiederholende Füllwörter. Baue eine Quellzeitkarte mit genauen Passagen für jedes erzählte Ereignis auf. Voll behandelt die gesamte Geschichte. Reel etabliert den Kontext und stoppt am Beginn des Höhepunkts, mit eigenem Skript und Spoiler-Grenze.
  3. Synthetisiere vollständige Absätze oder natürliche Sätze, keine kurzen Display-Untertitel-Fragmente. Füge sie mit natürlichen Atempausen zu einer durchgehenden Erzählung zusammen. Messe die tatsächliche angepasste Sprache und erstelle dann die Bildzeitachse. Bewahre Silben und dehne Audio nicht, um willkürliche Szenendauern zu erfüllen.
  4. Richte Wörter an der generierten Stimme aus. Prüfe auf Auslassungen, Eigennamen und unerwartete Sprache. Gib bei faster-whisper nicht das gesamte erwartete Skript als initial_prompt an; es kann Wörter halluzinieren oder Anfänge überspringen. Wenn die Audio-Dekodierung aufgrund einer PyAV-API-Inkompatibilität fehlschlägt, verwende FFmpeg, um Mono-16-kHz-PCM zu dekodieren, und übergib ein NumPy-Array an Whisper. Untersuche Ergebnisse mit geringem Vertrauen, anstatt erfundene Wort-Zeitstempel zu akzeptieren.
  5. Behalte ein temporäres Schnitt-Manifest mit Quell-Ein/Aus, Ausgabe-Start/Ende, Erzählungs-Phrasen-Ankern, Einfrierpunkten und Transformationen. Platziere benannte Aktionen an ihrer gesprochenen Phrase oder kurz zuvor. Untersuche Zwischenaktions-Frames und gerenderte Szenengrenzen. Verdecke niemals "sie küssen sich" mit einem eingefrorenen Umarmen oder "CCTV durchsuchen" mit einer nicht zusammenhängenden Szene, die mehrere Sekunden später kommt.
  6. Rendere die vollständige Zusammenfassung mit Teil A und den Reel mit Teil B; unabhängige Arbeit kann sich innerhalb der Maschinengrenzen überschneiden. Verwende nur die frische Quellenanalyse des aktuellen Durchlaufs wieder, nicht das transformierte Bild der vollständigen Zusammenfassung. Halte das Timing frame-genau mit einer konstanten Bildrate, expliziten Frame-Anzahlen und concat-Dauern. Überprüfe zwischengespeicherte Renderings desselben Durchlaufs auf aktuelles Skript, Quellauswahl und Einstellungen; mache geänderte Clips ungültig, anstatt veraltete Dateien wiederzuverwenden. Kodiere kompatible Bildstapel einmal und verwende Stream-Copy für deren Zusammenstellung, wo möglich; verwende den Reel-Bildstream für seine zwei Mischungen wieder. Rendere nur betroffene Stapel neu, wenn eine Korrektur es erlaubt, und überprüfe dann den endgültigen zusammengesetzten Export.
  7. Mische eine klare Erzählung mit einem ruhigen, getrennten, passenden Hintergrund. Ein zurückhaltender, original synthetisierter Untermalungssound ist akzeptabel. Füge nicht automatisch Undertow hinzu. Das explizite Audio-Mapping muss alle Film-Audio aus der vollständigen Exportdatei ausschließen. Verwende H.264 High, yuv420p, konstanter Bildrate, quadratische Pixel, AAC-LC Stereo (48 kHz ist geeignet) und MP4 faststart für beide Modi.
  8. Generiere unabhängig voneinander natürlich-phrasierte TTS-SRT und kurze Anzeige-SRT aus denselben Erzählungswörtern und gemessenen Timings. Verwende die gemeinsamen Untertitelregeln aus Teil A für beide; seine Kein-Original-Audio/nur-Voll-Export-Beschränkungen überschreiben Teil B nicht. Bewahre jedes Wort, jede Interpunktion und Reihenfolge. Stelle Upload-Text und Thumbnails wie angegeben bereit.
  9. Validiere die vollständige Dekodierung, erwartete Frame-Anzahl/Dauer, Abmessungen, Codec-Profil, Audio-Aussteuerung, nicht überlappende SRT-Zeitsteuerung und exakte Skriptrekonstruktion. Überprüfe die Gesamtdauer jedes vollständigen Clips und die nicht durchgehende Quellauswahl. Vergleiche die zwei Reel-Bildströme/-Timings. Untersuche Thumbnails und ausgewählte erzählte Aktionen. Überprüfe repräsentative Bewegungen mit Audio, wenn verfügbar; Standbilder und Metadaten allein beweisen keine flüssige Wiedergabe. Melde ehrlich, wenn ein normaler Hörtest/Ansichts-Durchgang nicht verfügbar ist.
  10. Lösche erst nach der Überprüfung aufgabenbezogene temporäre Dateien mit einem explizit verifizierten Pfad innerhalb des Aufgabenprojekts. Bewahre Quellen, vorherige Bearbeitungen, gemeinsame Werkzeuge/Modelle, Anweisungen und Liefergegenstände. Entferne keine gemeinsamen Caches. Wenn die Bereinigung vom Host blockiert wird, wiederhole den Vorgang nicht über eine andere Shell oder Sprache, um die Blockade zu umgehen; melde den beibehaltenen Ort und Grund. Veröffentliche, lade nie etwas hoch oder bestreite Behauptungen ohne ausdrückliche Genehmigung.

Endgültiger Paketvertrag

Ersetze <Titel> durch das verifizierte Film-/Episoden-Label. Die Standardlieferung umfasst insgesamt DREI MP4s: eine vollständige und zwei Reel-Versionen.

<Titel>-Full-Recap/
  <Titel>-recap-with-narration.mp4
  <Titel>-narration-TTS.srt
  <Titel>-captions-display.srt
  youtube-upload.txt
  thumbnails/
    thumbnail-01.png
    thumbnail-02.png
    thumbnail-03.png
<Titel>-Reel-Recap/
  <Titel>-recap-with-narration.mp4
  <Titel>-recap-without-narration.mp4
  narration.txt
  <Titel>-narration-TTS.srt
  <Titel>-captions-display.srt
  instagram-copy.txt

Erstelle kein No-Narration-Video der Vollfassung oder eine leere Original-Audio-SRT. Der vollständige Upload-Text ist in diesem kombinierten Workflow obligatorisch, nicht optional. Füge kein Logo, Wasserzeichen oder Channel-Branding hinzu, sofern nicht ...

[gekürzt für die Übersetzung]

Verwandte Skills