Communitygithub.com

Reel Motion Graphics (Erklär-Videos im 9:16-Format)

Verwandelt ein Skript oder Konzept in einen markengerechten 9:16-Erklär-Clip (Luxus-Tech, warmer Sand auf fast Schwarz, Glas-Morphism, CSS 3D, Bodoni + Instrument Sans) auf Basis von HyperFrames, mit der Animation oberhalb der Falte und dem Präsentator-Kopf darunter.

Was ist Reel Motion Graphics (Erklär-Videos im 9:16-Format)?

Dieser Skill erstellt professionelle 9:16-Erklär-Videos (Reels) im Stil des Hauses, der erstmals für 'Upcycling in 30 Seconds' entwickelt wurde. Das Verzeichnis `template/` enthält dieses Referenz-Reel als funktionierendes HyperFrames-Projekt. Deine Aufgabe ist es, dessen Inhalt durch das neue Skript zu ersetzen, während alle unten stehenden Regeln eingehalten werden. Der Skill unterstützt primär HyperFrames als Plattform, kann aber auch auf andere Frameworks übertragen werden. Das Ergebnis ist ein vollständiges HyperFrames-Projekt, eine gerenderte MP4-Datei und ein Live-Artifact-Player.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jamesisbuilding/App-Building-Skills/tree/main/skills/reel-motion-graphics

In Ihrer bevorzugten KI fragen

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

Vorschau

Aus dem Skill-README

Dokumentation

Was macht Reel Motion Graphics (Erklär-Videos im 9:16-Format)?

Dieser Skill erstellt Reels im Hausstil, der erstmals für "Upcycling in 30 Seconds" entwickelt wurde. template/ ist dieses Reel als funktionierendes HyperFrames-Projekt, sodass eine frische Kopie korrekt rendert, bevor du etwas änderst. Deine Aufgabe ist es, den Inhalt durch das neue Skript zu ersetzen, während alle unten stehenden Regeln eingehalten werden.

Lade /hyperframes-core für den Kompositionsvertrag, bevor du Kompositions-HTML schreibst. Lade /hyperframes-animation nur, wenn du ein Bewegungsmuster benötigst, das nicht in references/primitives.md enthalten ist.

1. Skript lesen und Abschnitte planen

Ermittle oder leite Folgendes ab und frage nur nach dem, was den Film verändert:

  • Das Skript oder Konzept. Erforderlich.
  • Präsentator-Aufnahme (MP4) oder ein Standbild. Ohne eines behalte das Platzhalter-Standbild aus der Vorlage.
  • Quellenangabe für die Titelzeile, z. B. ICLR 2023 · Author et al..
  • Ziellänge. Standard 30 s; 20–60 s sind möglich.

Unterteile das Skript in: eine Titelkarte (ca. 4 s), 2–5 Schritte (je 4,5–6 s) und optional einen Ergebnis-/Abschluss-Teil (ca. 5,5 s). Schreibe für jeden Schritt:

  • eine Überschrift als normale Wörter plus eine 1–2-Wort-kursive Betonung ("Kopiere das MLP acht Mal"), maximal ca. 22 Zeichen, damit es bei 656 px und 60 px passt;
  • eine Bildunterschrift: Zeile 1 ist ein Satz mit max. ca. 34 Zeichen (Bodoni kursiv 40 px), Zeile 2 ist ein unterstützender Satz mit max. ca. 40 Zeichen;
  • den Diagramm-Schritt aus dem Grundvokabular (references/primitives.md → "Ein neues Diagramm schreiben").

Gehe von ca. 2,5 gesprochenen Wörtern pro Sekunde aus, wenn die Bildunterschriften die Erzählung spiegeln. Schreibe den Plan in STORYBOARD.md im Projekt (Abschnitt, Zeitbereich, Überschrift, Bildunterschrift, visueller Schritt), zeige ihn dem Benutzer und baue erst, wenn er zustimmt. Ein kurzes Skript, das der Benutzer bereits genehmigt hat, kann direkt in den Build gehen.

2. Grundgerüst

Dieser Skill lebt im Reel Creator-Projekt (.claude/skills/reel-motion-graphics/). Führe Befehle vom Projektstamm aus aus und lege jedes neue Reel in reels/<slug>/ an. Skriptpfade wie scripts/solve-fold.py sind relativ zu diesem Skill-Ordner.

.claude/skills/reel-motion-graphics/scripts/new-reel.sh reels/<slug> [presenter.jpg|.mp4]

Ersetze für Präsentator-Video das <img id="presenter"> in index.html durch: <video id="presenter" class="clip" src="assets/presenter.mp4" data-start="0" data-duration="<D>" data-has-audio="true" playsinline></video> Das #presenter-CSS (Cover, 20 % Anker, unterhalb --fold) wird unverändert angewendet.

3. Bauen: Zuerst die Daten bearbeiten, dann das Diagramm schreiben

DateiWas ändern
index.htmlRoot und Host data-start/data-duration an den Plan anpassen. Hosts: bg (gesamt), title (0–4), headings und diagram (4–Ende), result (sein Fenster), captions (gesamt), presenter (gesamt).
compositions/title.htmlQuellenzeile, die zwei Display-Zeilen, die zwei Thesen-Zeilen und das Mini-Diagramm, falls die Idee nicht "1 → viele" ist.
compositions/headings.htmlNur das STEPS-Array (Host-lokale Sekunden). Balken und "Schritt n von N" werden daraus abgeleitet.
compositions/captions.htmlNur das CAPS-Array (globale Sekunden). Jede ca. 0,35 s nach Schrittbeginn einblenden und bis Schrittende anzeigen.
compositions/diagram.htmlDie Welt für das neue Thema neu schreiben, unter Verwendung der Grundelemente. Behalte die Linsen/Welt/Drift-Struktur, das Token-Clock-Muster und die Hintergrundstaffelung.
compositions/result.htmlStatistik-Labels, Werte, Zähler und Metazeilen – oder den Host löschen, wenn das Skript keine Zahlen enthält.
compositions/bg.htmlMeist unverändert. Skaliere seine Yoyo-Wiederholungen so, dass sie bei der Root-Dauer enden.

Wenn die Bibliothek keine passende Grafik enthält: um einen HyperFrames-Link bitten

Die Bibliothek ist references/primitives.md. Wenn ein Abschnitt eine Visualisierung benötigt, die kein Grundbaustein abdeckt (Diagrammtyp, Karte, Zeitleiste, Vergleich oder etwas anderes, das nicht aufgeführt ist), improvisiere nicht selbst. Halte inne und bitte den Benutzer um einen Link:

"Abschnitt 3 ('Umsatz verdreifacht seit 2021') benötigt ein Wachstumsdiagramm und die Bibliothek hat keins. Kannst du einen HyperFrames-Katalog-Link für eine Grafik schicken, die dir gefällt? Ich werde sie auf unsere Marke umstellen."

Um die Auswahl zu erleichtern, kannst du 2–4 Kandidaten aus npx --yes [email protected] catalog "<Suchbegriff>" auflisten, aber lass den Benutzer wählen. Baue während des Wartens die anderen Abschnitte weiter und hinterlasse einen beschrifteten Platzhalter in der Lücke.

Wenn der Link eintrifft:

  1. Installiere ihn. Das Registry-Item ist das letzte Pfadsegment des Katalog-Links. Führe npx --yes [email protected] add <name> --no-clipboard --json vom Projekt aus. Für einen Link, der nicht aus der Registry stammt, lies die Seite oder Quelle und baue sie neu zusammen.
  2. Passe ihn an die Hausregeln an:
    • Tausche die Farben gegen Marken-Tokens und die Panels gegen .glass;
    • Verwende Bodoni und Instrument Sans mit den opsz-18-Dateien;
    • Setze alle Abstandswerte auf das 4px-Raster;
    • Passe ihn an die Inhalts- und Zonen-Spalte an;
    • Füge Schimmer, Glanz und Drift-Akzente hinzu;
    • Entferne alles Markenfremde, wie flache helle Füllungen, andere Schriftarten oder Schlagschatten-Stile.
  3. Binde ihn ein als Unterkompositions-Host auf der Grafikspur oder integriere seine Bewegung in diagram.html, wenn er die kontinuierliche Welt teilen muss. Überprüfe, erstelle einen Snapshot und korrigiere wie üblich.
  4. Füge ihn zur Bibliothek hinzu. Hänge einen Eintrag in references/primitives.md unter "Von HyperFrames umgestaltet" an: Name, Quelllink, was gezeigt wird und die wichtigsten Parameter. Kopiere die umgestaltete Datei in template/compositions/library/, damit das nächste Reel sie ohne erneute Anfrage wiederverwenden kann.

4. Hausregeln (jedes Reel, keine Ausnahmen)

  1. Falte gleichmäßig. Die Falte sitzt auf halbem Weg zwischen dem untersten Animationsinhalt (Bildunterschriften-Unten, etwa y 900) und dem Oberkopf des Präsentators. Löse es mit scripts/solve-fold.py <Präsentator-Standbild oder ein Frame> 900 und setze --fold in brand.css (ein Vielfaches von 4). Überprüfe mit scripts/measure-fold.py <Snapshot> <fold>. Überprüfe bei Video ein Frame, in dem der Kopf am höchsten ist.
  2. 4px-Raster. Jeder Abstand, Zwischenraum, Offset, jede Größe und Zeilenhöhe ist ein Vielfaches von 4. Container haben gleichmäßige Abstände und passen sich dem Inhalt an; gib einer Karte niemals eine feste Höhe. Führe scripts/audit-grid.sh <Projekt> aus; die einzigen erlaubten Ausnahmen sind Haarrandlinien, Glühradien und Tween-Bewegungs-Offsets.
  3. Stabile Serife. Verwende nur die *-opsz18.woff2 Bodoni-Dateien in fonts/. Die variable Schriftart wählt automatisch dünne optische Größen für Displays, die nach H.264 und Handy-Downscaling verschwinden. Wechsle niemals zurück zur variablen Datei oder zu Googles Bereich 6..96.
  4. Zonen. App-Leiste 0–175 (frei halten), Animation 192–780, Bildunterschriften-Band 812–904, Präsentator unterhalb --fold, Inhalts-Spalte x 172–828 (frei von der rechten Schiene). Bildunterschriften leben auf nur einer Spur.
  5. Eine kontinuierliche Diagramm-Welt. Elemente, die über Schritte hinweg bestehen, leben in diagram.html und bewegen sich. Sie treten nie in einer neuen Szenendatei wieder ein.
  6. Determinismus. Verwende nur pausierte GSAP-Timelines, die auf window.__timelines["<id>"] registriert sind. Verwende gesäten rng() oder hh() anstelle von Math.random und kein requestAnimationFrame, keine Uhren oder Netzwerk. Animierte Zähler und Partikel sind reine Funktionen eines Proxy-Tween-Werts.
  7. Lint-sicherer Aufbau.
    • Ziel auf das eigene Root einer Unterkomposition mit document.querySelector('[data-composition-id="<id>"]:not([data-composition-src])'), niemals #root (mehrere Roots teilen diese ID, wenn sie zusammengesetzt sind).
    • Präfixiere Element-IDs mit der Komposition (dg-, hd-, rs-, ti-).
    • Verwende ein fromTo pro Element-Eigenschafts-Paar, dann to.
    • Tweene niemals letterSpacing, width, height, top oder left; verwende Transforms und Opacity.
    • Verteile einzelne Labels, sodass sie im Ruhezustand nicht überlappen.
  8. Aussehen. Fast schwarzer, warmer Hintergrund mit treibendem Licht und Körnung; .glass für jedes Panel; goldener Schimmer auf Akzenten; kleine Kamera-Drift bei jedem Halten; halte jeden fertigen Zustand mindestens 1 s.

5. Prüfen, dann ausliefern

Führe diese Befehle vom Projektverzeichnis aus aus:

npx --yes [email protected] check
npx --yes [email protected] snapshot --at <der Mittelpunkt jedes Abschnitts>
  • check muss mit 0 Fehlern bestehen. Überprüfe alle Warnungen.
  • Sieh dir das Kontaktblatt an. Beschneide und zoome jedes dichte Bild: Achte auf Überlappungen, abgeschnittenen Text, falsch platzierte Tokens und ungleichmäßige Abstände.
  • Führe measure-fold.py und audit-grid.sh aus und behebe alles, was sie beanstanden.
  • Rendere mit npx --yes [email protected] render; das Ergebnis liegt in renders/.
  • Erstelle eine freigegebene Kopie unter 30 MB für die Telefonansicht: ffmpeg -i renders/<Datei>.mp4 -c:v libx264 -crf 23 -preset slow -pix_fmt yuv420p -movflags +faststart renders/<slug>-share.mp4
  • Live-Player: Führe vom Projektstamm node viewer/build.mjs aus. Es erstellt den Live-Player jedes Reels neu (reel/ plus jedes reels/<slug>/) und schreibt das Karussell viewer/index.html mit einer Kopie pro Reel in viewer/reels/. Veröffentliche viewer/index.html im Reel-Library-Artifact https://claude.ai/artifact/Joet84qdr6Kb47vYZzc8YR und übergebe alle viewer/reels/*.html in files. Der Benutzer bevorzugt den Live-HTML-Player gegenüber einem eingebetteten Video. Für ein einzelnes Reel allein schreibe node build-preview.mjs in dessen Ordner dist/preview.html.
  • Berichte die Laufzeit, was geprüft wurde (Frames, Faltlücken, Audit) und alles, was noch nicht verifiziert ist.

Referenz

  • references/primitives.md: jeder visuelle Grundbaustein mit der Datei, die ihn implementiert.
  • template/: das vollständige Upcycling-Reel. Es ist die Qualitätslatte; vergleiche neue Arbeit damit.

Individual skills in this repo

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

app-icon-design

Create, revise, and audit app icons using Apple's Human Interface Guidelines, with a clear visual identity and production-ready deliverables.

app-keyword-research

Validate an app idea against the App Store before building it. Turns the idea into search phrases, measures demand (App Store autocomplete) and competition (current top-10 apps) for each, ranks keywords by opportunity, and maps which apps own the market. Use when the user wants keyword research, ASO, "is there demand for…", "who are the competitors for…", "what should we call it / which keywords", or to validate or compare app ideas.

app-offer

Designs one opinionated "Grand Slam Offer" for any app idea, new or already shipped, by running Alex Hormozi's $100M Offers method adapted to app stores. It covers the market and niche, the commodity check, a value-equation audit, the problem inventory, delivery vehicles, the trimmed value stack, pricing and tiers, scarcity, urgency, bonuses, the guarantee, naming, the paywall per placement, the onboarding fast win, a test plan and a ship plan. It works within App Store and Google Play rules. For a shipped app it reads the code and notes first and produces a before/after. Use it when the user says "/app-offer", "run app-offer on <idea>", "make a grand slam offer for my app", "Hormozi my app", "price my app" or "design my paywall offer", or asks how to package, price, name, guarantee or paywall an app. It writes offer/grand-slam-offer.md (or ./<app-slug>-grand-slam-offer.md for a new idea).

brand-reference-pack

Build or refresh a shortform brand reference pack for any app from its real surfaces — website, App Store listing and reviews, socials, the live app (driven end to end on the simulator) and its code tokens — plus a status check of the upstream foundations (ICP, voice of customer, brand voice). Produces the context that content formats and design decisions are made from, as markdown, tokens.json and a PDF. Use for "build a brand pack for <app>", "refresh the brand pack", "capture the site/app/socials for shortform", "/brand-reference-pack".

deep-work

Timekeeper and scribe for the user's own timeboxed build session, default 90 min, also 1h / 1.5h / 2h (Orient, Build, Verify, Harden, Close, scaled to the block). Use when the user says "start a session", "deep work", "90 min block", "work block", or invokes /deep-work. Subcommands: status, park <note>, close, abort.

new-app-info

Builds the information pack Apple asks for when App Review replies "We need additional information to better understand the app". It covers all six required items: (1) a screen recording on a physical device, as a shot list the user records; (2) the app's purpose and target audience; (3) setup and main features, with any login credentials or sample files; (4) the external services the app uses; (5) regional differences; (6) regulated industry or protected third-party material. It also runs Apple's "Prevent common issues" checks. Every answer comes from the app's own code (accounts, user-generated content, in-app purchases, SDKs, locales, screen-capture blocking, data deletion). It reads the connected iPhone's iOS version and checks it is the latest. It ends by telling the user to paste the reply into App Review Information → Notes. Use it when the user pastes that App Review message, says "/new-app-info", "we got rejected, they want more info", "answer App Review", or "make the App Store review pack". It w...

Verwandte Skills