Communitygithub.com

Launch Video — Liquid Glass Product Showcase

Erstelle kinoreife Produkt-Launch-Videos mit dem Liquid Glass Look: dunkle Leerräume, 3D-Panels, Partikeleffekte, Federanimationen und souveränes Timing – basierend auf Remotion, Imagen 4.0 und Veo 3.1.

Was ist Launch Video — Liquid Glass Product Showcase?

Diese Skill-Anleitung beschreibt, wie man mit Remotion, Imagen 4.0 und Veo 3.1 kinoreife Produkt-Launch-Videos im Liquid Glass Stil erstellt. Der Look besteht aus einer dunklen Leinwand, 3D-Perspektiv-Panels aus Glas, schwebenden Partikeln, Federanimationen und einem ruhigen, souveränen Schnitt – ideal um Apps, Tools oder Produkte wirkungsvoll in Szene zu setzen. Die Anleitung enthält acht Szenentypen: Titelkarte, Eingabe-Prompt, geteilte Panels, Produkt-Demo, Detail-Zoom, CTA-Karte, AI-generierte Bilder (Imagen 4.0) und AI-Video-B-Roll (Veo 3.1). Jede Szene wird durch Remotion-Komponenten wie `<GlassPanel>`, `<ParticleField>` und `<SpringFade>` realisiert. Federanimationen (`spring()`) sorgen für organische, fließende Bewegungen – keine CSS-Transitions. Der Workflow umfasst Storyboard, Asset-Generierung (Screenshots, Imagen/Veo), Remotion-Komposition mit `<Sequence>` und `<OffthreadVideo>`, Rendering, optionalem Audio-Postprocessing und Verteilung über Social-Media-Plattformen. Die Qualität wird anhand einer Checkliste (z. B. schwarzer Hintergrund, 3D-Perspektive, Federanimationen, Partikel, minimale Typografie) überprüft. Diese Skill eignet sich für Entwickler und Content Creator, die mit Remotion professionelle Produkt-Launch-Videos erstellen möchten – schnell, konsistent und mit hohem Wiederkennungswert.

Funktioniert mit~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/broomva/skills/tree/HEAD/skills/video/launch-video

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Launch Video — Liquid Glass Product Showcase?

Erstelle kinoreife Produkt-Launch-Videos mit dem Liquid Glass Look: dunkle Leere, 3D-schwebende Panels, Partikeleffekte, Federanimationen und souveränes Timing.

Zusammenspielende Skills

SkillRolle
/remotion-best-practicesKompositionsstruktur, spring(), <Sequence>, Render-Pipeline
/content-creationKI-Asset-Generierung (Imagen 4.0, Veo 3.1)
/arcan-glassBroomVA-Marken-Tokens (AI Blue, dunkle Farbpalette)
/google-veoPrompts für kinoreife B-Roll-Generierung
/blog-postDistributions-Pipeline (Veröffentlichung auf X, LinkedIn, Instagram)

Der Liquid Glass Look

Zentrale visuelle Prinzipien

  1. Dunkler Hintergrund — Reines Schwarz (#000000) oder nahezu Schwarz (#0A0A0A). Keine Verläufe im Hintergrund. Inhalte schweben im Dunkeln.
  2. 3D-Perspektiv-Panels — Screenshots und UI-Renderings um 8-15° geneigt mit perspective(1200px). Nie flach. Immer schwebend.
  3. Glasmaterial — Panels haben matte Kanten, dezente Reflexionen, abgerundete Ecken mit Glow und halbtransparente Ränder.
  4. Partikelfeld — Kleine schwebende Partikel (2-4px, geringe Deckkraft, langsames Driften) füllen die Leere. Erzeugt Tiefe und Lebendigkeit.
  5. Federanimation — Alle Ein- und Ausgänge verwenden Remotion spring(). Nie CSS-Transitions. Nie linear. Organisch, souverän.
  6. Souveränes Timing — Mindestens 3-5 Sekunden pro Szene. Keine schnellen Schnitte. Jedes Bild wirken lassen.
  7. Minimale Typografie — Serifenlose Schrift (Inter, SF Pro oder System), weiß auf schwarz, zentriert. Maximal 8 Wörter pro Titelkarte.

Farbpalette

TokenWertVerwendung
void#000000Hintergrund
panel-bgrgba(20, 20, 25, 0.85)Glas-Panel-Füllung
panel-borderrgba(255, 255, 255, 0.08)Glaskante
panel-glowrgba(59, 130, 246, 0.15)Rand-Glow (AI Blue)
text-primary#FFFFFFTiteltext
text-secondaryrgba(255, 255, 255, 0.6)Untertitel, URL
accent#3B82F6AI-Blaue Hervorhebungen
success#22C55EHäkchen, positive Zustände
particlergba(255, 255, 255, 0.15)Hintergrundpartikel

3D-Panel CSS (Remotion)

const panelStyle: React.CSSProperties = {
  perspective: '1200px',
  transform: `rotateY(-8deg) rotateX(5deg)`,
  borderRadius: 16,
  border: '1px solid rgba(255, 255, 255, 0.08)',
  boxShadow: `
    0 25px 50px rgba(0, 0, 0, 0.6),
    0 0 30px rgba(59, 130, 246, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.05)
  `,
  background: 'rgba(20, 20, 25, 0.85)',
  backdropFilter: 'blur(20px)',
  overflow: 'hidden',
};

Federkonfiguration

import { spring, useCurrentFrame, useVideoConfig } from 'remotion';

// Standard-Eingang
const entrance = spring({
  frame,
  fps,
  config: { damping: 15, stiffness: 80, mass: 0.8 },
});

// Subtiles Driften (für schwebende Panels)
const drift = spring({
  frame: frame - delay,
  fps,
  config: { damping: 200, stiffness: 10, mass: 2 },
  durationInFrames: 120,
});

Szenentypen

1. Titelkarte

Dauer: 3-4 Sekunden Inhalt: Produktname oder Slogan, zentriert, weiß auf schwarz Animation: Einblenden mit dezenter Feder-Skalierung (0,95 → 1,0) Beispiel: "Build your ideas with Gemini"

2. Prompt-/Eingabeszene

Dauer: 4-6 Sekunden Inhalt: Chat-Eingabe oder Terminal-Prompt, geneigtes 3D-Panel Animation: Panel federt von unten ein, Text als Schreibmaschineneffekt Technik: <Img> des Screenshots mit 3D-CSS-Transformation, Schreibmaschine durch frame-basiertes String-Slicing

3. Geteilte Panel-Szene

Dauer: 4-5 Sekunden Inhalt: Zwei UI-Panels nebeneinander (z. B. Prompt + Code-Ausgabe) Animation: Panels federn von gegenüberliegenden Seiten ein, Partikel dazwischen Technik: Zwei <Img>-Komponenten mit entgegengesetzten rotateY-Transformationen

4. Produkt-Demo-Szene

Dauer: 5-8 Sekunden Inhalt: Vollständiges Produkt-UI als schwebendes Glas-Panel Animation: Langsame Drift-Rotation (dezente rotateY-Oszillation), filmischer Zoom Technik: <Img> oder <OffthreadVideo> mit animiertem scale und rotateY

5. Detail-Zoom-Szene

Dauer: 3-4 Sekunden Inhalt: Zoom auf ein bestimmtes UI-Element oder Feature Animation: Feder-Skalierung von voller Ansicht zum beschnittenen Detail Technik: Animiertes scale + translate auf dem Panel-Bild

6. CTA-/Markenkarte

Dauer: 3-4 Sekunden Inhalt: Logo + URL oder Installationsbefehl Animation: Einblenden, halten, ausblenden Technik: Zentrierter Text, Markenicon, dezenter Glow

7. KI-filmischer Frame (Imagen 4.0)

Dauer: 3-5 Sekunden Inhalt: KI-generiertes Hero-Render oder Konzeptkunst in einem GlassPanel Animation: Feder-Eingang, langsame Drift-Rotation, dezenter Zoom Technik: Generieren via Imagen 4.0, ablegen in public/, verwenden mit <Img src={staticFile('render.png')} /> in GlassPanel mit 3D-Transformation Wann verwenden: Abstrakte Konzepte, Architekturdiagramme, Stimmungsbilder – alles, das von KI-generierten Bildern statt Screenshots profitiert

<GlassPanel rotateY={-10} rotateX={6} delay={5}>
  <Img src={staticFile('imagen-hero-render.png')} style={{ width: '100%' }} />
</GlassPanel>

8. KI-Video-B-Roll (Veo 3.1)

Dauer: 4-8 Sekunden Inhalt: Kinoreifer KI-generierter Videoclip als Übergang oder Atmosphäre Animation: Läuft hinter oder in einem GlassPanel, optional mit überlagertem Text Technik: Generieren via Veo 3.1, Vorverarbeitung mit ffmpeg -movflags +faststart, Verwenden von <OffthreadVideo> in Remotion

// Vollflächige filmische B-Roll (zwischen Szenen)
<OffthreadVideo
  src={staticFile('veo-broll-corridor.mp4')}
  style={{ width: '100%', height: '100%', objectFit: 'cover' }}
/>

// B-Roll in einem Glas-Panel
<GlassPanel rotateY={-5} rotateX={3}>
  <OffthreadVideo
    src={staticFile('veo-product-demo.mp4')}
    style={{ width: '100%', borderRadius: 12 }}
  />
</GlassPanel>

Veo 3.1-Prompt-Muster für B-Roll:

[Kamerabewegung], [Subjekt/Umgebung], [Aktion/Bewegung], [Licht + Stimmung].
Dunkler Hintergrund, [Akzentfarbe]-Glow. Kinoreif, professionell. [Seitenverhältnis].

Wann verwenden: Übergänge zwischen Szenengruppen, atmosphärische Intros/Outros, filmische Produkt-Demos, bei denen Bewegung Mehrwert gegenüber einem statischen Screenshot bietet.

Vorverarbeitung (erforderlich für <OffthreadVideo> + parseMedia()):

ffmpeg -i veo-clip.mp4 -c:v libx264 -crf 18 -movflags +faststart -r 30 processed.mp4

Hybrides Kompositionsmuster

Die ausgefeiltesten Videos kombinieren alle drei Asset-Typen:

Titelkarte (Text)
  → Imagen-Frame in GlassPanel (Konzeptkunst)
    → Veo-B-Roll-Übergang (filmisch, 4s)
      → Screenshot in GlassPanel (Produkt-Demo)
        → Remotion-animierte Daten (Pipeline-Knoten, Dateibäume)
          → Veo-B-Roll-Outro (Atmosphäre)
            → CTA-Karte (Text)

Regel: Remotion steuert Timing, Übergänge und Text. KI-Assets liefern visuellen Reichtum. Gib der KI nie die Kontrolle über das Tempo – das ist Remotions Aufgabe.

Produktions-Pipeline

1. STORYBOARD → Szenen mit Typen (1-8), Dauer und Inhalt definieren
2. ASSETS → Alle visuellen Assets generieren/erfassen
   a. Screenshots – Produkt-UI via agent-browser oder manuelle Erfassung
   b. Imagen 4.0 – Hero-Renders, Konzeptkunst, abstrakte Visuals
      → ai.models.generateImages({ model: 'imagen-4.0-fast-generate-001', prompt: '...' })
      → Speichern im public/-Verzeichnis
   c. Veo 3.1 – Filmische B-Roll-Clips (4-8s pro Stück)
      → ai.models.generateVideos({ model: 'veo-3.1-fast-generate-preview', prompt: '...' })
      → Vorverarbeitung: ffmpeg -i clip.mp4 -c:v libx264 -movflags +faststart -r 30 processed.mp4
      → Speichern im public/-Verzeichnis
3. KOMPONIEREN → Remotion-Komposition erstellen
   - <Sequence> mit premountFor für Vorladen
   - <Img> + staticFile() für Bilder (nie <img>)
   - <OffthreadVideo> + staticFile() für Veo-Clips (nie <video>)
   - GlassPanel + spring() für 3D-Transformationen und Eingänge
   - ParticleField als Hintergrundebene
   - Subtitle-Komponente für Textüberlagerungen
4. RENDERN → npx remotion render src/Root.tsx CompositionId out/video.mp4
5. NACHBEARBEITUNG → Audio separat hinzufügen
   - ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac final.mp4
6. PRÜFUNG → /creative-review bewertet Ausgabe gegen Style-Brief (Ziel: ≥75)
7. VERTEILEN → Auf Plattformen pushen via /blog-post Veröffentlichungs-Pipeline

Remotion-Projektstruktur

launch-video/
├── src/
│   ├── Root.tsx                 # registerRoot
│   ├── Composition.tsx          # Hauptkomposition mit <Sequence>-Szenen
│   ├── scenes/
│   │   ├── TitleCard.tsx        # Szenentyp 1
│   │   ├── PromptScene.tsx      # Szenentyp 2
│   │   ├── SplitPanel.tsx       # Szenentyp 3
│   │   ├── ProductDemo.tsx      # Szenentyp 4
│   │   ├── DetailZoom.tsx       # Szenentyp 5
│   │   └── CTACard.tsx          # Szenentyp 6
│   ├── components/
│   │   ├── GlassPanel.tsx       # 3D-Perspektiv-Panel mit Glasmaterial
│   │   ├── ParticleField.tsx    # Hintergrund-Partikelsystem
│   │   ├── TypewriterText.tsx   # Frame-basierte Schreibmaschinen-Animation
│   │   └── SpringFade.tsx       # Wiederverwendbarer Feder-Einblende-Wrapper
│   └── styles/
│       └── tokens.ts            # Liquid Glass Farb-/Abstands-Tokens
├── public/                      # staticFile()-Assets (Screenshots, Renders)
├── package.json
└── remotion.config.ts

ParticleField-Komponente (Referenz)

const ParticleField: React.FC<{ count?: number }> = ({ count = 40 }) => {
  const frame = useCurrentFrame();
  const particles = useMemo(() =>
    Array.from({ length: count }, (_, i) => ({
      x: (i * 37 + 13) % 100,
      y: (i * 53 + 7) % 100,
      size: 2 + (i % 3),
      speed: 0.1 + (i % 5) * 0.05,
      opacity: 0.05 + (i % 4) * 0.04,
    })), [count]);

  return (
    <AbsoluteFill>
      {particles.map((p, i) => (
        <div key={i} style={{
          position: 'absolute',
          left: `${p.x}%`,
          top: `${(p.y + frame * p.speed) % 110}%`,
          width: p.size,
          height: p.size,
          borderRadius: '50%',
          background: `rgba(255, 255, 255, ${p.opacity})`,
        }} />
      ))}
    </AbsoluteFill>
  );
};

GlassPanel-Komponente (Referenz)

const GlassPanel: React.FC<{
  children: React.ReactNode;
  rotateY?: number;
  rotateX?: number;
  scale?: number;
}> = ({ children, rotateY = -8, rotateX = 5, scale = 1 }) => (
  <div style={{
    transform: `perspective(1200px) rotateY(${rotateY}deg) rotateX(${rotateX}deg) scale(${scale})`,
    borderRadius: 16,
    border: '1px solid rgba(255, 255, 255, 0.08)',
    boxShadow: '0 25px 50px rgba(0,0,0,0.6), 0 0 30px rgba(59,130,246,0.1), inset 0 1px 0 rgba(255,255,255,0.05)',
    background: 'rgba(20, 20, 25, 0.85)',
    overflow: 'hidden',
    transition: 'none',
  }}>
    {children}
  </div>
);

Qualitäts-Checkliste

  • Hintergrund ist reines Schwarz oder nahezu Schwarz (keine Verläufe)
  • Alle Panels verwenden 3D-Perspektiv-Transformation (nie flache Screenshots)
  • Federanimationen an allen Eingängen (keine CSS-Transitions)
  • Partikelfeld im Hintergrund vorhanden
  • Jede Szene hält mindestens 3-5 Sekunden (keine schnellen Schnitte)
  • Typografie: serifenlos, weiß, zentriert, ≤8 Wörter pro Titelkarte
  • Glasmaterial: Rand-Glow, Schatten, abgerundete Ecken, halbtransparent
  • Audio vorhanden (ambient elektronisch oder Sprecher)
  • Gesamtdauer 20-45 Sekunden
  • -movflags +faststart beim finalen Render

Individual skills in this repo

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

broomva/skills

Local TTS, voice cloning, voice design, and video dubbing via the OmniVoice Studio MCP server (open-source ElevenLabs alternative; nothing leaves the machine, runs on MPS/CUDA/CPU). Use when: (1) generating speech from text in any of 646 languages, (2) cloning a voice from a 3-second reference clip, (3) designing a voice by gender/age/accent/pitch/style, (4) dubbing a video into another language, (5) listing voice profiles or personality presets, (6) producing narration where privacy, cost, or absent API keys matter, (7) non-English narration where Edge TTS/kokoro fall short, (8) batch audio for blog posts or content pipelines. Triggers: 'omnivoice', 'voice clone', 'clone this voice', 'tts', 'narrate', 'generate speech', 'voice synthesis', 'dub video', 'voice design', 'local tts', 'multilingual voice', 'narrate this post', 'elevenlabs alternative'.

broomva/skills

>- Speak an explanation out loud while working in any project — tiered text-to-speech with a pluggable backend (ElevenLabs by default and quota-guarded, macOS `say` via `--fast` for free instant local speech, local OmniVoice as an unlimited private tier). Markdown-aware, so code fences, URLs and deep paths collapse to short spoken placeholders instead of being dictated character by character, while snake_case identifiers survive intact so the listener can still search for them. Every utterance is saved to disk for later replay. Also carries a **talk mode** toggle: turn it on and the agent speaks a full readback of every turn, for as long as that session lasts — the whole response, not a summary of it, with `brief` and `marker` levels for when you want less. Talk mode is off by default and scoped to the single session that enabled it, so parallel agents in other worktrees stay silent. Use when the user asks to hear something rather than read it — an explanation of a change, a walkthrough of what just happen...

broomva/skills

Shop Tiendas D1 (Colombia, d1.com.co) from the command line — search the catalogue, resolve your nearest physical store, price a basket against that store's real stock, and quote delivery. D1 runs VTEX IO (account `d1tiendas`), so this drives its public storefront API with no admin key at all — catalogue and cart work fully anonymously, and a one-time emailed code unlocks order history. Handles the two traps that make naive D1 automation wrong — availability is regionalized (an unregioned query reports a national catalogue nobody can actually buy from) and prices arrive in two different units (search reports whole pesos, checkout reports hundredths, a silent 100x). Builds and prices baskets; it deliberately cannot pay, handing a checkout URL to a human instead. USE WHEN the user wants to find D1 products or prices, check whether D1 delivers somewhere, build or cost a D1 grocery basket, compare D1 items, or review their D1 orders. NOT FOR other Colombian retailers (Éxito, Jumbo, Ara, Alkosto), and not for c...

broomva/skills

Stateful, local-first household toxics inventory + swap engine. Identify the items in a home that carry endocrine disruptors and persistent chemicals (BPA/BPS, phthalates, PFAS/PTFE, parabens, flame retardants, VOCs, microplastics), score each by *real* exposure (severity x presence x how it's used x condition), and track the swap to a safer alternative from "flagged" -> "sourced" -> "swapped". Ships a grounded, cited knowledge graph of ~20 hazards, ~40 item-classes, and ~40 alternatives. Hands sourcing off to the `procurer` skill. The skill's state is the source of truth — the agent is the app.

broomva/skills

Tekton — the shared architecture-intent substrate for co-designing systems with the agent. One typed graph across six tiers (system / journey / data / infra / decisions / qualities); views are queries, not separate diagrams. The canonical artifact is a diff-friendly YAML model both human and agent read and write; it renders to Mermaid (agent-legible, GitHub-native) and a self-contained tabbed HTML viewer (human-visual). Cross-tier traceability (`tekton query <from> <to>`) answers "which infra does this user-journey step touch?" as a path query. USE WHEN: designing or thinking deeply about architecture, a system, a data model, user journeys/flows, or a technical plan WITH the agent; when a Category-C HTML doc isn't enough because you need to see AND edit AND traverse the design across tiers; "let's design X", "architect this", "model the system", "draw the flow", "how does this fit together", "diagram this", "/tekton". NOT FOR: a one-off throwaway diagram (use Mermaid inline); prose-only ADRs (write the ADR...

broomva/skills

Generate a polished Remotion video and X thread showcasing the full agent skills inventory. Use when creating social media content about skills, rendering category-based skill visualizations, or producing animated showcases of agent capabilities. Triggers on "skills video", "showcase skills", "skills thread", "render skills", "social content for skills", or requests to visualize the skills inventory.

broomva/skills

OpenCaptions extension for Content Engine — adds intent-driven CWI (Caption With Intent) captions to the post-production pipeline. Hooks into the grade → caption → final stage. Generates captions that understand video intent (pitch, volume, emotion, emphasis) and style themselves accordingly with variable font weight, size, and color. Uses the OpenCaptions CLI or MCP server. Triggers on: 'add captions', 'opencaptions', 'CWI captions', 'intent captions'.

Verwandte Skills