Communitygithub.com

shubham001312/fish-video-skill

Erstelle ein professionelles, upload-fertiges Kurzvideo (Short, Reel, TikTok, YouTube oder LinkedIn) zu jedem Thema. Es wird verwendet, wenn jemand ein Video, eine Erklärung, einen Werbeclip, eine Produktvorstellung, eine App-Tour, ein Bildschirm-Tutorial, ein Motivationsvideo oder „ein Video wie dieses“ (Referenzlink) wünscht. Der Prozess startet mit einem einzigen, strengen Interview (Thema, Plattformen, Stil, Farben, Stimme, Musik, Soundeffekte, Assets, Bildschirmaufnahme, API-Schlüssel), und fragt erst beim finalen Review erneut nach. Es recherchiert Trends und Fakten, analysiert Referenzvideos, sammelt lizenzierte echte Assets, nimmt den Bildschirm mit Fokuszooms und Klickgeräuschen auf und rendert deterministische Motion-Grafiken mit einer 3D-Kamera: Paper-Collage, Kinetic Typography, Neon-Diagramme, Glow-Metaphern, Whiteboards. Es fügt eine natürliche Stimme, einen für Handylautsprecher optimierten Mix und Wort-Sprung-Untertitel hinzu, führt eine Qualitätssicherung und Selbstprüfung durch, packt Videos, Thumbnails, Titel, Beschreibungen, Tags und Credits und räumt nur mit Erlaubnis auf.

Was ist fish-video-skill?

Das **fish-video-skill** ist ein spezialisierter KI-Agent, der aus einer einzigen Unterhaltung ein professionelles, upload-bereites Kurzvideo erstellt – perfekt für Plattformen wie YouTube Shorts, Instagram Reels, TikTok, LinkedIn oder YouTube. Es folgt einem strengen, nicht verhandelbaren Workflow (10 Schritte), der mit einem einmaligen Interview beginnt, in dem das Projekt definiert wird (Thema, Stil, Farben, Stimme, Musik, Assets, Bildschirmaufnahme, API-Schlüssel). Danach arbeitet der Agent autonom: Er recherchiert Trends und Fakten, analysiert Referenzvideos, sammelt lizenzierte Assets, nimmt den Bildschirm auf (inklusive Fokuszooms und Klickgeräuschen) und erstellt aufwändige Motion-Grafiken mit einer virtuellen 3D-Kamera, wie Paper-Collage, Kinetic Typography, Neon-Diagramme und Whiteboards. Die Qualitätssicherung und ein finales Review stellen sicher, dass das Ergebnis den Top-Kurzvideos der Plattform entspricht. Der Agent unterstützt mehrere Plattformen (Windows, macOS, Linux) und setzt auf Python 3.10+, Node 18+ und ein Chromium-basiertes Browser-Profil. Er ist darauf ausgelegt, den gesamten Erstellungsprozess zu automatisieren, vom Drehbuch bis zum fertigen, verpackten Video.

Funktioniert mit~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/shubham001312/imutechz-skills/tree/HEAD/skills/fish-video-skill

In Ihrer bevorzugten KI fragen

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

Dokumentation


name: fish-video-skill description: Erstelle ein professionelles, upload-fertiges Kurzvideo (Short, Reel, TikTok, YouTube oder LinkedIn) zu jedem Thema. Es wird verwendet, wenn jemand ein Video, eine Erklärung, einen Werbeclip, eine Produktvorstellung, eine App-Tour, ein Bildschirm-Tutorial, ein Motivationsvideo oder „ein Video wie dieses“ (Referenzlink) wünscht. Der Prozess startet mit einem einzigen, strengen Interview (Thema, Plattformen, Stil, Farben, Stimme, Musik, Soundeffekte, Assets, Bildschirmaufnahme, API-Schlüssel), und fragt erst beim finalen Review erneut nach. Es recherchiert Trends und Fakten, analysiert Referenzvideos, sammelt lizenzierte echte Assets, nimmt den Bildschirm mit Fokuszooms und Klickgeräuschen auf und rendert deterministische Motion-Grafiken mit einer 3D-Kamera: Paper-Collage, Kinetic Typography, Neon-Diagramme, Glow-Metaphern, Whiteboards. Es fügt eine natürliche Stimme, einen für Handylautsprecher optimierten Mix und Wort-Sprung-Untertitel hinzu, führt eine Qualitätssicherung und Selbstprüfung durch, packt Videos, Thumbnails, Titel, Beschreibungen, Tags und Credits und räumt nur mit Erlaubnis auf. version: 2.1.0 license: MIT author: ImuTechz compatibility: Python 3.10+ (3.12 empfohlen), Node 18+, ein Chromium-Browser (Brave/Chrome/Edge/Chromium), ffmpeg (über npm gebündelt). Windows, macOS, Linux. Optionale Schlüssel ELEVENLABS_API_KEY, PEXELS_API_KEY, PIXABAY_API_KEY, FREESOUND_API_KEY, YOUTUBE_API_KEY; jeder hat einen schlüssellosen Fallback.

Fish Video Skill v2

Du erstellst ein Video aus einer Unterhaltung. Es muss die Qualität der Top-Kurzvideos erreichen, die in Referenzanalysen seziert wurden:

  • etwa alle 1 Sekunde etwas Neues auf dem Bildschirm
  • echte Assets mit Tiefe (Textur, Kontaktschatten, Leuchten)
  • Typografie mit einem 3-fachen Heldenwort-Kontrast
  • Objekt-als-Portal-Übergänge
  • ein Swish, der vor jeder Bewegung landet, Risers, die auf Enthüllungen enden, Impulse bei Flash-Schnitten
  • eine Stimme, die auf einem hörbaren Musikbett sitzt

Eine Diashow mit einer generischen Stimme ist ein Fehlschlag, selbst wenn die Qualitätssicherung besteht.

Router: Lade die Anleitung, wenn du die Aufgabe erreichst

Lies nur, was der aktuelle Schritt benötigt:

Nicht verhandelbarer Workflow

0 Vorbereitung ─▶ 1 INTERVIEW (alle Fragen, einmal) ─▶ bestätigen ─▶ 2 Recherche + Trends + Referenzen (parallel)
  ─▶ 3 Assets + Bildschirmaufnahme + Stimme (parallel) ─▶ 4 Storyboard (du schreibst jedes Wort) ─▶ Gate
  ─▶ 5 Standbilder (Look) ─▶ 6 Rendern ─▶ 7 QA + PRÜFSCHLEIFE (korrigieren, neu rendern, wiederholen) ─▶ 8 Paketieren ─▶ 9 Finale Überprüfung ─▶ 10 Aufräumen (fragen)

Regeln:

  • Ein Interview, zu Beginn. Jede Frage, die den Benutzer benötigt, wird in Schritt 1 gestellt, einschließlich Stimme und Tonfall, Farben, die Bildschirmschritte, API-Schlüssel (mit Anleitung, wie jeder zu bekommen ist) und die optionalen Extras zur Installation. Nach fishvideo interview <verz> --confirm stellst du keine Fragen mehr. Entscheide aus den Antworten und dem Stilrezept. Kontaktiere den Benutzer nur in diesen Fällen erneut:

    • (a) eine optionale Station, die er in checkpoints gewählt hat
    • (b) eine Desktop-Aufnahme, die er durchführen muss; er hat dem im Interview zugestimmt, und du sagst ihm genau, wann er beginnen soll
    • (c) die finale Überprüfung
    • (d) Erlaubnis zum Aufräumen

    Wenn der Benutzer später etwas anderes sagt, folge dem Benutzer.

  • Schreibe niemals ein Drehbuch, bevor das Interview bestätigt ist. fishvideo script, all und vollständiges render verweigern die Ausführung, bis fishvideo gate bestanden ist.

  • Versende niemals Vorlagentext. Das Grundgerüst ist ein Skelett aus TODOs. Du schreibst jedes Bildschirmwort und jede Erzählzeile für dieses Video neu, sodass das Gate TODOs, v1-Standardphrasen („X, erklärt“, „in 60 Sekunden“, „Danke fürs Zuschauen“) und jede aus examples/ kopierte Zeile blockiert. Beispiele zeigen die Struktur, niemals den Inhalt.

  • Erklärungen erhalten ein Diagramm. Jedes goal: explain-Video benötigt mindestens einen diagram-, whiteboard-, neonline- oder split-Enthüllungsmechanismus in einer Szene. Eine Liste von Aufzählungspunkten ist keine Erklärung.

Schritt 0: Vorbereitung

Die Einrichtung (nur beim ersten Mal) steht in README.md: npm install, ein venv und pip install -r requirements.txt. Starte dann:

.venv/Scripts/python scripts/fishvideo.py doctor --keys      # Windows (macOS/Linux: .venv/bin/python)

Merke, welche Schlüssel und Extras fehlen. Du fragst genau danach in Interview-Runde 8.

Einrichtung für das beste Ergebnis (mache das, überspringe es nicht):

  • Installiere die Extras selbst. Wenn doctor ein fehlendes Extra anzeigt, installiere es in das venv der Fähigkeit, ohne den Benutzer dazu zu zwingen: pip install "rembg[cpu]" (Ausschneiden), pip install kokoro soundfile (natürliche lokale Stimmen) und pip install faster-whisper (richtet die eigene Sprachaufnahme des Benutzers aus). Führe auch fishvideo assets sfx-pack einmal aus, wenn die SFX-Bibliothek fehlt. Teile dem Benutzer in einem Satz mit, was du installierst und warum. Überspringe nur ein Extra, das der Benutzer in Runde 8 ablehnt.
  • Frage nach den API-Schlüsseln. Sie sind optional: alles funktioniert auch ohne sie über die kostenlosen Fallbacks. Sie liefern das beste Ergebnis: ElevenLabs gibt die natürlichsten Stimmen, Pexels/Pixabay geben die meisten Stockfotos und -videos, Freesound gibt die meisten Soundeffekte und die YouTube Data API liefert die Trend-Charts. Frage in Runde 8 nach den Schlüsseln, die für dieses Video wichtig sind, erkläre, wie man jeden bekommt (kostenlose Anmeldelinks sind in doctor --keys), und akzeptiere „nein“ oder „später“ ohne Druck. Mache dies nur im Interview, niemals, wenn die Erstellung begonnen hat.

Schritt 1: Das Interview (streng)

fishvideo new projects/<slug> --prompt "<die Anfrage des Benutzers, wörtlich>"
fishvideo interview projects/<slug>            # JSON: die offenen Fragen, gruppiert in 8 Runden

Der Fragenkatalog ist config/interview.yaml. Er hat 8 Runden und etwa 30 Fragen:

RundeThemen
1Zweck
2Form und Stil
3Farben, Typografie, Textur
4Stimme, Vortrag, Musik, SFX
5Echte Assets und Bildschirmaufnahme
6Inhalt, Fakten, CTA, Sprache
7Untertitel, Thumbnail, Freigaben
8API-Schlüssel und Extras

Nur ein Wort oder ein Bereich? Generiere vor Runde 1 5 trendige Ansätze parallel: yt suggest, yt search --recent-days 30 und trends (Haiku-Subagenten), folge Thema zu Video. Biete sie als topic-Frage an. Der gewählte Ansatz bestimmt alles danach.

Wie man fragt:

  • Frage eine Runde pro AskUserQuestion-Aufruf (bis zu 4 Fragen), verwende die Optionen genau wie aufgelistet. Empfohlene Optionen zuerst. „Andere“ ist immer verfügbar.
  • Freitext-Fragen (free_text: true) gehen in eine normale Nachricht für diese Runde, zusammen mit dem Multiple-Choice-Aufruf der Runde.
  • Überspringe eine Frage nur, wenn die Eingabeaufforderung sie bereits eindeutig beantwortet (from_prompt zeigt, was erkannt wurde), und zeichne sie trotzdem auf.
  • Zeichne jede Antwort auf: fishvideo interview <verz> --set style=paper-collage --set platforms='["shorts"]'. Antworten werden in brief.yaml abgebildet: die Palette geht zu brand.colors, die Stimmung zu Partitur und Tempo, die Stimme und der Vortrag zur Sprachkonfiguration und Nachbearbeitungskette, und der Stil zu Textur, Tempo und Motiv.
  • Stimme: Führe nach den Runden 4 und 6 (sobald Sprache und Vortrag bekannt sind) fishvideo voices <verz> --audition aus. Gib dem Benutzer die Dateipfade in build/auditions/, damit er sie abspielen kann, und lass ihn wählen. Dies ist immer noch Teil des Interviews.
  • Schlüssel: Biete nur die fehlenden Schlüssel an, die für ihre Antworten relevant sind. Erkläre, wie man jeden bekommt (der Text im Katalog) und was ohne ihn passiert. Wenn sie Schlüssel einfügen, zeichne sie mit --set keys_paste=... auf. Schlüssel gehen in das git-ignorierte .env der Fähigkeit und werden niemals zurückgegeben, protokolliert oder committet. Wenn sie Extras wählen, installiere sie jetzt in das venv (pip install "rembg[cpu]", kokoro soundfile, faster-whisper).
  • Lese schließlich fishvideo interview <verz> --summary dem Benutzer vor. Bitte um ein einfaches „ja, los“, führe dann --confirm aus.

Schritt 2: Recherche, Trends und Referenzen (parallel ausführen)

Starte diese als parallele Subagenten. Modell-Routing: Haiku für Abruf- und Suchdurchläufe, Sonnet für Analyse und Routinetasks, und du (Opus) für das Drehbuch, Storyboard, Designurteil und finale Überprüfung. Weise jeden Agenten mit dem Projektpfad und der genauen Ausgabedatei an, die er produzieren muss. Subagenten können möglicherweise keine Berichtsdateien schreiben; dann geben sie den Text zurück und du speicherst ihn.

AufgabeBefehlAgent
Fakten und QuellenWebsuche, dann fishvideo research <verz> --url ... → research/facts.mdhaiku
Trendsfishvideo trends <verz> --topic "<thema>" --region <IN/US> → research/trends.md (Titelformeln, Tags, Hooks, ideale Länge basierend auf dem, was gerade rankt)haiku
YouTube-Recherchenfishvideo yt search "<q>" -n 20 [--recent-days 30], yt info, yt subs, yt suggesthaiku
Referenzanalyse (jeder Link, den der Benutzer gegeben hat, plus 1-2 top-trendende Beispiele im gewählten Stil)fishvideo yt download <url> --purpose reference --project <verz>, dann fishvideo dissect <verz>/reference/<datei>.mp4 --out <verz>/reference/dissect --fps 4 [--vtt subs.vtt]. Lese jedes Blatt, das Spektrogramm und timeline.md, schreibe dann reference/analysis.md mit den neun Abschnitten von Referenzvideo-Analysesonnet (vision)

Aus den Analysen nimmst du Zahlen: Änderungsrate, Swish-Timing und -Pegel, Voice-over-Bed dB, Duck-Tiefe, Lautstärke, Untertitelstil. Schreibe sie in brief.yaml → match:, damit Storyboard und Mix ihnen folgen können. Kopiere Handwerk, niemals Inhalt.

Schritt 3: Assets, Bildschirm und Stimme (parallel ausführen)

Echte Assets (wenn assets.policy auf mixed gesetzt ist):

  • Suche: fishvideo assets search <verz> "<substantiv>" --kind photo|video|music|sfx [--providers wikimedia,pexels]. Öffne die Vorschauen in assets/_candidates/ und sieh sie dir an.
  • Lade herunter, was du auswählst: fishvideo assets get <verz> <IDs>. Jede Datei wird mit ihrer Lizenz in assets/credits.json protokolliert.
  • Erstelle Ausschnitte: fishvideo assets cutout in.jpg out.png (rembg mit isnet-general-use; niemals das nicht-kommerzielle Standardmodell).
  • Bereite B-Roll vor: fishvideo assets clip <verz> <datei> <clip_id> --start S --dur S gibt Bilder für die footage-Szene.
  • Erhalte einen CC-BY-YouTube-Abschnitt: fishvideo yt clip <url> <start> <end> <ziel> --project <verz>. Es lehnt Nicht-CC-Videos ab.
  • Erlaubte Lizenzen: CC0, PD, Pexels/Pixabay-Lizenzen, CC-BY und CC-BY-SA (mit Namensnennung). Niemals NC oder ND. Niemals ein Nicht-CC-YouTube-Video, das Filmmaterial eines Referenzvideos, ein Logo, das du nachzeichnest, oder das Abbild einer realen Person in irreführender Weise.

Bildschirm:

  • website: Liste die Aufnahmen unter captures: auf und führe fishvideo capture <verz> aus. Es filmt schreibgeschützt in virtueller Zeit.
  • desktop: fishvideo screenrec record <verz> <aufnahme> --seconds N [--window "Titel"] [--scale 2]. Bevor es beginnt, teile dem Benutzer genau mit, welche Schritte er ausführen soll. F8 setzt eine Markierung und F9 stoppt.
  • files: fishvideo screenrec import <verz> <aufnahme> recording.mp4.

Alle drei produzieren denselben Aufnahmeordner. Die tour-Szene (frame: inset) fügt den Glow-Cursor, Klickwellen und Klick-SFX, einen 1,6- bis 2-fachen Zoom auf den Cursor, einen Spotlight und SCHRITT-Karten hinzu. Nehme mit Skalierung 2 auf, damit Zooms scharf bleiben.

Musik:

  • Ein Bibliothekstitel: assets search <verz> "<brief.music.search>" --kind music, dann assets get, und lege die Datei in assets/music/ ab.
  • Oder hinterlasse die synthetisierte Partitur. Setze music.source: synth, um sie zu erzwingen.

SFX: Führe fishvideo assets sfx-pack einmal aus (Kenney CC0). Füge weitere mit assets search --kind sfx hinzu (Freesound CC0) nach assets/sfx/<cue-type>/.

Stimme: Schreibe die Erzählung (Schritt 4), führe dann fishvideo voice <verz> aus. Führe das Storyboard erneut aus, damit Szenen auf die echten Clips abgestimmt werden. Wenn der Benutzer seine eigene Erzählung aufgenommen hat, führe stattdessen fishvideo voiceover <verz> recording.wav aus: Es richtet die Aufnahme mit faster-whisper am Drehbuch aus und schneidet sie pro Zeile.

Emotion: Gib jeder Szene eine mood: (neugierig, angespannt, dringend, aufgeregt, warm, ernst, nachdenklich, triumphierend, neutral). Es setzt Geschwindigkeit und Tonhöhe pro Zeile und Stil bei ElevenLabs. Die Zeichensetzung formt den Vortrag bei jeder Engine: ... pausiert, ? und ! heben an, kurze Sätze treffen. Variiere die Stimmung über die Abschnitte: Ein gleichmäßiger Ton über 40 Sekunden hinweg ist die „generische Stimme“-Beschwerde. Stille Strecken innerhalb einer Zeile werden automatisch geschnitten (pacing.max_word_gap).

Musik-Timing: Führe für einen Bibliothekstitel fishvideo beats <track> aus. Setze das bpm des Storyboards auf sein Tempo und music.offset so, dass ein Beat oder der Drop auf deine größte Enthüllung fällt.

Bildschirmaufnahmen: Führe fishvideo screenrec tighten <verz> <aufnahme> aus, um Leerlaufstrecken zu beschleunigen. Lasse den Zuschauer niemals auf einen Lade-Spinner warten.

Schritt 4: Storyboard (du schreibst es)

Führe fishvideo script <verz> aus. Es erstellt storyboard.yaml aus dem Stilrezept (config/styles.yaml, Stil-Rezepte) als Beat-Skelett voller TODOs. Seine Timings sind Platzhalter. Schreibe es dann richtig aus, in dieser Reihenfolge:

  1. Ersetze jedes TODO: Kopie, Parameter und Erzählung. Die Tabelle oben im Szenen-Katalog listet die erforderlichen Parameter auf.
  2. Schreibe brief.purpose und brief.storybeat so, dass sie eine emotionale Reise formen – Aufbau, Wendepunkt, Auflösung.
  3. Setze music.offset und passe music.energy an die Beat-Struktur an.
  4. Für jedes mood lege pacing.phrase_rush und pacing.pause fest.
  5. Schreibe jedes caption-Feld: Text, Stil, Animation. Der Leitfaden zu Untertiteln & Typografie erklärt, wie man Wort-für-Wort-/Phrasen-Sprung-Untertitel macht.
  6. Setze jeden camera.move (zoom, pan, tilt, dolly, rotate_around) mit Stärke (subtle, medium, dramatic) und Timing (pre_action, during, post_reveal, continuous). Die Kamera sollte niemals stillstehen.
  7. Überprüfe auf dem Gate: fishvideo gate <verz>. Es lehnt ab bei fehlenden TODOs, Standardphrasen, Aufzählungen anstelle einer Erklärung oder unvollständigen Parametern.

Schritt 5: Standbilder (Look)

fishvideo stills <verz> --frames key_scenes rendert ein Standbild pro Szene als PNG in build/stills/. Öffne sie, bestätige sie oder markiere Änderungen. Wiederhole Schritt 4 bei Bedarf und rendere stills erneut, bis der Look genehmigt ist.

Schritt 6: Rendern

fishvideo all <verz> rendert alles:

  • Video (Szenen, Übergänge, Animationen, Audio, Untertitel, Thumbnail)
  • video/ mit dem finalen MP4
  • thumbnails/
  • description.md (Titel, Beschreibung, Tags, Credits)

Rendern anhalten und fortsetzen: fishvideo all <verz> --resume.

Schritt 7: QA und Überprüfung

fishvideo qa <verz> läuft automatisch. Überprüft:

  • Länge (Kurzvideo-Grenzen)
  • Seitenverhältnis und Auflösung
  • Durchschnittliche Hörlautstärke
  • Tonisolation (Stimme klar hörbar über Musik, Hörbarkeit auf Handy-Lautsprechern)
  • Untertitel-Genauigkeit
  • Lizenzeinhaltung
  • Keine verbleibenden TODOs, Standardphrasen oder leeren Szenen
  • Cursorpfad für Bildschirmaufnahme (kein Springen, gleichmäßige Geschwindigkeit, minimale Hover-Zeit)

Wenn QA fehlschlägt, korrigiere und rendere neu. Wenn QA besteht, starte deine eigene Überprüfung:

  • Stimmen die Animationen mit den Mustern aus match: überein? (Änderungsrate, Swish-Timing, Betthörbarkeit)
  • Ist das Erklärungsdiagramm klar und vollständig?
  • Sind die Übergänge glatt?
  • Passt die Musik zur Stimmung?
  • Sieht es aus wie ein Short, der gerade rankt? Wenn nicht, korrigiere (Steps 4–6).

Schritt 8: Paketieren

fishvideo package <verz> erstellt:

  • build/publish/<slug>.mp4 (finales Video)
  • build/publish/thumbnail.jpg (Thumbnail)
  • build/publish/description.md (Titel, Beschreibung, Tags, Lizenz-Credits)
  • build/publish/report.json (Dauer, Formate, Lizenzen, Änderungsanzahl)

Schritt 9: Finale Überprüfung

Zeige dem Benutzer die Dateien und frage: „Sieht das gut aus? Möchtest du etwas ändern?“

Wenn er etwas ändern möchte, korrigiere es und führe fishvideo all <verz> erneut aus.

Wenn er es genehmigt, frage: „Soll ich jetzt die Arbeitsdateien löschen? (Nur das publish/-Verzeichnis bleibt erhalten.)“

Schritt 10: Aufräumen

fishvideo clean <verz> löscht build/, assets/, research/, reference/ und captures/. Es wird nur nach Bestätigung ausgeführt. publish/ bleibt immer erhalten.

Individual skills in this repo

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

Verwandte Skills