Communitygithub.com

Empro Labs Animation Skill

Entwirft und baut Web-UI-Animationen (Micro-Interaktionen, Komponenten- und Seitenübergänge, Ladeanimationen, Scroll-Enthüllungen und scroll-verknüpfte Effekte) in CSS, der Web Animations API oder GSAP. Zuerst wird ein ANIMATION.md-Bewegungsspezifikation geschrieben, die der Benutzer genehmigt, dann wird Animationscode generiert, der prefers-reduced-motion und ein Performance-Budget respektiert.

Was ist Empro Labs Animation Skill?

Das Empro Labs Animation Skill ist ein spezialisiertes Tool für KI-Agenten (wie Claude Code), um professionelle Web-UI-Animationen zu entwerfen und zu implementieren. Es folgt einem zweistufigen Prozess: Zuerst wird eine detaillierte Bewegungsspezifikation in ANIMATION.md erstellt, die nach Benutzerfreigabe in der zweiten Phase in tatsächlichen Code umgesetzt wird. Das Skill unterstützt CSS, die Web Animations API (WAAPI) und GSAP als Technologie-Stack und deckt ein breites Spektrum ab – von einfachen Hover-Effekten (L1 Micro) über choreografierte Ein-/Ausblendungen und Dialoge (L2 Choreographed) bis hin zu komplexen Scroll-geschichteten Parallax-Effekten (L3 Scroll Story). Besonderer Wert wird auf Performance und Barrierefreiheit gelegt: Es animiert bevorzugt günstige CSS-Eigenschaften wie transform und opacity, vermeidet Layout-Trigger, respektiert prefers-reduced-motion von Grund auf und begrenzt Endlosschleifen mit Pausesteuerung. Das Skill führt automatische Audits mit Python-Skripten durch und enthält eine umfangreiche Referenzbibliothek mit Vorlagen, Checklisten und Best Practices. Entwickler erhalten so eine vollständige Pipeline vom Motion-Design bis zur optimierten, zugänglichen Implementierung.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aj9599995/Empro-Lab-Animation-Skill/tree/main

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Empro Labs Animation Skill?

Web-Motion-Design-Skill. Zwei Schritte: zuerst das Bewegungsspezifikation (ANIMATION.md) schreiben, dann den Code.

ANIMATION.md ist eine Datei, die im Projekt gespeichert wird. Sie kann von Hand bearbeitet, in anderen Projekten wiederverwendet und von anderen Tools gelesen werden.

Pfade in dieser Datei sind relativ zum Skill-Ordner (~/.claude/skills/empro-labs-animation-skill/). Verwende absolute Pfade, wenn du die Skripte ausführst.

Anfrage

Die Anfrage des Benutzers aus dem Slash-Befehl:

$ARGUMENTS

Wenn die obige Anfrage leer ist, stelle eine Frage: Was soll sich bewegen, und wohin? Dann starte Phase A.

Kernablauf

Phase A  Eingabe verstehen  ──→  Phase B  ANIMATION.md schreiben (Benutzer genehmigt)  ──→  Phase C  Implementieren  ──→  Phase D  Audit

Startprüfungen (in dieser Reihenfolge)

  1. Hat das Projekt ANIMATION.md? → Wiederverwenden, bearbeiten oder neu erstellen, wie der Benutzer es wünscht.
  2. Hat es DESIGN.md (vom Web-Design-Skill)? → Farben, Schriftarten und Stilrichtung übernehmen. Die Bewegung konsistent dazu halten.
  3. Hat es Motion-Tokens (--motion-* Variablen oder eine Motion-Datei)? → Wiederverwenden. Keine neuen Werte erfinden.
  4. Hat es bereits Animationscode? → Zuerst python scripts/analyze_motion.py <projekt> --inventory ausführen, damit du weißt, was existiert, bevor du Änderungen vorschlägst.
  5. Nichts davon → Phase A.

Phase A: Verstehen

Eingaben können kombiniert werden:

EingabeWas zu tun ist
Referenz-URLFühre python scripts/capture_motion.py --url [URL] --output ./motion-capture aus. Lies capture.json für reale Dauern, Easings, animierte Eigenschaften und scroll-verknüpfte Effekte. Verwende top.png für die Stimmung.
Video oder Screenshot der BewegungBeschreibe den Auslöser, die ungefähre Dauer und das Easing-Gefühl. Bestätige die Zahlen mit dem Benutzer.
Schlüsselwörter („snappy“, „cinematic“)Ordne sie einer Persönlichkeit in references/motion-personalities.md zu.
Markenname („wie Linear“)Erfasse die Live-Website, wenn sie erreichbar ist. Wenn nicht, frage nach einer Referenz-URL. Rate die Bewegung nicht aus dem Gedächtnis einer Marke.
Vorhandener CodeFühre das Inventarskript aus und behalte, was funktioniert.

A1. Persönlichkeit (höchstens zwei Fragen stellen)

  • Gefühl: ruhig, schnell, verspielt oder filmisch?
  • Seitentyp: inhaltslastig (Bewegung bleibt dezent) oder Präsentationsseite (Bewegung kann führen)?

Zeige ein oder zwei Kandidaten aus references/motion-personalities.md, jeweils mit einer einzeiligen Begründung. Der Benutzer bestätigt.

A2. Interaktionsstufe (erforderlich, nicht überspringen)

Siehe references/interaction-tiers.md.

StufeErlebnisWerkzeuge
L1 MicroHover, Fokus, Drücken, Umschalter, kleine ZustandsänderungenNur CSS-Übergänge
L2 ChoreografiertEin- und Ausblenden, gestaffelte Listen, Modale, Drawer, Routenwechsel, LadeanimationenCSS-Keyframes, Web Animations API oder GSAP-Timeline
L3 Scroll-GeschichteScroll-verknüpfte Enthüllungen, Pin-Effekte, Parallax, Abschnitte gesteuert von einer TimelineGSAP + ScrollTrigger, oder CSS-Scroll-gesteuerte Animationen mit einem Fallback

L3 ist auf zwei fixierte Abschnitte pro Seite begrenzt. Jeder Seitenabschnitt gibt seine Stufe in der Spezifikation an.

A3. Stack

Überprüfe package.json und das Framework (plain HTML, React, Vue, Svelte, Next.js). Wähle Werkzeuge mit references/tooling.md. Standard: CSS und die Web Animations API. Füge GSAP nur für L3 oder komplexe Timelines hinzu.

Phase B: ANIMATION.md schreiben

Folge references/animation-md-template.md. Zehn Abschnitte:

  1. Bewegungspersönlichkeit & Prinzipien
  2. Motion-Tokens (Dauern, Easings, Distanzen)
  3. Choreografie-Inventar (Tabelle: Element, Auslöser, Eigenschaft, Dauer, Easing, Verzögerung, Reduced-Motion-Fallback)
  4. Komponenten-Animation (Standard, Hover, focus-visible, aktiv, deaktiviert, Ein, Aus)
  5. Scroll-Verhalten
  6. Seiten- & Routenübergänge
  7. Performance-Budget
  8. Barrierefreiheit
  9. Dos und Don'ts (mindestens 8 Einträge, davon mindestens 5 Don'ts)
  10. Abhängigkeiten

Zeige eine Zusammenfassung an und warte auf die Genehmigung des Benutzers. Speichere dann ANIMATION.md im Projektstammverzeichnis.

Phase C: Implementieren

  1. Tokens überall. Jede Dauer und jedes Easing ist eine Variable, wie var(--motion-duration-base). Keine magischen Zahlen in Komponenten.
  2. Nur günstige Eigenschaften animieren. transform und opacity zuerst. clip-path und filter sind bei kleinen Elementen erlaubt. Niemals width, height, top, left, margin oder padding animieren, es sei denn, ANIMATION.md hält eine Ausnahme mit Begründung fest.
  3. Reduzierte Bewegung ist Teil der ersten Version, nicht ein späterer Patch. Bewegung wird entfernt, Zustandsänderungen bleiben. Die Distanz-Tokens gehen unter reduzierter Bewegung auf Null, und der prefers-reduced-motion-Block in templates/motion-tokens.css zeigt das Muster.
  4. Verwende die Startdateien, wenn das Projekt noch keine Bewegungsschicht hat: templates/motion-tokens.css und templates/reveal.js.
  5. Schleifen brauchen einen Ausweg. Jede infinite-Animation stoppt oder vereinfacht sich unter reduzierter Bewegung. Jede Schleife, die länger als fünf Sekunden läuft, erhält eine Pausensteuerung.
  6. JavaScript aufräumen. GSAP-Timelines und ScrollTrigger beim Unmounten entfernen (gsap.context() oder useGSAP verwenden). Observer trennen und Listener entfernen.
  7. Bewegung an einem Ort halten. Tokens in eine Datei und Rezepte in kleine Module. Timing-Werte nicht über Komponenten verstreuen.

Phase D: Audit

  1. Führe das statische Audit durch: python scripts/analyze_motion.py <projekt> --strict. Korrigiere jeden Fehler. Überprüfe jede Warnung und behebe sie oder begründe sie in ANIMATION.md.
  2. Führe die Browser-Checks durch:
    • Aktiviere reduzierte Bewegung (DevTools → Rendering → prefers-reduced-motion: reduce). Bestätige, dass keine Bewegung mehr vorhanden ist und der Inhalt noch sichtbar ist.
    • Drossele die CPU (4×) und zeichne das Performance-Panel auf, während die Animation läuft. Suche nach langen Frames.
    • Überprüfe eine Telefonbreite (390 px). Suche nach horizontalem Überlauf von animierten Elementen.
  3. Arbeite references/quality-checklist.md durch.
  4. Berichte, was bestanden hat, was fehlgeschlagen ist und was du behoben hast.

Rote Linien (jeder Punkt muss bestehen)

  • Jede Animation in ANIMATION.md hat einen Reduced-Motion-Fallback.
  • Es werden nur transform, opacity und dokumentierte Ausnahmen animiert.
  • Alle Dauern und Easings stammen aus Tokens.
  • Jede infinite-Schleife respektiert reduzierte Bewegung, und jede Schleife länger als fünf Sekunden hat eine Pausensteuerung.
  • Nichts blinkt mehr als dreimal pro Sekunde.
  • Interaktives Feedback erscheint innerhalb von 100 ms. Mikro-Animationen dauern 250 ms oder weniger. Ein- und Routenübergänge dauern 500 ms oder weniger.
  • Hover-Only-Feedback hat einen Tastaturfokus-Zustand und ein Touch-Äquivalent.
  • Bei Breiten von 600 px oder weniger verursacht kein animiertes Element horizontales Scrollen, und fixierte Abschnitte sind deaktiviert oder vereinfacht.
  • JavaScript-Animationen werden beim Unmounten aufgeräumt.

Referenzindex

Lies nur die Dateien, die die aktuelle Phase benötigt. Lade nicht alle.

DateiInhaltLesen bei
references/animation-md-template.mdANIMATION.md-Ausgabevorlage (10 Abschnitte)Phase B
references/motion-principles.mdWarum und wann animieren, Timing- und Easing-RegelnPhase A und B
references/interaction-tiers.mdL1-, L2- und L3-Stufendefinitionen mit Code-MusternPhase A2 und B
references/motion-personalities.mdVier Persönlichkeitsvoreinstellungen mit Token-WertenPhase A1 und B
references/tooling.mdCSS vs. WAAPI vs. GSAP vs. Motion vs. View Transitions vs. LottiePhase A3
references/component-recipes.mdButton, Card, Accordion, Modal, Drawer, Toast, Tabs, LoaderPhase C
references/gsap-recipes.mdGSAP-Timelines, ScrollTrigger, matchMedia, React-BereinigungPhase C (nur GSAP)
references/scroll-patterns.mdEnthüllung, Fortschrittsbalken, Sticky-Stack, Parallax, horizontales ScrollenPhase B (Scroll) und C
references/performance.mdFrame-Budget, compositor-freundliche Regeln, Mobile-DowngradePhase B und D
references/accessibility.mdReduzierte Bewegung, WCAG-Bewegungskriterien, vestibuläre AuslöserPhase B und D
references/quality-checklist.md100-Punkte-Audit-ChecklistePhase D

Skripte

SkriptVerwendungBenötigt
scripts/analyze_motion.pyStatisches Audit von CSS und JS eines Projekts. Findet Layout-Animation, transition: all, Endlosschleifen, lange Dauern und fehlende Reduced-Motion-Behandlung. --inventory listet die vorhandenen Timing-Werte auf.Python 3 (nur Standardbibliothek)
scripts/capture_motion.pyZeichnet deklarierte und laufende Animationen auf einer Live-URL auf, scrollt die Seite und prüft, was mit reduzierter Bewegung noch läuft. Schreibt capture.json und top.png.Python 3, pip install playwright, python -m playwright install chromium

Beide Skripte akzeptieren --help.

Vorlagen

DateiVerwendung
templates/motion-tokens.cssToken-Variablen, Basis-Keyframes, Enthüllungsregeln und der Reduced-Motion-Block. In das Projekt kopieren.
templates/reveal.jsAbhängigkeitsfreie Scroll-Enthüllung mit IntersectionObserver, die reduzierte Bewegung respektiert.

Sprache

Schreibe ANIMATION.md und die Zusammenfassungen in der Sprache des Benutzers. Behalte CSS, JavaScript und Token-Namen auf Englisch.

Fallback-Kette

  • Erfassungsskript schlägt fehl (kein Playwright oder die Website blockiert den Browser) → frage nach einem Screenshot oder einer kurzen Bildschirmaufnahme und baue daraus die Beschreibung.
  • Die Referenz verwendet eine Animationsbibliothek, die du nicht identifizieren kannst → sage dies und frage, ob das Gefühl oder die exakte Bewegung nachgebildet werden soll.
  • Gar keine Eingabe → stelle eine Frage zum Gefühl, verwende dann die ruhige Persönlichkeit.

Verwandte Skills