/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 initodernpx hyperframes skillsaus (sie installieren Skills in~/.claude/skills). Jeder HyperFrames-Aufruf:HYPERFRAMES_SKIP_SKILLS=1 HYPERFRAMES_NO_TELEMETRY=1. Immersnapshot ... --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 nachexports/. 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
#C41514ist 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").
- Willkommen. "Willkommen beim Kallaway-Editor! Lass mich dich einrichten. Das dauert etwa 5-10 Minuten und passiert nur einmal."
- 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.
- 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. - 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
~/Downloadsvor (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 inDATA/config.json.
- "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
- Installieren. "Installiere jetzt die kostenlosen Bearbeitungswerkzeuge (einmalig, ca. 5 Minuten: eine Transkriptions-
engine, der Video-Renderer, Soundeffekte und ein Sprachmodell)." Führe
SETUPim 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. - 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, optionalsrc+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.