Communitygithub.com

learnaiwithhugo/video-editor-skills

Bearbeite einen rohen Talking-Head-Clip zu einem fertigen Instagram-Reel im Kallaway-Stil (schwarze, gepunktete Bühne mit einem Live-Diagramm pro Idee, abgerundete Gesichtskarte mit dem Kopf, der über den Rand ragt, ein-Wort-weiße Untertitel, Rot als einzige Akzentfarbe, harte Schnitte auf Wortanfängen, ein echtes Soundeffekt bei jeder Animation, optional leise, geduckte Hintergrundmusik). Nur kostenlose lokale Tools (ffmpeg, Whisper, HyperFrames). Verwende, wenn jemand "/kallaway-edit", "edit this like Kallaway", "make this reel in the Kallaway style" sagt oder rohe Clips ablegt und eine Kallaway-ähnliche Bearbeitung wünscht.

Was ist video-editor-skills?

Dieses Skill ermöglicht die automatisierte Erstellung von Instagram-Reels im unverwechselbaren Kallaway-Stil aus rohen Talking-Head-Aufnahmen. Es analysiert die Clips, wählt die besten Takes aus, schneidet sie auf den Inhalt zu, erstellt animierte Diagramme, fügt Untertitel und Soundeffekte hinzu und rendert das finale Video – alles mit kostenlosen, lokalen Tools wie ffmpeg, Whisper und HyperFrames. Der Workflow ist in sieben übersichtliche Schritte unterteilt, die von der Einrichtung über die Bearbeitung bis zur Qualitätskontrolle reichen. Besonders nützlich ist die Fähigkeit, den Stil anhand von Referenzvideos zu bewerten und Abweichungen zu melden. Das Skill ist für die Verwendung mit Claude Code, Cursor oder anderen KI-gestützten Entwicklungsumgebungen konzipiert, die Shell-Befehle ausführen und auf lokale Dateien zugreifen können. Es erfordert keine technischen Kenntnisse beim Benutzer und kommuniziert in einfacher, klarer Sprache.

Funktioniert mit✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/learnaiwithhugo/video-editor-skills/tree/HEAD/skills/kallaway-edit

In Ihrer bevorzugten KI fragen

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

Dokumentation

/kallaway-edit

Rohe Clips rein, fertiges vertikales Reel raus (1080x1920, 30 fps, -14 LUFS), im Kallaway-Stil. Alles läuft auf dem Mac des Benutzers mit kostenlosen Tools. Die Person, die dies verwendet, ist in der Regel NICHT technisch: Sprich mit ihr in einfachem Deutsch, eine kurze Nachricht pro Schritt, und lass sie niemals Code anfassen.

SK = ${CLAUDE_SKILL_DIR}, der Ordner dieses Skills (niemals hineinschreiben: Ein Update ersetzt ihn). DATA = $HOME/.claude-video-editor, der eigene Ordner des Editors, der über Updates hinweg erhalten bleibt: die Einstellungen des Benutzers (DATA/config.json), das Python des Editors (DATA/venv), die Soundeffekte (DATA/sfx). ROOT = der Projektordner (hat raw/, exports/): der projectRoot in DATA/config.json, gespeichert vom Einrichtungsassistenten (Schritt 0). WORK = ROOT/work/<slug>/ (ein Ordner pro Reel; der Slug ist kurz und in Kleinschreibung mit Bindestrichen, z.B. opus-tips). Setze jeden Pfad in Anführungszeichen: Sie enthalten oft Leerzeichen. Führe jedes Skript genau wie beschrieben über einen dieser beiden aus, damit es die Einstellungen des Benutzers findet: PY = VIDEO_EDITOR_DATA="$HOME/.claude-video-editor" "$HOME/.claude-video-editor/venv/bin/python" -I (nach der Einrichtung) SETUP = VIDEO_EDITOR_DATA="$HOME/.claude-video-editor" python3 -I "${CLAUDE_SKILL_DIR}/scripts/setup.py" Lies diese vor dem Bauen: references/style-rules.md (das Aussehen, als Zahlen), references/graphics-recipes.md (wie aus einer gesprochenen Idee ein Diagramm wird), references/gotchas.md.

Harte Regeln

  • Nur kostenlose Tools. ffmpeg, Node 22+, Python, HyperFrames (npx hyperframes@<pinned>), faster-whisper, HyperFrames' lokale Hintergrundentfernung, die gebündelten OFL-Schriftarten, die aufgezeichneten Soundeffekte von HyperFrames media-use (bei der Einrichtung abgerufen, niemals gebündelt: Pixabay-Lizenz) und CC0/CC BY Musik von Openverse oder der eigenen Spur des Benutzers. Keine kostenpflichtigen APIs, kein HeyGen-Login, keine Musikgenerierung, nichts Urheberrechtlich Geschütztes.
  • Optionen, die der Benutzer angeben kann: music: on|off (Standard: die bei der Einrichtung gespeicherte Wahl), music: <Pfad zur eigenen Spur>, setup (Einrichtungsassistent erneut ausführen).
  • Führe niemals npx hyperframes init oder npx hyperframes skills aus (sie installieren Skills in ~/.claude/skills). Jeder HyperFrames-Aufruf: HYPERFRAMES_SKIP_SKILLS=1 HYPERFRAMES_NO_TELEMETRY=1. Immer snapshot ... --describe false (sonst werden Frames zu Gemini hochgeladen).
  • Fasse niemals das Originalmaterial des Benutzers an. Arbeite mit Kopien in raw/. Arbeitsdateien kommen nach WORK; nur fertige Reels kommen nach exports/. Lösche niemals die Dateien des Benutzers.
  • Untertitel zeigen, was tatsächlich gesagt wurde, richtig geschrieben ("Claude", "Opus 5.5"), Ziffern für Zahlen.
  • Grafiken verdecken niemals das Gesicht; Text niemals unter y 1470 oder in den rechten 100 px unter y 1155.
  • Nichts animiert heraus. Rot #C41514 ist die einzige Akzentfarbe. Ein kursives Wort mit Serifen pro Titel und pro Abschnitt.
  • Zeige deine Arbeit: Lege bei jedem Schritt ein nummeriertes PNG in WORK/progress/ ab (01-takes-picked.png, ...).
  • Überprüfe den ENDGÜLTIGEN Render mit qa.py, in voller Größe, bevor du sagst, dass er fertig ist. Sei ehrlich, was nicht übereinstimmt.

Der Arbeitsablauf

0. Einrichtungsassistent (nur beim ersten Mal, ~5-10 Min.)

Lies DATA/config.json. Wenn es "setupComplete": true enthält und sein projectRoot-Ordner existiert, führe SETUP --check aus (Sekunden, installiert nichts); bei BEREIT gehe zu Schritt 1, bei NICHT BEREIT behebe, was es nennt (nach einem Update, das eine neue Tool-Version benötigt, ist das nur erneutes SETUP: Die Ordner und Entscheidungen des Benutzers bleiben erhalten). Andernfalls (erster Start, oder der Benutzer sagt "/kallaway-edit setup") führe den Assistenten aus. Sage ihnen, bei welchem Schritt du bist, in einer kurzen Zeile ("Schritt 2 von 5: Überprüfe deine Werkzeuge").

  1. Willkommen. "Willkommen beim Kallaway-Editor! Lass mich dich einrichten. Das dauert etwa 5-10 Minuten und passiert nur einmal."
  2. Sind wir in Claude Code? Dies benötigt Claude Code (die Terminal-App, den Code-Tab in der Claude- Desktop-App oder eine IDE-Erweiterung), geöffnet in einem lokalen Ordner, weil es echte Videodateien bearbeitet. Wenn du Shell-Befehle ausführen und lokale Dateien lesen kannst, bist du hier richtig. Wenn nicht (ein normaler Chat), sage: "Öffne die Claude Desktop-App, klicke auf Code, wähle Lokal, wähle einen Ordner (oder erstelle einen namens KI-Video-Editor), dann gib /kallaway-edit erneut ein." Dann stoppe.
  3. Werkzeugprüfung. SETUP --check. Zeige das Ergebnis als kurze Tabelle: Werkzeug, gefunden ja/nein, wofür es ist (ffmpeg schneidet und mischt Töne; Node.js führt HyperFrames aus; HyperFrames verwandelt den Schnitt in ein Video; faster-whisper hört jedes Wort; Python führt die Hilfsskripte aus; yt-dlp ist optional hier, es lädt Reels von Links herunter, und /new-edit-style braucht es). Bei allem, was der Benutzer selbst installieren muss (ffmpeg, Node.js, Python), gib die eine Zeile mit den Fix-Namen an und sage, wo sie eingefügt werden soll: die Terminal-App (Mac: Command + Leertaste, Terminal eingeben). Wenn es nach dem Mac-Passwort fragt, geben sie es selbst dort ein, niemals in diesem Chat. Warte, bis sie sagen, dass es fertig ist, dann überprüfe erneut. Elemente, die als "die vollständige Einrichtung installiert es" markiert sind, benötigen nichts von ihnen.
  4. Wo die Dinge leben. Frage in einer Nachricht, jeweils mit einem Vorschlag:
    • "Wo soll ich deine Videos speichern?" Schlage das aktuelle Verzeichnis vor, wenn es leer ist oder bereits ein Video- Ordner ist (zeige den vollständigen Pfad), andernfalls ~/Desktop/AI video editor.
    • "Wo landen deine Aufnahmen normalerweise?" Schlage ~/Downloads vor (wo AirDrop Telefonclips ablegt), oder "Ich werde die Clips selbst in den raw-Ordner legen".
    • "Hintergrundmusik unter deiner Stimme: an oder aus?" Schlage an vor (sie können es pro Video ändern). Biete dann die Ordner an: "Möchtest du, dass ich deinen Projektordner einrichte? Ich erstelle raw/ (deine Clips), references/ (Videos, deren Stil dir gefällt), exports/ (fertige Reels), work/ (meine Arbeitsdateien) und archive/ (alte Versionen). Alles, was bereits da ist, bleibt unberührt." Bei Ja: SETUP --project "<ordner>" --clips-from "<ordner oder weglassen>" --music on|off. Es erstellt nur fehlende Ordner und speichert die Antworten in DATA/config.json.
  5. Installieren. "Installiere jetzt die kostenlosen Bearbeitungswerkzeuge (einmalig, ca. 5 Minuten: eine Transkriptions- engine, der Video-Renderer, Soundeffekte und ein Sprachmodell)." Führe SETUP im Hintergrund aus und gib seine Fortschrittszeilen in einfachen Worten weiter. Es installiert nur in DATA (nichts global, nichts im Skill-Ordner, sodass Updates es nie rückgängig machen) und markiert die Einrichtung als abgeschlossen, wenn es fertig ist.
  6. Fertig. Gib die 4 Filmtipps aus references/filming-guide.md (fixierte Kamera, Weitwinkelaufnahme, dunkler Raum mit einem warmen Licht auf deinem Gesicht, wiederhole eine Zeile, bis sie sitzt), dann: "Du bist bereit. Lege deine Clips in raw/ ab (oder sag mir, welche Dateien in ) und sage /kallaway-edit." Wenn sie bereits Clips gegeben haben, fahre direkt mit Schritt 1 fort.

Bei jeder Ausführung: Clips sind die vom Benutzer genannten Dateien; ansonsten frage und biete die neuesten Videodateien in clipsFrom an. Kopiere sie in ROOT/raw/ (verschiebe oder ändere niemals die Originale). Musik folgt der music-Auswahl, sofern der Benutzer nichts anderes sagt.

1. Jeden Take finden (~1 Min. pro Minute Filmmaterial)

PY "SK/scripts/takes.py" "WORK" "ROOT/raw/clip1.MOV" "ROOT/raw/clip2.MOV" (füge --fast für einen schnelleren, weniger genauen Durchgang hinzu). Lese WORK/takes/*.takes.txt: jeder Versuch mit seinem Zeitbereich, Wiederholungen markiert. Frage nach (oder suche in den Clips) dem Skript, falls vorhanden. Sage: "Höre deine Clips an und finde den besten Take jeder Zeile."

2. Takes auswählen und schneiden (~1 Min.)

Schreibe WORK/edl.json (Format: SK/template/examples/edl.json): ein Segment pro Zeile, in Skript-Reihenfolge, normalerweise der LETZTE vollständige, saubere Take. Verwende {"clip","chunk"} oder {"clip","start","end"} (um innerhalb eines Chunks ein Stolpern zu überspringen; überprüfe Wortzeiten mit transcribe.py --range a-b --model medium.en --no-vad). Ziel 20-30 s; ein wenig darüber hinauszugehen (bis ~38 s) ist besser, als ein Versprechen zu brechen, das der Haken macht. Überspringe CTAs, sofern nicht gewünscht. Dann PY "SK/scripts/assemble.py" "WORK": cut.mp4 (CFR, eng an der Stimme, komprimiert, -14 LUFS), segments.json, words.json, words.txt. Lese words.txt: Jede Zeile muss das Gesagte korrekt wiedergeben. PY "SK/scripts/qa.py" "WORK" --takes schreibt progress/01-takes-picked.png. Sage: "Hier ist der Schnitt: . Sekunden." Stelle den Schnitt fest, bevor du Grafiken baust. Wenn du später neu schneidest: PY "SK/scripts/reindex.py" "WORK" "WORK/.prev/words.json" hält jede Grafik auf ihrem Wort.

3. Den Sprecher ausschneiden (~3-4 Min., im Hintergrund ausführen)

PY "SK/scripts/cutout.py" "WORK": cutout.webm (framegenau angepasst, Kanten gereinigt) + headtrack.json. Während es läuft, plane den Schnitt (Schritt 4). Sieh dir dann einen Frame über Schwarz auf Heiligenscheine an und speichere ihn als progress/02-cutout-check.png.

3b. Musik (außer music: off; ~2-6 Min., im Hintergrund ausführen)

PY "SK/scripts/music.py" "WORK" (oder --file "<ihr Lied>", oder --off). Es wählt ein freies CC0/CC BY Instrumental von Openverse aus, lehnt Gesang ab und schreibt WORK/music-credit.txt. Sage dem Benutzer, was es ausgewählt hat, und bei CC BY, dass die Credit-Zeile in die Bildunterschrift kommt.

4. Den Schnitt planen, Zeile für Zeile

Schreibe WORK/plan.json (Format: SK/template/examples/plan.json):

  • shots: wo jedes Layout beginnt (0, "line:N" = erster Frame der EDL-Zeile N, "w:N" = Einsatz des Wortes N). Bühne für alles, was gezeigt werden kann; Vollbild für verbindende/persönliche Zeilen und den Höhepunkt (16-29% der Laufzeit). Harte Schnitte auch zwischen Bühnenszenen. Erster Schnitt nach ca. 3,5 s.
  • scenes: welche Grafik wann spielt (id, from, to, optional src + vars, um eine Szenendatei mehrmals einzubinden, z.B. eine wiederkehrende nummerierte "Home"-Grafik). Eine Szene kann unter einer Vollbildaufnahme laufen und zurückkommen (ein erneuter Besuch fügt in 0,6 s eine neue Sache hinzu).
  • punch: Schnapp-Hereinzooms (x1,19, Anstieg hinein) auf eine Schlussphrase, höchstens ein oder zwei.
  • captions: fix (Wortindex -> korrekter Text), emphasis (ein Serifenwort pro Abschnitt), keep_together (Wortindex-Paare, z.B. "Zahl" + "1,"). Verwende graphics-recipes.md: Jede Idee bekommt eine Form, einen Titel (fett + eine kursive Serifen-Akzent, die Behauptung in einer roten Box) und Beats auf ihren Wörtern, etwas Neues alle ~1 s. Gib den Plan in einer Zeile pro Einstellung zurück.

5. Die Szenen bauen (~15-25 Min.)

Jede Szene ist WORK/scenes/<name>.html, gestartet von SK/template/scene-starter.html oder der nächsten Datei in SK/template/examples/ (sechs echte Szenen). Das Kit (template/kit/kw.css, kw.js) bietet das Bühnenbild und Bewegungshelfer (KW.title, blurIn, pill, pulse, draw, cam, type, strike, count, scramble; at(i) = Einsatz von Wort i). JEDE Animation bekommt ihren Soundhinweis im Scene-Kommentar <!--KW:SFX [...] -->, z.B. {"t": "w:24-0.02", "s": "whoosh"}, gemäß references/sound-map.md (Kamerabewegung = whoosh, Pille = pop, Schnapp/Klick = click, getippter Text = typing, großer Moment = impact, Höhepunkt = sparkle). Wenn du das Agent-Tool und mehr als ~3 Szenen hast, übergib Szenen an bis zu 2 parallelen Agenten mit: der genauen Wortliste und Zeiten der Szene, der Idee, den Referenzen dieses Skills und build.py ... --project WORK/project-<letter>, damit sie sich nie überschneiden. PY "SK/scripts/build.py" "WORK" schreibt WORK/project/ (Root: gepunktete Bühne, Gesichtskarte, Pop-Out- Ebene, Untertitelspur, Szenen-Hosts, SFX-Spur, alles generiert). Dann in WORK/project: npx -y hyperframes@<pin> lint (0 Fehler) und snapshot --at <zeiten> --no-end --describe false -o snaps/x, lies die PNGs, korrigiere, wiederhole. Speichere das Datenblatt jeder Szene als progress/03-scene-.png.

6. Rendern (~1 Min.) und prüfen (~1 Min.)

PY "SK/scripts/render.py" "WORK" --name draft (schnell), dann PY "SK/scripts/qa.py" "WORK" "WORK/renders/draft.mp4" und SCHAU dir qa/cuts.png an (Frame vor/nach jedem Schnitt), qa/beats.png (jeder Untertitel-Chunk), qa/report.txt (Schnitt-Sprach-Lücken, Lautstärke). Prüfe: Pop-Out hat keinen Heiligenschein oder Drift nach Schnitten; die Karte zeigt Kopf UND Schultern (niemals ein Gesicht- ausschnitt); kein Untertitel oder Grafik auf dem Gesicht; Untertitel passen zu den Worten; jeder Zeilenschnitt landet 0-80 ms vor dem Sprechen; nichts in den Instagram No-go-Zonen. Dann PY "SK/scripts/audiomap.py" "WORK" --out progress/NN-audio-map.png: Musik 18-24 dB unter der Stimme, Effekte ~10-16 dB unter ihrem lokalen Peak, keine Doppeltreffer; korrigiere jede markierte Andeutung mit "db": -3. Stilabgleich: PY "SK/scripts/match/fingerprint.py" score "SK/references/style-spec.json" "WORK/renders/draft.mp4" --out "WORK/progress/NN-style-match.md" misst den Schnitt genauso wie die 3 Kallaway-Reels gemessen wurden (Schnittrate, visuelle Änderungen pro Sekunde, Layout-Anteile, Karten- und Untertitelposition, Untertitelgröße und -tempo, Akzentfarbenanteil, Lautstärke, Stereo-Soundeffekte) und sagt, was für jedes FEHLER zu beheben ist. Behebe das, was der Schnitt steuern kann; ein durch das Filmmaterial verursachtes FEHLER (ein nahes Selfie) geht als Filmhinweis an den Benutzer. Der Bericht in WORK/progress/ ist die Aufzeichnung (SK/references/lock-log.md enthält die gemessene Historie des Stils; lasse es unverändert). Korrigiere und rendere erneut (ein Neubau + Neurender dauert ~1,5 Min.).

7. Ausliefern

PY "SK/scripts/render.py" "WORK" --final -> exports/<slug>-kallaway-vN.mp4 (1080x1920) plus -720p.mp4 Telefon-Kopie. Führe qa.py auf dem Export aus. Wenn der Benutzer ein eigenes Kallaway-Reel in ROOT/references/ gespeichert hat (keines wird mit diesem Skill ausgeliefert), füge eine Seite-an-Seite-Ansicht hinzu (--ref <dieses Reel> --ref-at <t> --at <t>) und speichere sie als progress/NN-side-by-side.png. Sage: wo die Datei ist, wie lang sie ist, was sie Szene für Szene enthält und was noch nicht so aussieht wie Kallaway (sei spezifisch und ehrlich).

Zeitangaben (auf einem M4 Pro Mac, 35 s Reel aus ~8 min Rohmaterial)

Einrichtung 5 Min. (erstes Mal) · Takes 7 Min. (medium-Modell; --fast ~3) · Schnitt 1 Min. · Ausschneiden 3,5 Min. · Musik 2-6 Min. (im Hintergrund; Openverse/Freesound kann langsam sein) · Szenen 15-25 Min. · Entwurf-Render 50 s · Finaler Render 70 s · Neurender nach einer Bearbeitung ~1,5 Min.

Filmen

Gib references/filming-guide.md an jeden, der gerade filmen wird: statische Weitwinkelaufnahme (horizontal 4K ist am besten), dunkler Raum mit einem warmen Hauptlicht, dunkles Oberteil, schlichter Hintergrund hinter dem Kopf, wiederhole eine Zeile, bis sie sitzt.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

learnaiwithhugo/video-editor-skills

Style Studio. Walks a creator (usually non-technical) through building their OWN video editing style on an interactive page in their browser - their colours and font, reference reels they love broken down frame by frame, then rounds of real animated options (captions, accent and intro text, zooms, diagrams, logos, split screen, tool talk, sound effects) they mark Keep / Maybe / Drop, plus Shine, Zoom and Shadow labs with Lock buttons. Ends with a STYLE.md guide and locked settings that /edit-my-video uses. Use whenever someone says "/build-my-style", "build my style", "make my editing style", "style studio", "I want my own edit style", "copy the editing style of these reels", "make my brand style for videos", sends reels they want their edits to look like, or comes back to carry on their style (rounds, labs, sounds). Also the STYLE keyword giveaway.

learnaiwithhugo/video-editor-skills

Edit raw talking-head clips into a finished vertical Instagram reel in the creator's OWN style, read from a style folder made by build-my-style (STYLE.md, locked shine/zoom/shadow, picked sound effects). Picks the last clean take of every line, shows a storyboard page first (a still per beat, A/B/C options on the key beats, Approve/Change and notes), optionally renders short variations of key moments to pick from, then builds the full edit in HyperFrames, reviews its own render, and turns every note the user gives into a dated rule in their STYLE.md so the next edit is better. Free local tools only. Use whenever someone says "/edit-my-video", "edit my video", "edit these clips", "make this into a reel in my style", "storyboard this edit", drops a folder of raw clips and wants an edit, or gives notes on an edit this skill made ("I don't like the zoom", "make the logos bigger").

learnaiwithhugo/video-editor-skills

Create a new editing-style skill from 2-3 reference reels of one creator or style (e.g. "make me a skill that edits like @creator"). Downloads the reels, measures them frame by frame, has one agent break down each reel, merges the breakdowns into a style guide plus a measurable style spec, clones the proven editing engine into a new /<style>-edit skill, then locks the style with a match score, pixel font matching, a golden recreation test, one critic round and the user's ear check. Free local tools only. Use when someone says "/new-edit-style", "make an edit style skill", "copy this creator's editing style", "I want to edit like X", or drops several reels from one creator and asks for their style.

Verwandte Skills