Zur Nutzungsanleitung springen
animate-expovon Emil Kowalski

Animate Expo Skill.

Ein Claude Code und Codex Skill für mobile App-Design: Gesten, Springs und Übergänge für React Native und Expo.

  • Mobile Apps
  • UI-Code
emilkowalski/skills · skills/animate-expo/SKILL.mdSKILL.md
--- name: animate-expo description: Build animations in React Native and Expo, making the decisions in the order that determines whether they feel right — should it animate, which thread it runs on, which properties, spring or timing, how the gesture hands off, how it degrades. Writes the implementation with Reanimated, Gesture Handler, Expo Router and expo-haptics. Use when animating anything in an Expo app, adding gestures, sheets, screen … --- ## Operating Posture ## Hard Rules ## The Build Sequence ## Setup that silently breaks motion ## 120fps ## Recipes
Frontmatter und Abschnittsüberschriften aus der Upstream-Datei vom 14.09.2026 · 17.458 Zeichen insgesamt

01 Was es tut

Was der animate-expo-Skill in Claude Code und Codex tut

Zusammenfassung, Workflow und Ergebnisse — alles aus der SKILL.md des Skills ausgelesen.

Aus der SKILL.mdGelesen am 14.09.2026 · kein aufgezeichneter Durchlauf

In den eigenen Worten des Skills

Ein Konstruktions-Skill für Bewegung in React Native und Expo. Er verwandelt eine Animationsanfrage in eine Implementierung, die eine Review auf einem echten Gerät überlebt, und trifft die Entscheidungen in der Reihenfolge, die darüber bestimmt, ob sie sich richtig anfühlen: Sollte es überhaupt animieren, auf welchem Thread läuft es, welche Eigenschaften, Spring oder Timing, wie übergibt sich die Geste, wie degradiert es.

Alles folgt aus drei mobilen Tatsachen: Es gibt kein Hover, es gibt zwei Runtimes, und der Finger des Nutzers liegt auf dem Element. Es ist für alle gedacht, die eine Expo-App animieren, Gesten, Sheets, Bildschirmübergänge, Press-Feedback oder Haptik hinzufügen oder Bewegung reparieren, die auf dem Gerät stockt. Der Code ist mit Reanimated, Gesture Handler, Expo Router und expo-haptics geschrieben.

Was er erzeugt

  • Der Implementierungscode selbst, direkt geschrieben statt als Optionen angeboten.
  • Ein kurzes Gate-Ergebnis, das die Frequenzstufe und den benannten Zweck angibt, einschließlich dessen, was abgelehnt wurde und warum.
  • Die Zutatenliste: Tool, Eigenschaften, Spring oder Curve plus Dauer, und auf welcher Runtime die Arbeit stattfindet.
  • Eine Liste dessen, was auf einem Gerät gefühlt geprüft werden sollte, da Gesture-Handoff und Haptik-Timing sich nicht aus dem Code ablesen lassen.
Siehe Beispiel-Prompt ↗

So funktioniert es

  1. 01
    Die Animation vor allem anderen gaten

    Eine Frequenztabelle entscheidet, ob überhaupt Bewegung stattfindet; die oberste Stufe stoppt und schreibt keinen Code. Tab-Wechsel gleiten niemals, da Tabs gleichrangig sind und keine Hierarchie bilden.

  2. 02
    Den Zweck in einem Wort benennen

    Der Skill erzwingt eine einwortige Absicht, bevor fortgefahren wird — Feedback, räumliche Konsistenz, Zustandsanzeige, Vermeidung eines abrupten Wechsels, Erklärung oder Delight, letzteres nur für seltene erste Momente.

  3. 03
    Das günstigste funktionierende Tool wählen

    Eine Tabelle durchgehen und bei der ersten passenden Zeile stoppen: CSS-Transition, CSS-Keyframes, Layout-Animation, Shared Value plus Gesture, dann native Stack, formSheet, NativeTabs, Link.Menu, RefreshControl, Lottie oder Skia.

  4. 04
    Die animierten Eigenschaften einschränken

    Transform und Opacity kosten nichts; alles andere erzwingt einen Layout-Pass, der Yoga bei jedem Frame für den Knoten und seine Geschwister neu ausführt.

  5. 05
    Spring oder Timing anhand des Fingers wählen

    Jede vom Finger ausgelöste Interaktion bekommt einen Spring, damit die Geschwindigkeit bei einer Unterbrechung erhalten bleibt; alles andere nutzt eine Timing-Curve, niemals ease-in.

  6. 06
    Den Frame vom JS-Thread fernhalten

    Shared Values versorgen useAnimatedStyle statt React State, und RN-Runtime-Aufrufe werden auf onEnd oder eine Schwellenreaktion verschoben, statt innerhalb eines Gesture-Updates ausgelöst zu werden.

02 Finden Sie Ihren Favoriten

Wann Sie das animate-expo Skill verwenden

Verwenden Sie den animate-expo Skill in Claude Code oder Codex, wenn die Aufgabe diese Art von Mobile-App-Design ist. Eignung und Grenzen unten stammen aus der eigenen Datei des Skills.

Gut geeignet

  • Das Animieren jeglicher Inhalte in einer Expo-App, einschließlich Gestures, Sheets, Screen-Übergängen, Press-Feedback und Haptik.
  • Bewegung, an der ein Finger beteiligt ist, sodass Unterbrechbarkeit und Geschwindigkeits-Handoff als Grundlage und nicht als Feinschliff behandelt werden.
  • Eine Anfrage, die einem der benannten Rezepte entspricht, bei der Sie vom Rezept aus starten sollten statt von einer leeren Datei.
  • Das Neugestalten von Web-Affordanzen für eine Plattform ohne Hover, bei der Hover-Zustände zu Press, Position oder gar nichts werden müssen.

Grenzen kennen

  • Web-Animation, die zu einem anderen Skill gehört.
  • Das Testen von Bewegung in Expo Go, was keine Performance-Umgebung ist und die gesuchten Probleme verdeckt.
  • Anfragen, die das Frequenz-Gate nicht bestehen — der Skill nennt den Grund und lehnt es ab, die Animation zu schreiben.
  • Projekte, die noch auf der alten Architektur laufen, da Reanimated 4 die New Architecture erfordert.

Was Sie bereitstellen sollten

  • Die Interaktion und wie oft sie vorkommtDie Frequenzstufe entscheidet, ob überhaupt etwas gebaut wird; Tab-Wechsel, Öffnen und Schließen der Tastatur, Scrollen und Einstellungs-Toggles gehören zur obersten Stufe.
  • Der Zweck, in einem Wort benanntOhne einen einzigen benennbaren Zweck wird nicht gebaut.
  • Die vom Projekt benötigten Pakete, installiert über ExpoDie Installation läuft über die Expo CLI, damit die Versionen mit dem SDK des Projekts aufgelöst werden, was ein reines npm install nicht leisten würde.

03 Innerhalb des Skills

Regeln, die die animate-expo Skill Claude Code und Codex vorgibt

8 konkrete Anweisungen, Standardwerte und Grenzen, die die SKILL.md für den Agent festlegt – der Teil der Datei, der das Ergebnis verändert.

  1. Die Sequenz in dieser Reihenfolge Ausführen

    Schritte 1 und 2 sind Voraussetzung für alles Weitere: Häufigkeit und benannter Zweck müssen geklärt sein, bevor eine Werkzeug- oder Eigenschaftswahl getroffen wird.

  2. Reanimated, nicht Core Animated

    Core Animated kann nicht ohne Überschreiten der Bridge von einer Geste angetrieben werden, und useNativeDriver lässt außer transform und opacity nichts zu.

  3. Keine angenäherten Werte

    Kurven und Spring-Konfigurationen müssen den Tabellen in der Datei entnommen und nicht frei erfunden werden.

  4. Reduzierte Bewegung Wird Mit Der Animation Mitgeliefert

    Die Barrierefreiheitsbehandlung ist Teil derselben Änderung, kein nachgelagertes Ticket.

  5. Das Gefühl Nur An Einem Release-Build Beurteilen

    Die Überprüfung erfolgt auf dem langsamsten von Ihnen unterstützten Gerät, mit einem Release-Build; Simulator und Dev-Builds zählen nicht.

  6. Apples Zwei Spring-Parameter Verwenden

    Springs werden als duration plus dampingRatio plus velocity geschrieben, nicht als mass, stiffness und damping; der Standard-Ausklang ist { duration: 400, dampingRatio: 1 }, und overshootClamping: true, wenn eine harte Kante halten muss.

  7. Die Touch-Zielgröße Beachten

    Minimum 44x44pt auf iOS und 48dp auf Android, erreicht mit hitSlop statt durch Vergrößerung des visuellen Elements, plus pressRetentionOffset, damit Drift keinen Press abbricht.

  8. Ein Haptik-Feedback pro Nutzeraktion

    Haptik-Feedback löst im selben Frame wie das visuelle Element aus, zum kausalen Zeitpunkt, niemals beim Scrollen oder pro Frame, und niemals als einziges Feedback.

04 In Betrieb nehmen

animate-expo in Claude Code oder Codex installieren

Ein npx skills add-Befehl, dann eine erste Aufgabe in Ihrem Agent und eine Checkliste für das Ergebnis.

animate-expo zu Claude Code, Codex oder Ihrem Agent hinzufügen

Im eigenen Projekt ausführen; der Installer fragt, welchem Agent er hinzugefügt werden soll.

Terminal
npx skills add https://github.com/emilkowalski/skills --skill animate-expo

Generische skills-CLI-Form für skills/animate-expo/SKILL.md; das Repository kann seinen eigenen Pfad dokumentieren.

Geben Sie dem Skill eine erste Mobile-App-Design-Aufgabe

In den eigenen Begriffen des Skills verfasst; ersetzen Sie die Teile in Klammern durch Ihr Material.

Starter prompt
In my Expo app the [filter sheet] is a bottom sheet people open a few times a session, and dragging it down should dismiss it, snapping back if the drag was short. Add press feedback to the [row component] in the list and a selection haptic when the sheet detent catches. Keep all of it on the UI thread — nothing should stutter on a three-year-old Android — and ship reduced-motion handling in the same change.

Quelle: verfasst aus der SKILL.md in den eigenen Begriffen des Skills.

Das erste Ergebnis prüfen

Was die SKILL.md selbst als korrektes Ergebnis beschreibt:

  • Steuern Sie die Interaktion manuell auf dem Gerät: anschnippen, mitten im Flug unterbrechen, umkehren.
  • Bestätigen Sie, dass CADisableMinimumFrameDurationOnPhone für ProMotion-iPhones gesetzt ist, da aktuelle Expo-SDKs es standardmäßig setzen.
  • Prüfen Sie, dass reduzierte Bewegung zu weniger und sanfteren Übergängen führt statt zu null, wobei die Erklärung über Opacity und Farbe erhalten bleibt.
  • Prüfen Sie zuerst die stillen Blocker, wenn gar nichts läuft: das worklets-Babel-Plugin und GestureHandlerRootView, das die App umschließt.

In OpenDesign importieren Sie animate-expo über dessen SKILL.md-Link: Plugins → Add → Skill → Import from link, und wählen Sie es dann in der oberen Leiste aus.

05 Open Source, nachvollziehbar

Quelle, Lizenz und Verifizierung

Woher die Fakten auf dieser Seite stammen und wann sie zuletzt geprüft wurden.

Repository
github.com/emilkowalski/skills Branch main
Skill-Datei
skills/animate-expo/SKILL.md Inhalts-Checksum bei Verifizierung erfasst; Commit d23d7f8
License
MIT Aus LICENSE.
Repository-Sterne
37.516 GitHub-Snapshot vom 14.09.2026 für das gesamte emilkowalski/skills-Repository, das 9 Skills in diesem Katalog enthält. Keine Bewertung oder Nutzungszahl für animate-expo.
Verifiziert von OpenDesign
14.09.2026 Quelldatei, Pfad, Lizenztext und Sternezählung wurden geprüft. Nicht in OpenDesign main gebündelt (geprüft 28.08.2026); ein Live-Durchlauf wurde auf dieser Seite nicht erfasst.

In der SKILL.md

  1. ArbeitshaltungVerhalten Sie sich wie der Senior-Engineer: entscheiden, den Grund in einer Zeile nennen, den Code schreiben.
  2. Feste RegelnFünf nicht verhandelbare Punkte: Reihenfolge, Reanimated, tabellierte Werte, reduzierte Bewegung, Beurteilung im Release-Build.
  3. Die Build-SequenzNeun geordnete Schritte vom Frequenz-Gate über Eigenschaften, Springs, Thread und Haptik.
  4. Setup, das Bewegung lautlos zerstörtDie Ursachen bei Installation, Babel-Plugin, Root-View und Architektur, die Animationen nie zum Laufen bringen.
  5. 120fpsAktivierung von CADisableMinimumFrameDurationOnPhone, damit ProMotion-iPhones ein 8ms-Frame-Budget erhalten.
  6. RezepteVerweist auf RECIPES.md für Press-Feedback, Sheets, Swipe, Header, Tastatur-UI, Tabs.
  7. Niemals VerwendenZweispaltige Tabelle, die verbotene Muster mit der stattdessen zu verwendenden Alternative paart.
  8. AusgabeCode plus ein paar Zeilen zu Gate-Ergebnis, Zutaten und was zu prüfen ist.
  9. TonMeinungsstark und knapp; sagt klar, wenn etwas gar nicht animiert werden sollte.
Die eigene Beschreibung des Skills
„Erstellt Animationen in React Native und Expo und trifft die Entscheidungen in der Reihenfolge, die darüber entscheidet, ob sie sich richtig anfühlen – soll es animieren, auf welchem Thread es läuft, welche Eigenschaften, Spring oder Timing, wie die Geste übergibt, wie es degradiert. Schreibt die Implementierung mit Reanimated, Gesture Handler, Expo Router und expo-haptics. Verwenden Sie es, wenn Sie etwas in einer Expo-App animieren, Gesten, Sheets, Bildschirmübergänge, Press-Feedback oder Haptik hinzufügen oder Bewegungen korrigieren, die auf dem Gerät stocken. Für Web-Animationen verwenden Sie `animate`."

Front-Matter-Beschreibung aus SKILL.md. Die vollständige Datei umfasst etwa 17.458 Zeichen. Lesen Sie die vollständige Datei auf GitHub.

06 Vor der Installation

Fragen zum animate-expo Skill

Die Antworten stammen aus der SKILL.md, gelesen am 14.09.2026, nicht aus einem protokollierten Lauf.

Warum Reanimated statt der Core Animated API?

Core Animated kann ohne Überschreiten der Bridge nicht von einer Geste gesteuert werden, und useNativeDriver akzeptiert ausschließlich transform und opacity. Reanimated-Worklets laufen im UI-Thread und arbeiten weiter, auch wenn JS ausgelastet ist.

Was passiert, wenn die Interaktion dutzende Mal am Tag vorkommt?

Das Gate liefert für die höchste Frequenzstufe überhaupt keine Animation — verwenden Sie das Plattform-Standardverhalten oder nichts und beenden Sie den Vorgang. Animation ist gelegentlichen und seltenen Momenten wie Sheets, Modals, Toasts und Erfolgszuständen vorbehalten.

Animate Expo

Führen Sie animate-expo für eine echte Mobile-App-Design-Aufgabe aus.

Laden Sie OpenDesign herunter, importieren Sie animate-expo über den SKILL.md-Link, fügen Sie die Eingabe oben ein und lesen Sie den Plan vor dem Ergebnis.

Terminal
npx skills add https://github.com/emilkowalski/skills --skill animate-expo

OpenDesign Desktop

Ein Designsystem. Jeder Output unverkennbar deine Marke

Im vollständigen Vibe Design Workspace gelten dieselben Markenregeln für Websites, Slides, interaktive Prototypen, Dashboards, Bilder und HTML-Videos. Verbinde Codex, Claude Code, Cursor und weitere lokale Coding-Agents und gestalte kostenlos.

  • Web, Slides, Prototypen, Dashboards, Bilder und Video
  • 140+ Designsysteme plus die vollständige Vorlagen- und Skill-Bibliothek
  • Lokales Codex und 21+ Coding-Agents verbinden · Kostenlos

Für macOS und Windows