CommunityCodierung & Entwicklunggithub.com

Editorial-Kurzvideo (Fringe Lines)

Erstelle ein vertikales Fringe Lines Kurzvideo im 'Editorial'-Stil (Papierhintergrund, Sprecher, der zwischen Vollbild/Karte/rundem PiP wechselt, Erklärgrafiken, wortweise serifenbetonte Untertitel, Hook + Endkarte, Soundeffekte). Verwende, wenn du aufgefordert wirst, ein Kurzvideo aus einer Episode zu erstellen, umzustylen oder zu reparieren.

Was ist Editorial-Kurzvideo (Fringe Lines)?

Dieses Skill ermöglicht es dir, aus einer Folge des Fringe Lines Podcasts ein vertikales Kurzvideo im Editorial-Stil zu erstellen. Der Stil ist an die Kurzvideos von Greg Isenberg angelehnt und zeichnet sich durch einen Papierhintergrund, einen Sprecher, der zwischen verschiedenen Layouts (Vollbild, Karte, runder Bild-in-Bild-Modus) wechselt, Erklärgrafiken und wortweise erscheinende serifenbetonte Untertitel aus. Es ist ideal, um ansprechende Ausschnitte für soziale Medien zu produzieren. Das Skill durchläuft einen strukturierten Workflow: Zuerst wählst du einen 30-50 Sekunden langen, in sich geschlossenen Moment aus den Transkripten der Episode aus. Dann schneidest du den Clip mittels eines Scripts, das Füllwörter und Pausen entfernt und den aktiven Kamerawinkel bestimmt. Anschließend erstellst du ein Style-Spezifikations-JSON, das die visuelle Choreografie vorgibt: den Hook, die Outro-Karte, die Betonung von Schlüsselwörtern und eine Abfolge von Szenen mit unterschiedlichen Modi und Grafiken. Das Skill unterstützt verschiedene Grafiktypen wie Statistiken, Personenangaben, Trends, Zitate, Schlagzeilen und Listen. Die Erstellung des endgültigen Videos erfolgt über die pipeline/style_short.py, die alle visuellen und auditiven Elemente zusammenführt, inklusive Gesichtsverfolgung für den PiP-Modus und synthetischen Soundeffekten. Die Ausgabe wird auf -14 LUFS normalisiert. Vor der endgültigen Auslieferung ist eine Qualitätssicherung vorgeschrieben, bei der du repräsentative Frames auf Hook-Lesbarkeit, Grafiküberlappungen, Textüberlauf, Zentrierung des Gesichts im PiP, korrekte Untertitel und Lautstärke überprüfst. Das Skill läuft auf jeder Maschine mit den installierten Abhängigkeiten (Python-Venv `~/.shorts-skill` und Remotion Node-Modulen in `~/.cache/fringe-lines-video`).

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/qdevery/fringe-lines-video/tree/main/.claude/skills/editorial-short

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Editorial-Kurzvideo (Fringe Lines)?

Der Look ist an die Kurzvideos von Greg Isenberg angelehnt. Halte jedes Kurzvideo daran:

  • Setze dich nie länger als ca. 6 s auf einen Sprecherkopf.
  • Eine Grafik- oder Layoutänderung erfolgt alle 3–5 s.
  • Untertitel erscheinen wortweise, mit ein paar wenigen orange-farbenen, kursiven Schlüsselwörtern.
  • Grafiken folgen dem Gesagten, d.h. eine Grafik erscheint genau zu dem Wort, das sie veranschaulicht.

0. Voraussetzungen (pro Maschine)

  • pipeline/setup.sh installiert die Venv ~/.shorts-skill und die Remotion node_modules in ~/.cache/fringe-lines-video.
  • Die Episodentranskripte müssen vorhanden sein: work/<ep>/words-quinn.json und words-doom.json (aus pipeline/transcribe_verbatim.py).
  • Remotion-Quellcode: pipeline/remotion/src/ShortV2.tsx (Layout) und Graphics.tsx (Grafiktypen).

1. Moment auswählen (30–50 s)

  • Durchsuche die Wortdateien nach einem in sich geschlossenen Take, der Folgendes hat:
    • eine starke Eröffnungszeile (Behauptung, Zahl oder Geständnis);
    • eine Idee;
    • einen Pointe oder Punchline gegen Ende.
  • Gute Signale:
    • konkrete Zahlen (Prozentsätze, Geldbeträge, Personenzahlen);
    • genannte Unternehmen oder Produkte;
    • eine konträre Meinung;
    • ein persönliches Experiment ("Ich ließ Codex…").
  • Vermeide Clips, die auf früheren Kontext angewiesen sind ("wie ich schon sagte", "das Ding").
  • Mehrere --ranges können aneinandergereiht werden. Schneide an Satzenden und prüfe, dass die Naht keine Wörter wiederholt.

2. Schneiden

Füge eine Zeile zu work/<ep>/shorts.sh hinzu und führe sie aus:

b --name short-NN --range START:END [--range ...] --replace "27=>27%" --replace "claude=>Claude"
  • build_short.py macht Folgendes:
    • entfernt Füllwörter, Stottern und lange Pausen;
    • wählt die aktive Kamera aus;
    • schreibt work/<ep>/short-NN/clip.mp4 und props.json;
    • rendert die einfache v1-Kurzvideo-Version.
  • --replace korrigiert den Untertiteltext. Eine leere rechte Seite blendet dieses Wort aus.
    • Korrigiere immer: Zahlen ("27"→"27%"), Produktnamen (Claude, Codex, Descript, GTM, SQL) und Whisper-Fehlerhörungen.
  • Um die genauen Ausgabe-Timings für das Schreiben des Spezifikation zu erhalten, drucke sie aus: python3 -c "import json;p=json.load(open('work/<ep>/short-NN/props.json'));print(' '.join(f\"{w['text']}@{w['startMs']/1000:.1f}\" for w in p['words']))"

3. Schreibe das Style-Spezifikation: work/<ep>/short-NN/style.json

{
  "hook":  {"text": "Microsoft will *27%* seiner Mitarbeiter kündigen lassen", "end": 2.8},
  "outro": {"text": "Wachsen *ohne* die *Kopfzahl* zu erhöhen", "hold": 2.0},
  "emphasis": ["microsoft", "27%", "verlassen"],
  "scenes": [
    {"at": 0.0,  "mode": "full"},
    {"at": 3.0,  "mode": "graphic", "graphic": {"type": "stat", "kicker": "Microsoft-Abfindungsangebot", "value": 27, "suffix": "%", "label": "der Mitarbeiter wurde eine Auszahlung angeboten, um zu *gehen*"}},
    {"at": 6.2,  "mode": "card"}
  ]
}

Die Zeiten sind Sekunden im geschnittenen Clip, entnommen aus den Wort-Timings in Schritt 2.

Regeln, die Konsistenz wahren:

  • Struktur:
    • Szene 0 ist immer full, mit einem hook von 4–8 Wörtern, der bei ~2,5–3 s endet.
    • Sage die Behauptung; fasse den Clip nicht zusammen.
  • Rhythmus:
    • Wechsle zwischen den Modi full → graphic → card → graphic → card … mit 3–6 Grafiken in einem 40 s Kurzvideo.
    • Verwende full für eine prägnante Reaktion oder ein Lachen in der zweiten Hälfte erneut.
  • Timing:
    • Beginne jede Grafik 0,1–0,3 s vor dem Wort, das sie veranschaulicht, und halte sie 2,5–5 s.
    • Zwei Grafiken können direkt aufeinander folgen, z.B. eine 20 $-Karte, dann eine 100 $-Karte.
  • Hervorhebung: wähle 10–18 Schlüsselwörter: Zahlen, Namen und die Punchline-Wörter. Die Übereinstimmung erfolgt kleingeschrieben, ohne Satzzeichen.
  • Akzente: In jedem Textfeld rendert *wort* kursiv orange. Verwende ein oder zwei pro Zeichenkette.
  • Outro: eine 2 s Endkarte mit einer kurzen Zeile, die die Kernaussage wiederholt oder eine Frage an den Betrachter stellt.
  • Ehrlichkeit:
    • Zahlen auf dem Bildschirm müssen dem entsprechen, was in der Show gesagt wurde.
    • Diagramme sind schematisch: verwende lines mit Formen, niemals erfundene Achsen oder Werte.
    • Verwende "ungefähr" oder "~" wenn der Sprecher dies tut.

Grafiktypen (Graphics.tsx):

TypFelderVerwendung für
statkicker, prefix, value (Zahl, zählt hoch), decimals, suffix, labeleine Kopfzahl
peoplekicker, value (Zeichenkette), label, filled (0–1)Anzahl von Personen / Anteil von Menschen
lineskicker, series: [{label, shape: up|flat|down}], captionTrend vs. Trend
quotetext, by?die Pointe, auf dem Bildschirm gesagt
headlinesource, title, highlightNachrichten, Ankündigungen, ein "Urteil"
listtitle, items[]Schritte, Produkte, was schiefgelaufen ist

Wenn ein neuer Grafiktyp benötigt wird, füge ihn zu Graphics.tsx und seinem Union-Typ hinzu. Behalte den Kartenstil bei: weiße oder tintenfarbene Karte, 36px Radius, ein Federeingang und eine Animation, die ihren lokalen Frame f durchläuft.

4. Rendern

~/.shorts-skill/bin/python pipeline/style_short.py --ep <ep> --name short-NN --spec work/<ep>/short-NN/style.json
  • Die Gesichtsspur (pipeline/face_track.py, YuNet) wird einmal berechnet und in short-NN/faces.json zwischengespeichert. Sie hält das runde PiP und die Karte zentriert auf dem Gesicht; lösche die Datei, wenn der Clip neu geschnitten wird.
  • Soundeffekte werden synthetisiert: ein Wusch bei jedem Szenenwechsel und ein Plopp, wenn eine Grafik landet. Sie werden mit --sfx-db -20 gemischt.
  • Lautstärke: −14 LUFS.
  • Ausgabe: out/shorts/<ep>-short-NN-v2.mp4.

5. Qualitätssicherung (immer vor dem Melden)

Ziehe Frames und betrachte sie:

for t in 1.5 5 10 15 20 25 30 35 40; do ffmpeg -v error -y -ss $t -i out/shorts/<ep>-short-NN-v2.mp4 -frames:v 1 -vf scale=270:-1 /tmp/q_$t.png; done

Überprüfe jedes dieser Elemente:

  • Hook: lesbar und bedeckt nicht das Gesicht.
  • Grafiken: Sie überlappen nicht den Untertitelblock, der bei y≈1340–1600 sitzt. Kein Text läuft über eine Karte hinaus. Lange Statistikwerte wie "+$500K" verkleinern sich automatisch.
  • PiP: Das Gesicht ist in der Mitte des Kreises.
  • Untertitel: Keine versehentlichen * in der Ausgabe; Schlüsselwörter werden in Orange gerendert.
  • Lautstärke: ffmpeg -i out.mp4 -af ebur128 -f null - 2>&1 | grep " I:" zeigt etwa −14.

Melde dem Benutzer:

  • Worum es in dem Kurzvideo geht und seine Länge.
  • Etwaige zu überprüfende Zahlen.
  • Ob noch anstößige Sprache enthalten ist.

Individual skills in this repo

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

carousel

Make a Fringe Lines image carousel (Instagram/LinkedIn, 1080x1350 PNG slides + PDF) — photo slides with big condensed caps headlines and accent words, large-type text-only slides, chart/screenshot slides, explainer-graphic slides and a follow CTA. Use when asked for a carousel, slide post, or "swipe" post from an episode or a topic.

engaging-monologue

Make a 16:9 FringeLines "engaging monologue" video from a solo talking-head take — jump cuts with punch-ins, the speaker shrinking into a portrait picture-in-picture while serif kinetic text, diagrams (pyramid stack, compare, roadmap, steps, big stat) and b-roll cards build on a paper canvas, plus callout cards, lower thirds, chips, a CTA pill and a green end card, all synced word by word to the speech. Use for YouTube explainers, solo commentary, newsletter-to-video and "one idea, told well" pieces.

infographic

Make a single-image editorial infographic (1080x1350) that explains one idea at a glance — two-tone headline, one-sentence dek, a hero visual with 2–4 numbered callouts and leader lines, an optional side note, a three-column "why it matters" row with icons, byline and sources. Use for "explain X in one graphic" posts about a company move, a framework, an architecture or a trend; the PNG can also be a carousel slide.

podcast-intro

Build the cold open for a long-form Fringe Lines episode — a 35–60 s highlight reel of the episode's best lines with explainer-graphic cutaways, keyword captions, whip transitions + SFX, ending on a title card with the topic list. Use when making or revising the intro of a full episode.

Verwandte Skills