Communitygithub.com

interior-reels

Verwendet, wenn der Benutzer rohe Innenarchitektur-, Architektur- oder Immobilienvideoclips in einen Instagram Reel / TikTok (9:16) mit Übergängen und Text bearbeiten oder einen Beispiel-Reel in ein wiederverwendbares Bearbeitungsmuster umwandeln möchte. Auslöser sind „Video bearbeiten”, „Reel erstellen”, „Clip bearbeiten”, „Muster erstellen”, „Muster hinzufügen”, „Projektvideo”, „Interieur-Content”.

Was ist interior-reels?

Der Skill „interior-reels” ermöglicht die Umwandlung roher Videoclips von Innenarchitekturprojekten in professionelle 9:16-Reels für Social-Media-Plattformen wie Instagram und TikTok. Er unterstützt einen vollständigen Workflow vom Scannen und Analysieren der Clips über die Auswahl eines Bearbeitungsmusters bis hin zum Rendern des finalen Videos. Basierend auf der SKILL.md-Dokumentation folgt der Skill strengen redaktionellen Regeln: Die Auswahl der Clips und deren Anordnung erfolgt auf Grundlage einer visuellen Analyse der Aufnahmen (nicht nur der Dateinamen), und die Text- und Logogestaltung wird vom Kunden in einer GUI verwaltet (overlay.json) und darf nicht vom Assistenten geändert werden. Der Skill bietet zwei Modi: „folge der Referenz” (exakte Nachbildung eines Musters) und „benutzerdefiniert” (flexible Anpassung an die vorhandenen Clips). Er enthält eine integrierte Qualitätskontrolle, die unbrauchbare Abschnitte (dunkel, leer, unscharf) erkennt, und erfordert die manuelle Überprüfung aller Clips vor dem Rendern. Ein besonderer Fokus liegt auf der Inszenierung einer stimmigen Raumgeschichte, wobei die ersten drei Sekunden als entscheidend für den Zuschauerbindung gelten.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/alfianwilfredo/edit-skill/tree/main/skill/interior-reels

In Ihrer bevorzugten KI fragen

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

Dokumentation

Interior Reels

Verwandle rohe Innenarchitektur-Clips in 9:16-Reels, die hochgeladen werden können. Das Skript ist nur ein Werkzeug. Redaktionelle Entscheidungen (welcher Shot, welcher Teil, welche Reihenfolge) sind Aufgabe von Claude und müssen auf dem Ansehen der Bilder jedes Clips basieren, nicht auf Vermutungen aus dem Dateinamen.

SKILL = Ordner dieses Skills. Alle Skripte: python3 SKILL/scripts/<name>.py.

Vor dem Start (einmal pro Sitzung)

Führe bash SKILL/setup.sh aus. Wenn es FEHLER gibt, behebe sie zuerst. Lies SKILL/brand.json für Studionamen, CTA, Logo, Standardmuster und Kundenpräferenzen.

Absolute Regeln (dürfen nicht verletzt werden)

  1. Text und Logo sind nicht Aufgabe des Assistenten. Text und Logo werden vom Kunden in der GUI festgelegt und in <ordner>/_edit/overlay.json gespeichert. render.py liest diese Datei und überschreibt das gesamte text und logo im Plan. Schreibe kein text oder logo in plan.json, frage den Kunden nicht nach dem Textinhalt und füge keinen eigenen Text zu overlay.json hinzu (einschließlich CTA aus brand.json), es sei denn, der Kunde fordert dies an.
  2. Muster steuern nur Schnitte und Darstellung. Aus dem Muster übernommen werden: Slot-Reihenfolge, Dauer, Bewegung, Übergänge und Grading. text, beispiel_text und logo im Muster sind nur Notizen aus dem Referenzvideo und werden nicht gerendert.
  3. Text oder Logo per Chat ändern = overlay.json bearbeiten. Wenn der Kunde fordert, Textinhalt, Schriftart, Position, Einblendzeitpunkt, Größe, Farbe oder Logo zu ändern, bearbeite <ordner>/_edit/overlay.json (Format in PLAN.md Abschnitt overlay.json) und rendere neu. Die GUI lädt diese Datei nach deiner Antwort neu. Schriftarten nur aus SKILL/fonts/. Liste der Schriftarten, Kategorien, Merkmale und Verwendungen findest du in fonts/fonts.json; wähle daraus entsprechend der vom Kunden gewünschten Stimmung aus. Unterschiedliche Schriftart oder -größe pro Zeile (z.B. „zweite Zeile in Great Vibes”) wird über text[].pro_zeile gesteuert. Logo nur schwarz (brand/logo.png) oder weiß (brand/logo-weiss.png). Studiendaten (Name, Webseite keziakarin.com, Instagram @keziakarin.studio) bleiben aus brand.json.
  4. Audio ebenfalls aus overlay.json (audio). Wähle oder ändere keine Musik selbst und schreibe kein musik in den Plan. Wenn der Kunde per Chat (Lied wechseln, Lautstärke, Startpunkt, Final mit/ohne Musik, Beat-Sync) dies fordert, bearbeite audio in overlay.json (Format in PLAN.md). Musik nur aus Audio des Musterleitfadens (patterns/audio/) oder der Studiobibliothek (brand/musik/). Erinnere den Kunden daran, dass Referenzaudio anderen Personen gehört, wenn sie es im Finale verwenden möchten.
  5. Wenn overlay.json noch nicht existiert, läuft der Render trotzdem ohne Text und Logo aus dem Muster. Teile dem Kunden mit, dass Text und Logo im GUI-Bereich Details ausgefüllt werden können.
  6. Lösche oder ersetze overlay.json nicht ohne Aufforderung. Diese Datei ist die Wahl des Kunden.
  7. Verwacklungen werden automatisch behandelt. render.py misst Verwacklungen jedes Segments und stabilisiert selbst ("stabil": "auto", Standard). Fülle stabil nur, wenn es einen Grund gibt: true erzwingt Stabilisierung, false deaktiviert (z.B. bei bewusster Handbewegung). Lies die Tabelle „Stabil” im Render-Log: ! Restverwacklung sichtbar = Ergebnis prüfen; ! FEHLGESCHLAGEN = Render gestoppt, wähle einen anderen Bereich oder Clip für dieses Segment. Gib bei der Überprüfung trotzdem verwacklung in _review/*.json für Teile ein, die deutlich verwackelt/unscharf sind: Dieser Bereich wird beim Render nicht verwendet, wenn er start verschiebt.
  8. Wähle brauchbare Teile aus, verwende nicht alle Sekunden des Clips. Beim Rendern analysiert render.py automatisch die Clips (_qualitaet/) und markiert dunkle, leere (kein Objekt) oder unscharfe Teile. Segmente, die mehr als 0,3 Sekunden schlechte Teile enthalten, werden abgelehnt und erhalten einen start-Vorschlag. Pflicht: Verschiebe start zum Vorschlag, oder reduziere die dauer, oder tausche den Clip. Verwende --ignoriere-qualitaet nicht ohne Benutzererlaubnis.
  9. Dauer richtet sich nach dem Footage, nicht nach dem Muster. Wenn der gute Bereich des Clips kürzer ist als der Musterslot, kürze diesen Slot. Die gesamte Reel-Länge darf kürzer sein als die gesamt_dauer des Musters. Fülle keinen Slot mit schlechtem Material.
  10. Sieh dir Frames vor dem Finale an. Vorschläge aus der Analyse müssen durch Ansehen der Frames in diesem Bereich (Raster oder Vorschau) überprüft werden. Die Analyse weiß nicht, ob das Hauptobjekt gut ist oder ob dieser Teil der richtige Auftakt ist.
  11. Überprüfe zuerst alle Rohclips. Führe scripts/review_material.py <material-ordner> aus, sieh dir JEDES Blatt in _review/ an, bis es fertig ist, und fülle dann das JSON jedes Clips (angesehen, verwacklung, geeigneter_bereich, entscheidung) aus. render.py lehnt das Rendern ab, wenn Clips nicht überprüft wurden oder Segmente außerhalb von geeigneter_bereich liegen (außer mit --ignoriere-qualitaet).
  12. Überprüfe Text nach dem Rendern. Die Textposition wird vom Kunden gewählt (3x3-Raster). Nach dem Rendern sieh dir *_text<N>_check.jpg an (rotes Quadrat = ungefährer Textbereich). Wenn Text Gesichter oder Hauptobjekte verdeckt, informiere den Kunden und schlage eine andere Position vor. Ändere die Position nicht selbst ohne Zustimmung.
  13. Kundenauswahlclips aus <ordner>/_edit/clips.json. Lies diese Datei, bevor du einen Plan erstellst (Format in PLAN.md Abschnitt clips.json). auftakt = Clip des ersten Segments, abschluss = Clip des letzten Segments, vermeiden = darf in keinem Segment verwendet werden. Die Kundenauswahl hat Vorrang vor shot_art des Musters; wenn die Shot-Art des Clips vom Musterslot abweicht, informiere den Kunden. Die besten Sekunden innerhalb des ausgewählten Clips werden weiterhin vom Assistenten gewählt. render.py lehnt Pläne ab, die gegen diese Datei verstoßen (kann nicht mit --ignoriere-qualitaet umgangen werden). Ändere oder lösche clips.json nicht; diese Datei wird von der GUI geschrieben.

Ablauf: Clip in Reel bearbeiten

  1. Sammle Informationen. Pflicht: Clip-Ordner. Optional: Muster und Audiodatei (Sprache/Voiceover, mp3/m4a/wav). Text und Logo sind bereits in _edit/overlay.json, frage nicht danach. Frage nur nach wirklich fehlenden Dingen, maximal 1 Frage. Wenn eine Audiodatei vorhanden ist, trage sprache in den Plan ein (siehe PLAN.md). Sprache wird nicht vom Skill aufgenommen: Der Benutzer muss die Audiodatei bereitstellen. Vergleiche die Anzahl der Clips im Ordner mit min_clips des Musters. Wenn es weniger sind, informiere den Kunden und schlage ein Muster mit kleinerem min_clips oder zusätzliche Clips vor. Fortsetzung ist trotzdem erlaubt, wenn der Kunde zustimmt.
  2. Scannen. Führe scan_clips.py <ordner> aus, um <ordner>/_scan/ zu erstellen.
  3. Sieh dir JEDES Raster _scan/<clip>.jpg mit dem Ansichts-Tool an. Notiere für jeden Clip in einer Tabelle: Shot-Art (Weit / Medium / Detail / Walk-Through / Schwenk), Raum, Qualität (verwackelt, dunkel, zu hell, Personen oder unordentliche Gegenstände), beste Sekunden (sekunde_frame in manifest.json ordnet Rasterkästchen Sekunden zu) und Kamerabewegungsrichtung. Fahre nicht fort, bevor alle Raster angesehen wurden.
  4. Wähle Muster aus SKILL/patterns/*.json, entsprechend der Anfrage oder Standard. Bei automatischer Auswahl wähle dasjenige, dessen geeignet_fuer am besten zur Anzahl und zum Inhalt der Clips passt. Lies trainings_notizen des gewählten Musters (falls vorhanden) und wende die daraus gelernten Erkenntnisse beim Füllen der Slots an.
  5. Fülle Slots. Wähle für jeden Slot in ablauf einen Clip und eine Startsekunde start, die zu shot_art passt, befolge die unten stehenden Story-Regeln. Kopiere dauer, bewegung, uebergang_ein, effekt_ein, effekt_aus, abdunkeln und Grading aus dem Muster. Kopiere auch rahmen und ende in den Plan, ändere logo_slot in logo_segment (Index des Segments, in dem sich dieser Slot befindet), und fülle auftakt_segment mit dem Index des Segments des ersten Text-Slots des Musters (text[0].slot), damit der Auftakttext aus der GUI in diesem Slot erscheint. Wenn das Muster text[0].dauer hat, schreibe auch auftakt_dauer_text (Zahlenwert, Sekunden) in den Plan – dies stellt sicher, dass der Auftakttext lange genug angezeigt wird, um lesbar zu sein. Wenn das Muster text[0].bis_slot hat, schreibe auch auftakt_text in den Plan: start, animation, fade, aus werden aus text[0] kopiert, und bis_segment = Index des Segments von Slot bis_slot. Kopiere keinen Text und kein Logo. Schreibe <ordner>/_edit/plan.json gemäß SKILL/PLAN.md mit absoluten Pfaden.
    • Muster mit rahmen Letterbox: bevorzuge Querformat-Clips. Hochformat-Clips werden in der Mitte auf ein 16:9-Band zugeschnitten; wenn sie trotzdem verwendet werden müssen, informiere den Kunden.
    • Wiederverwendung von Clips ist erlaubt, wenn die Anzahl der Clips geringer ist als die Anzahl der Slots: Die start-Bereiche im selben Clip müssen mindestens 1 Sekunde auseinander liegen und dürfen nicht in zwei aufeinanderfolgenden Segmenten sein. Der Render gibt eine Warnung aus, wenn diese Regel verletzt wird.
    • Wenn das Muster noch_nicht_unterstuetzt hat, erwähne diesen Effekt gegenüber dem Kunden vor dem Rendern.
    • Bearbeitungsmodus aus der GUI (genannt in der Nachricht „Bearbeitung starten”):
      • referenz_folgen (Standard): Kopiere den Musterablauf exakt, entferne, tausche oder kombiniere keine Slots. Overlay-Texte sind bereits entsprechend dem Muster-Slot nummeriert (wann), und das Logo verwendet logo_segment, daher muss die Segmentreihenfolge mit ablauf übereinstimmen. Wenn Clips fehlen, verwende Clips wieder (Regel oben), entferne keine Slots.
      • benutzerdefiniert: Das Muster ist nur der Ausgangspunkt für den Stil (Grading, Übergänge, Effekte, Rahmen). Dauer und Anzahl der Segmente können an die Clips angepasst werden. Schreibe "modus": "benutzerdefiniert" in den Plan, damit Referenzaudio auf die Beats synchronisiert wird.
  6. Vorschau. Führe render.py <plan> --preview aus und sieh dir dann *_preview_check.jpg an. Prüfe: sinnvolle Reihenfolge, keine schlechten Shots, Text vom Overlay lesbar und verdeckt keine Hauptobjekte, keine seltsamen eingefrorenen Frames. Korrigiere den Plan bei Bedarf und wiederhole den Vorgang.
  7. Finale. Führe render.py <plan> aus, sieh dir *_check.jpg noch einmal an und melde dann den Videopfad zusammen mit einer 1-2-sätzigen Zusammenfassung der Shot-Reihenfolge.

Story-Regeln für Innenarchitektur

  • Die ersten 3 Sekunden entscheiden, ob der Zuschauer weiterscrollt. Der Auftakt muss der stärkste Shot sein: hell, gerade, Raum vollständig sichtbar.
  • Folge dem Grundriss. Raumreihenfolge vom Eingang zu öffentlichen Bereichen (Wohnzimmer, Esszimmer, Küche) dann zu privaten Bereichen (Schlafzimmer, Badezimmer). Springe nicht hin und her zwischen Räumen.
  • Wechsle die Maßstäbe ab. Weit, dann Detail, dann weit. Zwei aufeinanderfolgende Weit-Shots aus verschiedenen Räumen sollten besser mit einem Übergang verbunden werden, nicht mit einem Schnitt.
  • Bewegungsrichtung fortsetzen. Schwenk nach links wird mit einem Shot verbunden, der sich nach links bewegt oder einem Übergang slideleft/smoothleft. Vermeide entgegengesetzte Bewegungsrichtungen an einer Verbindungsstelle.
  • Nimm stabile Teile. Wähle Sekunden in der Mitte der Bewegung, nicht wenn die Kamera startet oder stoppt. Überspringe verwackelte, unscharfe Teile oder solche mit Personen.
  • Abschluss verwende den schönsten Shot, der einen leeren Bereich für CTA und Logo hat.
  • Text: wird vom Kunden über overlay.json gesteuert. Wenn um Rat gebeten, schlage maximal 6 Wörter pro Text vor.
  • Weniger Clips als Slots: Entferne zuerst detail-Slots. Mehr Clips: Verwende nur die besten, nicht alle Clips müssen verwendet werden.
  • Querformat-Clips: Verwende "fuellung": "unscharf", wenn die Komposition wichtig ist. Wenn das Hauptobjekt in der Mitte ist, reicht zuschnitt.

Ablauf: Überarbeitung nach Ergebnis

Gilt, wenn die Kundennachricht mit [Überarbeitungsmodus: ...] endet (GUI fügt dies hinzu, wenn _edit/plan.json bereits existiert). Ziel: Verstehe die Überarbeitungsabsicht, bevor du etwas änderst, da das erneute Rendern lange dauert. Der Kunde klickt nur auf Schaltflächen, daher MÜSSEN alle Fragen über den fragen-Block gesendet werden, nicht als freier Text.

  1. Neue Überarbeitungsnachricht (keine Antwort, kein „Ausführen”):
    • Lies plan.json und sieh dir das letzte *_check.jpg-Ergebnis an. Ändere keine Dateien.
    • Sende eine Runde: maximal 4 Fragen. Inhalt sind Fragen zur Absicht (welcher Shot, wie viel, welcher Stil) und maximal 2 Erkenntnisse aus dem Ergebnis (z.B. dunkler Shot, Text verdeckt Objekt), jeweils mit Optionen wie „Beheben” / „Belassen”.
    • Jede Frage hat 2-4 kurze Optionen (≤ 6 Wörter), genau eine Option mit "empfohlen": true. "multi": true nur für Auswahlen, die mehr als eine Option zulassen (z.B. welche Shots ersetzt werden sollen). Füge keine Option „Sonstiges” hinzu; die GUI bietet dies bereits.
    • Schreibe maximal 1 einleitenden Satz, dann den Block, dann stoppe und warte.
  2. Nachricht beginnt mit Antwort: = Antwort auf eine Runde. Wenn immer noch etwas unklar ist und dies die erste Runde ist, sende eine zweite Runde (gleiche Regeln). Danach (oder wenn alles klar ist) sende einen zusammenfassung-Block: Liste der vorzunehmenden Änderungen, 1 Punkt pro Änderung. Stoppe und warte.
  3. Direkt ausführen: ... = verwende die empfohlen-Optionen für alle letzten Fragen und führe dann ohne Zusammenfassung aus.
  4. Entsprechend der Zusammenfassung ausführen. = führe genau den Inhalt der letzten Zusammenfassung aus (Plan/Overlay bearbeiten, Vorschau, Finale) und melde dann wie gewohnt.
  5. Freitext-Nachricht bei geöffneter Karte = freie Antwort. Behandle sie wie Antwort:.
  6. Maximal 2 Frage-Runden pro Überarbeitung. Anfragen, die bereits sehr klar sind (z.B. „Schriftart auf Great Vibes ändern”), erfolgen trotzdem über 1 kurze Runde (nur Erkenntnisse oder 1 Bestätigungsfrage), dann Zusammenfassung.
  7. Nachricht „Auswahlclips geändert” (von GUI gesendet, nachdem der Kunde Auftakt-, Abschluss- oder zu vermeidende Clips geändert hat) = normale Überarbeitung: Lies die neueste _edit/clips.json und wende sie auf den Plan über Schritte 1-4 oben an (absolute Regel 13).

Blockformat (gültiges JSON, ein Block pro Antwort):

```fragen
{"art": "frage", "fragen": [
  {"id": "f1", "titel": "Welcher Shot soll ersetzt werden?", "multi": true,
   "optionen": [{"label": "Shot 2 (Küche)", "empfohlen": true}, {"label": "Shot 4 (Schlafzimmer)"}]},
  {"id": "f2", "titel": "Erkenntnis: Shot 3 etwas dunkel", "multi": false,
   "optionen": [{"label": "Beheben", "empfohlen": true}, {"label": "Belassen"}]}
]}
```
```fragen
{"art": "zusammenfassung", "zusammenfassung": ["Shot 2 durch Küchenclip Sekunde 4 ersetzt", "Shot 3 aufgehellt"]}
```

Ablauf: Stil-Training

Gilt, wenn die Nachricht mit [Trainingsmodus: ...] endet (vom Reiter Stil-Training in der GUI gesendet). Ziel: Vorhandene Muster anhand ihrer Beispielvideos erneut testen, nicht passende Stellen melden und das Muster mit Zustimmung des Kunden korrigieren. Alle Fragen MÜSSEN über den fragen-Block erfolgen (Format in „Ablauf: Überarbeitung nach Ergebnis”).

  1. Eingabe aus der GUI-Nachricht: Mustername, Modus (referenz_folgen / benutzerdefiniert) und Clip-Ordner.
  2. Material. Lies SKILL/patterns/<muster>.json einschließlich trainings_notizen. Beispielvideo = skill/beispiel-video/<video_beispiel> (Ordner beispiel-video neben dem Skill-Ordner). Referenzblatt: Verwende vorhandenes SKILL/_ref/<name>/ (suche nach Mustername oder dem Dateinamen video_beispiel ohne Erweiterung; siehe filmstreifen.jpg/shots.jpg). Wenn nicht vorhanden, führe analyze_ref.py <video_beispiel> --name <muster> --out <ordner>/_training/<muster>/ref aus.
  3. Arbeitsordner = <ordner>/_training/<muster>/. Berühre keine Dateien außerhalb dieses Ordners. 4... (Fortsetzung folgt in der vollständigen Datei)

Verwandte Skills