Communitygithub.com

lalimi/claude-reelsmith

Erstellt ein fertiges Voice-Over-Reel (Instagram Reels / TikTok / Shorts, 1080×1920, 25–70 s) aus einer einzigen reel.json – mit eigenen Clips und Fotos, Voice-Over, Untertiteln mit Akzentwörtern, Hook-/Endkarten, Stempeln, Punch-Ins, Übergängen und Bewegungseffekten, Musikbett, −14 LUFS-Mix, QA-Sicherheitszonen-Blatt, Cover und Caption.

Was ist claude-reelsmith?

ReelSmith ist ein KI-gestütztes Tool zur Erstellung von professionellen Voice-Over-Reels für Kurzvideo-Plattformen wie Instagram Reels, TikTok und YouTube Shorts. Es akzeptiert eine strukturierte `reel.json`-Datei, die das gesamte Reel beschreibt: Voice-Over (eigene Aufnahme oder ElevenLabs), segmentierte Clips und Fotos, Untertitel mit automatischen Wortzeiten und Akzentfarben, sowie eine Reihe von Effekten wie Cover Story, Orbit-Text, Doodle Boil, Glas-Titel, Checklisten, Headline Wall, Schwarz-Weiß→Farbausbrüche und Foto-Montagen. Musik wird synthetisch erzeugt oder als benutzerdefinierter Track hinzugefügt, gefolgt von einem automatischen −14 LUFS-Loudness-Mix. Der Arbeitsablauf umfasst eine `--stills`-Vorschau zur Überprüfung von Untertiteln und Sicherheitszonen (rote UI-Bereiche von Reels/TikTok), bevor der finale Render durchgeführt wird. Das Tool ist so konzipiert, dass es nach der Skriptfreigabe und der Bereitstellung des Filmmaterials etwa 10 Minuten Aufmerksamkeit des Erstellers pro Reel erfordert. Zu den unterstützten Plattformen gehören macOS (für Person-Masken-Features) und jede Umgebung mit Python/FFmpeg. Die wichtigsten Befehle sind `reelsmith new`, `reelsmith sheet`, `reelsmith build` und `reelsmith stills`.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lalimi/claude-reelsmith/tree/HEAD/skills/reel-builder

In Ihrer bevorzugten KI fragen

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

Dokumentation

Reel-Builder

Engine: $(reelsmith root)/engine/ (build.py, template.html, music.py, pull_vo.py, capcut.py, fonts/). Ein Ordner pro Reel: <reel-dir>/reel.json → <reel-dir>/out/reel.mp4. Wenn reelsmith sagt, dass es nicht eingerichtet ist, führe einmal reelsmith setup aus.

reelsmith new reels/my-reel            # Ordner mit src/, vo/ und einer Vorlage reel.json
reelsmith sheet reels/my-reel/src/*    # Kontaktabzüge → wähle `ss` für jedes Segment
reelsmith build reels/my-reel --stills # ~1 Min: Frames, Wortzeiten, Untertitel, out/qa_sheet.jpg
reelsmith stills reels/my-reel 0.5,7.8,21.3   # zusätzliche Kontrollframes
reelsmith build reels/my-reel          # vollständiger Render (~4–5 Min für 60 s)

Führe immer zuerst --stills aus: Lies die gedruckte Untertitelliste und sieh dir out/qa_sheet.jpg an (rot = Reels/TikTok UI-Zonen; nichts Wichtiges darf in Rot liegen). Korrigiere reel.json, dann baue. Überprüfe die Lautstärkezeilen am Ende (−14 LUFS ±1, Spitze ≤ −1 dB). Sieh dir dann Frames des endgültigen MP4 um jeden Effekt und Übergang herum an, bevor du es übergibst.

Arbeitsablauf (Zeitaufwand des Erstellers ≈ 10 Min pro Reel)

  1. Skript: reel-script-Fähigkeit → Ersteller genehmigt. Markiere Akzentwörter mit <em>…</em>; behalte Zahlen als Ziffern für die Anzeige.
  2. Stimme: entweder die eigene Aufnahme des Erstellers (vo/vo.mp3) oder ElevenLabs (siehe docs/voice.md): TTS-Text = Skript ohne Tags, Zahlen ausgeschrieben, Markennamen phonetisch geschrieben. Im kostenlosen Plan im ElevenLabs Web-UI generieren (Claude in Chrome kann es steuern), dann reelsmith voice <reel-dir> zieht die 2 neuesten Takes in vo/ mit Dauer. Transkribiere beide, behalte den saubereren als vo/vo.mp3. Langsame Stimmen: "speed": 1.07 in vo.
  3. Filmmaterial: footage-scout-Fähigkeit — nur frische Clips (prüfe used_footage.md), Kontaktabzüge, Datenschutzprüfung. Die Segmentdauern müssen sich zum Voice-Ende + ~2 s summieren.
  4. Schnittplan: reel-director-Fähigkeit wählt die 3–5 Effekte für diese Geschichte und wo die Übergänge hingehen.
  5. Schreibe reel.json → --stills → korrigieren → bauen → liefere out/reel.mp4 + out/cover.jpg + out/caption.txt.
  6. Optionaler Sound-Durchgang in CapCut: reel-capcut-Fähigkeit (Bibliotheks-Soundeffekte + nach Gehör ausgewählte Musik).

reel.json

{
  "vo": {"file": "vo/vo.mp3", "offset": 0.25, "speed": 1.07, "gaps": [[5.73, 0.8]]},
  "script": "Ich schreibe meinen Leitfaden seit drei Monaten um und gestern habe ich die Cover-Schriftart <em>zum vierten Mal</em> geändert. …",
  "hook": {"tag": "das Ewige-Entwurf-Szenario", "lines": ["der Leitfaden ist fast fertig.", "<em>seit drei Monaten jetzt</em>"], "out": 5.55},
  "end": {"from": 55.6, "lines": ["wie lange wartet", "<em>deiner schon?</em>"], "lines_at": [55.75, 56.6],
          "sub": "sag es mir in den Kommentaren", "sub_at": "@comments", "handle": "@yourhandle", "handle_at": 58.6},
  "cover": {"from": 0, "to": 4.35, "title": "ENTWURF", "left": "Nr.4 · Oktober", "right": "@yourhandle", "top": 330},
  "cover_t": 2.0,
  "stamps": [{"seg": ["I", "J"], "text": "tanya · 2 Jahre in Entwürfen"}],
  "punch": [[3.02, 4.4], ["@thousand", 9.0]],
  "segments": [
    {"id": "A", "clip": "src/night_desk.mp4", "ss": 9.5, "dur": 2.5, "crop": [0, 0.196, 0.75], "cut": true},
    {"id": "B", "clip": "src/keys.mp4", "ss": 1.3, "dur": 1.9, "move": "none"},
    {"id": "E", "clip": "src/phone_walk.mov", "ss": 0.8, "dur": 4.5, "cut": true, "in": "zoom"},
    {"id": "I", "clip": "src/cafe.mp4", "ss": 0.3, "dur": 3.2, "look": "bw"},
    {"id": "K", "clip": "src/walk.mov", "ss": 14.0, "dur": 4.95, "look": "burst"},
    {"id": "N", "clip": "src/breakfast.mov", "ss": 0.0, "dur": 3.45, "rate": 0.4},
    {"id": "Q", "clip": "src/meadow.mov", "ss": 13.2, "dur": 9.1, "move": "pull-out", "in": "zoom"}
  ],
  "caption": "…",
  "music": "synth"
}

Ein vollständiges reales Beispiel (Ukrainisch, 61 s, 17 Segmente, jeder Effekt unten) befindet sich in $(reelsmith root)/examples/chernetka/reel.json; ein minimales in examples/template/reel.json.

Stimme und Untertitel

  • lang: Whisper-Sprache des Voice-Over ("uk", "en", …); weggelassen = automatische Erkennung (oder REELSMITH_LANG).
  • vo.gaps [vo_time, extra_s]: ein Atemzeichen, das an der leisesten Stelle nahe dieser Zeit der (beschleunigten) Stimme eingefügt wird — Platz für eine Fotomontage. vo.speed: atempo-Faktor.
  • "@word"-Anker: jede Zeit in Hook / End / Doodles / Glass / Checklist / Cover / Orbit / Wall / Punch / subs_skip kann "@thousand" sein (Start dieses Skriptworts; exakte Übereinstimmung zuerst, sonst Präfix), "@again#2" (2. Vorkommen), "@twice+0.3". Von Whisper falsch gehörte Wörter erhalten interpolierte Zeiten — verwende dort Sekunden. out/words.json enthält die tatsächlichen Zeitangaben nach --stills.
  • subs / punch: weggelassen = automatisch aus script + Wortzeiten (5–7 Wörter, 1–2 Zeilen, Akzentwörter in kursiver Akzentfarbe, kein abschließender Punkt, eine Zeile endet nie auf "und/in/von…"; Punch-Ins auf bis zu 4 Akzentphrasen ≥ 3 s Abstand). Überschreibe mit "subs": [[a, b, "html"]], "punch": [[a, b]]. Untertitel werden ausgeblendet, während die Hook-Karte sichtbar ist, unter Glas-Titeln und Checklisten, und sobald die Endkarte beginnt (subs_from / subs_until / subs_skip [[a, b]] zum Anpassen).

Karten und Text

  • hook: Papierkarte ab Frame 0 sichtbar (at: [t…] enthüllt Zeilen nacheinander, size, top). end: Karte ab from, Zeilen bei lines_at, sub, handle.
  • stamps: einfarbige Pille oben links über den aufgelisteten Segmenten (Ort, Datum, Charaktername).
  • cover (Cover Story + Frame Break): Magazin-Mastkopf auf Breite angepasst, Buchstaben fallen ein; auf Segmenten mit "cut": true steht die Person vor dem Titel. Wähle/beschneide eine Aufnahme, bei der die Kopfoberseite 40–80 px unter der Mastkopf-Oberseite sitzt — niemals über den Augen. color für den Mastkopf, top zum Verschieben. cover_t ≈ 2, damit out/cover.jpg das fertige Cover zeigt.
  • glass (Glas-Typ): {"from", "to", "lines", "at", "top"} mattierter Glastitel.
  • checklist: {"from", "to", "title", "items": [{"text", "sub", "at", "sub_at"}]} Karte, die Element für Element wächst, Häkchen werden bei at gezeichnet.
  • wall (Headline Wall): {"from", "to", "items": [...], "every": 0.06} Dateiname-/Schlagzeilen-Kacheln stapeln sich; platziere einen Glastitel darauf.
  • orbit: {"from", "to", "seg", "text": "1000 FOLDS · ", "speed", "scale", "tilt", "lift"} Textring um den Kopf auf einem cut-Segment; die hintere Hälfte geht hinter der Person vorbei. Am besten auf einem engen Selfie.
  • doodles (Doodle Boil): {"kind": "text"|"circle"|"underline"|"strike"|"arrow", "at", "to", "x", "y", …} — text: text, size, rot, write; circle/strike: w, h (strike n Zickzacks; 3 lässt das Wort lesbar); underline: w; arrow: x2, y2, bend; color, width. Akzentschrift mit cremefarbenem Halo, geschrieben von links → rechts, wackelt alle 3 Frames. Halte sie über y ≈ 1000, während die Hook-Karte oben ist, und vermeide Gesichter.

Segmente

  • Pfade: relativ zum Reel-Ordner, dann zum aktuellen Verzeichnis, dann zum Repository. HEIC/JPG-Fotos via img sind in Ordnung.
  • ss Start im Clip, dur Sekunden; pos 0–1 horizontaler Rahmen für breite Quellen; crop [x, y, size] = Punch-In-Beschneidung des Hochformatrahmens (bleibt von 4K scharf); rate < 1 = Zeitlupe, wenn nur ein kurzer Teil verwendbar ist.
  • cut: true = macOS Vision Person-Masken für dieses Segment (reelsmith masks, ~0,2 s/Frame, zwischengespeichert). Erforderlich für Cover und Orbit.
  • in: "zoom" (ausgehender Shot rauscht mit Weichzeichner herein, neuer landet von einem Zoom) oder "whip" (schneller verwischter Schwenk, keine schwarzen Ränder). Verwende bei 4–6 wichtigen Schnitten, nicht bei jedem Schnitt.
  • look: "" warmer Film · "memory" verblasster Zoom-Durchflug für Fotomontagen (date fügt einen orangefarbenen Kamera-Datumsstempel hinzu) · "bw" Schwarz-Weiß (Musik gedämpft) · "burst" Grau → Farbaufblühen (Musik öffnet sich).
  • move: push (standardmäßige langsame Hereinbewegung) · tilt-up · pull-out · none.

Sound und Farbe

  • music: "synth" (ein generiertes Lo-Fi-Bett, geformt durch die Looks — als Platzhalter in Ordnung, Ersteller bevorzugen normalerweise einen echten Track), ein Pfad zu einer Audiodatei, für die du die Rechte hast, oder null. Original-Clip-Sound wird nie verwendet.
  • music_gain: Standard 0,16 unter der Stimme (Sidechain-Ducking).
  • colors: {"accent": "#D4573A", "cream": "#F4EFE6", "ink": "#1F1A17"} (Standard: Beige / Terrakotta).

Regeln aus echtem Feedback

  • Effekte müssen bei Telefongröße beim ersten Anschauen lesbar sein: groß, akzentfarben, animiert. Kleine cremefarbene Doodles und eine schwache Glasscheibe waren "wo sind die Effekte?".
  • Keine wiederholten weißen Blitze an Schnitten. Original-Clip-Sound stummschalten. 3–5 Techniken pro Reel, nicht alle.
  • Text, Karten oder Doodles niemals über die Augen setzen; verschiebe die Karte oder rahme den Shot neu.
  • Überprüfe die Bildschirme und Hintergründe von Clips in voller Auflösung: Nachrichten anderer Personen, Autokennzeichen, Straßennamen, private Dashboards → überspringe diese Sekunden.
  • Jedes Reel frisches Filmmaterial (used_footage.md). Frage nach, bevor du Aufnahmen mit Gesichtern anderer Personen verwendest.

Individual skills in this repo

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

lalimi/claude-reelsmith

Finish a built reel in CapCut — upload the picture (everything baked in), the voice and music stems, place CapCut library sound effects on every effect and transition, push an editable CapCut Web draft, and let the creator swap music and sounds by ear before exporting. Uses the CapCut MCP connector bundled with this plugin. Use when asked for "sound effects from CapCut", "put it into CapCut", "editable draft", "change the music in CapCut", "капкат".

lalimi/claude-reelsmith

The director of a reel made from the creator's own footage — runs the whole job from idea to a post-ready MP4 + cover + caption and makes the creative calls (which story structure, which 3–5 effects go on which beat, where the transitions are, pacing, sound), then reviews the cut like a critic before handing it over. Use when someone says "make me a reel", "turn my clips into a reel", "edit this like a pro", "what do you think as a critic / director", "make it more alive", "add effects", "зроби рілс", "що скажеш як критик", or when a reel is being planned, reviewed or re-cut.

lalimi/claude-reelsmith

Write, analyse and plan short-video scripts (Instagram Reels, TikTok, YouTube Shorts, 30–60 s) in four proven viral structures — contrarian insight with a named archetype, series episode with a cliffhanger, humor hook + list of N factors, and "the scenario of …" confession. Use when the user asks to "write a reel script", "give me reel ideas", "analyse this viral reel", "break this reel down", "turn this transcript into a structure", "make one like this reel", pastes a reel transcript, or wants to edit a reel that has no script yet. Triggers in any language (e.g. "напиши сценарій для рілса"). Writes flowing spoken text in the creator's own language (English, Ukrainian, …), checks it against a checklist, and hands a montage plan to reel-builder, talking-head-edit or reel-director.

Verwandte Skills