Communitygithub.com

evgenspm/launchfilm

Markeneinlesung für einen Launch-Film, ein Produktvideo oder einen Promo: Erfasst die echten Farben, Schriftarten, das Logo, den Radius und das Theme aus dem Repo des Benutzers (Tailwind-Konfiguration, CSS-Variablen, shadcn-Tokens, next/font, Logo-SVG), dann von der Live-Website und Screenshots und schreibt films/<slug>/brand.json mit Quellenangabe für jeden Wert.

Was ist launchfilm?

Dieses Skill extrahiert automatisch die visuelle Identität eines Softwareprodukts aus seinem Quellcode-Repository, der Live-Website und Screenshots, um eine konsistente und markentreue Videoproduktion (Launch-Film, Produktvideo, Promo) zu gewährleisten. Es durchsucht systematisch Tailwind-Konfigurationen, CSS-Variablen, shadcn-Tokens, next/font-Imports und Logodateien (bevorzugt SVG) im Repository nach Farben, Schriftarten, Logo, Eckenradius und Theme (Hell/Dunkel). Falls Werte fehlen, greift es auf die Live-Website (berechnete Styles, Meta-Tags, Header-SVG) und dann auf Screenshots (Pixel-Sampling) zurück. Das Skill erstellt eine strukturierte brand.json-Datei mit Quellenangaben (BRAND-SOURCES.md) und kopiert Logo-Dateien unverändert. Es enthält harte Stopps: Es erfindet niemals ein Logo oder Farben, blendet keine Paletten und skaliert keine winzigen Favicons hoch. Es ist für Plattformen wie Claude Code, Cursor, Codex und andere CLI-basierte oder agentenbasierte Entwicklungswerkzeuge geeignet und folgt einer strengen Quellenhierarchie (Repo > Live-URL > Screenshots > Benutzerfrage).

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/evgenspm/launchfilm/tree/HEAD/skills/brand-intake

In Ihrer bevorzugten KI fragen

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

Dokumentation

brand-intake: echte Tokens rein, brand.json raus

Der Film muss wie das Produkt aussehen, also stammen die Tokens vom Produkt, niemals vom Geschmack. Reihenfolge der Quellen, stoppe bei der ersten, die einen Wert für ein Feld liefert, und notiere, woher jeder Wert kam:

  1. Das Repo des Benutzers (am besten: exakte Tokens, echte Schriftnamen, die echte Logodatei).
  2. Die Live-URL (berechnete Styles, Meta-Tags, Header-SVG).
  3. Screenshots die der Benutzer bereitstellt (Pixel-Sampling).
  4. Frage den Benutzer nach allem, was noch fehlt. Niemals raten.

Ausgabe (Pfade relativ zu launch-video/): films/<slug>/brand.json, films/<slug>/BRAND-SOURCES.md und Logodateien, die unverändert nach public/films/<slug>/brand/ kopiert werden (damit Szenen sie mit staticFile() laden). Extraktionsrezepte: references/sources.md. Feldzuordnung, Schriftarten-Fallbacks, Kontrastberechnung: references/brand-json.md.

Schritte

  1. Finde das Produkt-Root. Wenn launch-video/ in einem Produkt-Repo liegt, ist das Repo-Root eine Ebene höher. Sonst frage nach der URL und Screenshots. Notiere den Stack: package.json Dependencies (tailwindcss version, next, @fontsource/*, shadcn).
  2. Farben aus dem Repo. In dieser Reihenfolge: Tailwind v4 @theme-Variablen in CSS, Tailwind v3 tailwind.config.{js,ts,cjs,mjs} theme.extend.colors, shadcn-Tokens in globals.css (--background, --foreground, --primary, --muted, --card, --accent), andere :root Custom Properties. Konvertiere HSL/OKLCH/RGB in 6-stellige Hex-Codes. Verwende das Theme, das die Marketing-Website verwendet (dunkel oder hell), nicht beide gemischt.
  3. Schriftarten aus dem Repo. next/font/google oder next/font/local Imports, @fontsource* Dependencies, @font-face, font-family auf body/html/h1, Tailwind fontFamily. Notiere die tatsächlich verwendeten Schriftfamilien und -gewichte.
  4. Logo aus dem Repo. Suche zuerst nach SVG: public/logo*.svg, public/*mark*.svg, app/icon.svg, public/favicon.svg, src/assets/*logo*, src/components/*Logo* (Inline-JSX-SVG: extrahiere das <svg>), dann PNG ≥ 512 px (apple-touch-icon.png hat 180 px: letzter Ausweg für ein Markenzeichen, niemals für ein Wortmarken-Logo). Kopiere unverändert nach public/films/<slug>/brand/.
  5. Radius und Theme. --radius oder Tailwind borderRadius; Theme = dunkel, wenn die relative Leuchtdichte des Hintergrunds < 0,2.
  6. Lücken von der Live-URL füllen (references/sources.md § Live-URL): theme-color meta, og:image, link rel=icon, Inline-SVG des Headers, berechnete Styles von body, primären Button, h1.
  7. Lücken von Screenshots füllen: extrahiere Pixel an benannten Punkten (Seitenhintergrund, Textkörper, primärer Button, Karte). Schreibe die Pixelkoordinaten in BRAND-SOURCES.md.
  8. Name, Slogan, URL: aus package.json name/description, dem <title> der Website, hero h1, og:description, der ersten Zeile der README. Verwende die eigenen Worte des Benutzers; schreibe hier niemals einen neuen Slogan (Story macht das Copy).
  9. Schriftarten zuordnen, die du nicht ausliefern oder laden kannst, zu einer ausgelieferten OFL-Schriftart nach Rolle (brand-json.md § Schriftarten) und teile dies mit.
  10. Kontrastprüfung (brand-json.md § Kontrast): fg auf bg ≥ 4,5:1 erforderlich (Ziel 7:1), accent auf bg ≥ 3:1. Schreibe die Zahlen. Fehlschlagender Akzent → behalte ihn für Formen bei, wähle fg für Text darauf.
  11. Schreibe brand.json, validiere dann, falls schemas/brand.schema.json existiert: npx -y -p ajv-cli@5 -p ajv-formats ajv validate --spec=draft2020 -c ajv-formats -s schemas/brand.schema.json -d films/<slug>/brand.json
  12. Schreibe BRAND-SOURCES.md: eine Zeile pro Wert → Quelle (file:line, URL + Selektor oder Screenshot + x,y).
  13. Zeige dem Benutzer eine 6-zeilige Zusammenfassung (Name, Theme, 6 Farbfelder als Hex, Schriftarten, Logodatei, alles zugeordnete oder erfragte).

Harte Stopps (Pipeline nicht fortsetzen)

SituationTueNiemals
Keine Logodatei im Repo, auf der Website oder in ScreenshotsFrage: "Sende das Logo als SVG (am besten) oder ein PNG ≥ 512 px mit Transparenz."ein Logo zeichnen, nachzeichnen, generieren oder annähern
Logo nur als winziges FaviconFrage nach einer größeren Dateiein 32 px Favicon zu einem Helden-Markenzeichen hochskalieren
Keine Farben erfasst (kein Repo-Zugriff, Website blockiert, keine Screenshots)Frage nach der URL oder 2–3 Screenshots, oder den Hex-Codes"schöne" Farben oder eine Standardpalette aussuchen
Konfliktierende Paletten (App vs. Marketing)Frage, welche der Film verwenden soll; standardmäßig die Marketing-Websitesie mischen
Benutzer möchte eine Text-Wortmarke, weil kein Logo existiertNur mit explizitem "Ja" erlaubt: Produktname in der Anzeigeschriftart, fg-Farbees als ihr Logo präsentieren

Regeln

  • Logodateien bytegenau kopieren. Ein Logo nicht umfärben, zuschneiden oder "bereinigen", es sei denn, der Benutzer bittet darum.
  • Niemals das Logo eines anderen Unternehmens oder die Logos der Kunden des Benutzers ohne Bestätigung des Benutzers verwenden, dass er die Berechtigung dazu hat.
  • Niemals Schriftarten von Quellen abrufen, deren Lizenz die Weiterverteilung in ein Repo verbietet (Fontshare FFL-Schriften wie Satoshi oder General Sans, Apple SF Pro): ordne sie zu (brand-json.md § Schriftarten).
  • brand.json enthält keine Geheimnisse und keine personenbezogenen Daten über den öffentlichen Produktnamen und die URL hinaus.
  • Erneutes Ausführen des Intakes überschreibt nur Felder, deren Quelle sich geändert hat; behalte Felder bei, die der Benutzer manuell bearbeitet hat (zuerst diff).
  • Nachgelagerte Skills lesen nur brand.json; niemals Marken-Hex-Werte in Szenen hartcodieren [craft/06#grade-discipline].

Individual skills in this repo

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

evgenspm/launchfilm

QA a rendered launch film before anyone ships it. Use for "QA the video", "check the render", "is it ready to post", "review the film", "why does it look cheap", "check the captions/safe zones/loudness", after every render and before package. Reads the CLI's automatic report (`npx launchfilm qa <slug>`), contact sheets and stills at key timestamps, then checks text-at-time readability, contrast, platform safe zones, loudness (−14 LUFS, −1.5 dBTP), ffprobe encode specs, black and frozen frames, cuts on the beat, and the 12 amateur tells as blocking checks. Writes qa/<slug>/QA.md where every line cites a file or a measured number; a check that was not run says NOT CHECKED, never PASS. Use scene-build to fix picture problems it finds, sound to fix the mix, launch-film for the whole pipeline, reference-study for reference videos.

evgenspm/launchfilm

Launch video, launch film, product video, product launch, promo, teaser, trailer, demo video, Product Hunt video, X / LinkedIn launch clip, reel, hero loop, motion graphics, "make a video for my product", Remotion film. Router and gated pipeline for making a pro product-launch film with the launchfilm studio in ./launch-video: brief, brand intake, story and storyboard (user approves), sound, scene build, frame QA, render per platform preset, package, post copy, one-time credit note. Use this first for any request to make, remake or revise a launch or product film; it calls the sibling skills (brand-intake, story, sound, scene-build, recipes, film-qa, launch-post). Do not use it to study a reference video (use reference-study), to browse recipes only (use recipes), or for generic Remotion questions unrelated to a launch film.

evgenspm/launchfilm

Write the launch post that goes with the film: X / Twitter post, LinkedIn post, Product Hunt tagline, description and maker comment, written in the founder's own voice, concrete, no AI slop ("excited to announce", em dashes, buzzwords). Triggers: write the tweet, launch post, LinkedIn post, Product Hunt copy, PH tagline, maker comment, caption for the video, announcement copy. Use after the film is rendered (or when the user asks for post copy for an existing film); starts from `npx launchfilm post <slug>` and the film's BRIEF.md and STORYBOARD.md, writes out/<slug>/POST.md. Never posts anything. Not for the film's own on-screen script or VO (story).

evgenspm/launchfilm

Find launchfilm recipes (published launch films studied frame by frame and written down as text, some with ready Remotion code) and build the user's film from 1 to 3 of them. Use for "use a template", "start from a recipe", "make a 30s launch film from recipe <id>", "something like this style", "show me options", "which recipe fits a 30 s vertical launch", "remix recipe X with our brand", or when a storyboard needs a proven hook, feature beat, logo reveal or end card. Searches recipes/CATALOG.md or recipes/index.json, scores and picks 1 to 3, shows each with its source link, reads the recipe.md beat sheet, then scaffolds with `npx launchfilm new <slug> --recipe <id>`: ready code when Recipe.tsx exists, else TODO scenes built from the beat sheet with studio presets, keeping the recipe's timings, springs and sounds re-timed to the user's length and beat grid. Use reference-study to make a new recipe, story for the storyboard, scene-build for scenes, launch-film for the whole pipeline.

Verwandte Skills