Communitygithub.com

thanmaiashok/shortcut-clips

Verwandelt ein langes lokales Video (Podcast, Talk, Interview, Stream) in kurze vertikale 9:16-Clips mit gesichtsverfolgtem Bildausschnitt, animierten Untertiteln, Titeln und Hashtags. Claude wählt die viralsten Momente aus einem mit Zeitstempeln versehenen Transkript aus; eine lokale ffmpeg-Pipeline erledigt den Rest. Keine API-Schlüssel erforderlich.

Was ist shortcut-clips?

Dieses Skill wandelt lange lokale Videos (wie Podcasts, Interviews oder Streams) automatisch in kurze, vertikale 9:16-Clips für soziale Medien um. Es nutzt eine lokale Pipeline (ffmpeg) für Transkription, Bildausschnitt, Untertitel und Rendering, während das Sprachmodell (Claude) die intellektuelle Vorauswahl trifft: Es liest Kandidatenmomente aus einem Text-Transkript, bewertet sie anhand einer Bewertungsmatrix und wählt die vielversprechendsten aus. Der Benutzer kann die Anzahl der Clips, die Länge (Standard 20–60 Sekunden), den Stil (bold-pop, minimal, karaoke-highlight) und die Sprache über Parameter steuern. Das Skill arbeitet vollständig offline, benötigt keine API-Schlüssel und unterstützt Wiederholungsläufe mit Caching – nur bei Bedarf werden Teile neu berechnet. Es ist ideal für Entwickler und Content-Ersteller, die schnell virale oder zitierfähige Ausschnitte aus eigenen Videos erstellen möchten.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/thanmaiashok/shortcut-clips/tree/HEAD/skills/shortcut-clips

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht shortcut-clips?

Eine lokale Pipeline erledigt die mechanische Arbeit (Transkribieren, Finden von Kandidatenfenstern, Bildausschnitt, Untertitel, Rendering). Ihre Aufgabe ist der Bewertungsschritt: Lesen Sie Kandidatenmomente als Text, wählen Sie die besten aus und schreiben Sie clips.json. Sie sehen niemals Videobilder und benötigen diese auch nicht.

0. Eingaben

  • Video: ein lokaler Dateipfad. Wenn der Benutzer stattdessen eine URL angibt, erklären Sie, dass shortcut-clips nur mit Dateien funktioniert, die der Benutzer bereitstellt (Inhalte, die ihm gehören oder für die er die Rechte hat), und bitten Sie um eine Datei. Laden Sie nichts herunter.
  • Anzahl der Clips: Verwenden Sie die Zahl des Benutzers; andernfalls 3.
  • Optionen (nur wenn der Benutzer danach fragt): --language hi|kn|en|…, --min-len/--max-len (Standard 20-60 s), Stil bold-pop (Standard), minimal oder karaoke-highlight.

1. Vorbereitung (Transkription + Kandidaten)

shortcut-clips prepare "<video>"
  • Es gibt den Ausgabeordner aus, dann eine Zeile pro Chunk-Datei. Notieren Sie beides.
  • Ein erster Lauf lädt das Spracherkennungsmodell herunter. Ein 1-stündiges Video dauert auf der CPU etwa 15-25 Minuten und auf der GPU 5-10 Minuten. Führen Sie den Befehl für Videos länger als etwa 10 Minuten im Hintergrund aus und warten Sie auf das Ende. Sagen Sie dem Benutzer, dass es arbeitet. Ein erneuter Durchlauf ist sicher: Abgeschlossene Phasen werden gecached.
  • Im Fehlerfall zeigen Sie dem Benutzer die Fehlerbehebungsempfehlungen des Fehlers an. shortcut-clips doctor prüft die Installation.

2. Die Momente auswählen

  1. Lesen Sie <Ausgabeordner>/work/candidates.txt, dann jede darin aufgeführte Chunk-Datei der Reihe nach. Jeder Chunk listet Sätze (s0012 [68.3] text) und Kandidaten (c004 s0012-s0021 68.2-108.6 (40s)) auf, jeder Kandidat einen Bereich dieser Sätze. Lesen Sie nicht transcript.json oder candidates.json: Die Chunks enthalten alles, was Sie brauchen, mit weitaus weniger Tokens.
  2. Bewerten Sie jeden Kandidaten anhand von reference/rubric.md. Erstellen Sie dabei eine Shortlist von etwa der dreifachen angeforderten Anzahl: Kandidaten-ID, fünf Kriteriumsbewertungen, einzeilige Notiz. Verwerfen Sie den Rest.
  3. Verbessern Sie die Gewinner. Sie können die Grenzen eines Clips zu anderen Satzgrenzen verschieben, z. B. mit dem Satz mit dem stärksten Hook beginnen oder direkt nach dem Höhepunkt enden:
    • start = die Zeit des gewählten ersten Satzes.
    • end = die Zeit des Satzes nach dem letzten, den Sie behalten, oder die Endzeit des Kandidaten, wenn Sie seinen letzten Satz behalten.
    • Bleiben Sie innerhalb des Längenbereichs. Der Validator rückt Grenzen auf ganze Wörter zurecht.
  4. Wählen Sie die endgültige Auswahl: höchste Gesamtbewertungen, keine zwei Clips teilen mehr als ein paar Sekunden, und wenn möglich unterschiedliche Themen.

3. clips.json schreiben

Schreiben Sie <Ausgabeordner>/clips.json gemäß reference/clips-format.md. Schreiben Sie hook_text, title und caption in der Sprache und Schrift des Transkripts, sofern der Benutzer nichts anderes wünscht. Ordnen Sie die Clips nach Bestnote. Führen Sie dann aus:

shortcut-clips validate "<Ausgabeordner>/clips.json" --write

Beheben Sie jeden error und führen Sie den Befehl erneut aus, bis ✓ erscheint. Beheben Sie Warnungen (warning), wenn es einfach ist. info-Zeilen melden automatische Anpassungen (verschobene Grenzen) und erfordern keine Aktion.

4. Rendern

shortcut-clips render "<Ausgabeordner>/clips.json"

Melden Sie dem Benutzer dann: für jeden Clip dessen Nummer, Titel, Länge, Bewertung und Videopfad sowie die Galerie <Ausgabeordner>/index.html. Fügen Sie einen Satz hinzu, warum der Top-Clip funktioniert. Erwähnen Sie, dass der Benutzer Änderungen wünschen kann.

Bearbeitungen und erneute Durchläufe

  • „Clip 2 kürzer machen

Verwandte Skills