Vai alla guida all’uso
animate-expodi Emil Kowalski

Animate Expo Skill.

Uno skill per Claude Code e Codex dedicato alla progettazione di app mobile: gesture, spring e transizioni per React Native ed Expo.

  • Mobile Apps
  • Codice UI
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
Front matter e intestazioni di sezione lette dal file upstream il 14-09-2026 · 17.458 caratteri in totale

01 Cosa fa

Cosa fa la Skill animate-expo in Claude Code e Codex

Sintesi, workflow e output, tutto letto dal SKILL.md della skill.

Dal SKILL.mdLetto il 14-09-2026 · non è un'esecuzione registrata

Nelle parole della skill

Una skill di costruzione per il motion in React Native ed Expo. Trasforma una richiesta di animazione in un'implementazione che supera la revisione su un dispositivo reale, prendendo le decisioni nell'ordine che determina se risultano corrette: se animare affatto, su quale thread viene eseguita, quali proprietà, spring o timing, come avviene il passaggio del gesto, come degrada.

Tutto discende da tre fatti mobile: non esiste il passaggio del mouse, esistono due runtime e il dito dell'utente è sull'elemento. È pensata per chi anima un'app Expo, aggiunge gesture, sheet, transizioni tra schermate, feedback alla pressione o feedback haptic, oppure corregge animazioni che scattano sul dispositivo. Il codice è scritto con Reanimated, Gesture Handler, Expo Router e expo-haptics.

Che cosa produce

  • Il codice di implementazione stesso, scritto direttamente piuttosto che proposto come opzioni.
  • Un breve risultato del gate che indica il livello di frequenza e lo scopo dichiarato, incluso ciò che è stato respinto e perché.
  • La riga degli ingredienti: tool, proprietà, spring o curva più durata, e su quale runtime avviene il lavoro.
  • Un elenco di ciò che va verificato "a sensazione" su un dispositivo, poiché il passaggio dei gesti e il timing dell'haptic non si possono leggere dal codice.
Vedi l'esempio di prompt ↗

Come funziona

  1. 01
    Sottoponga l'Animazione al Gate Prima di Ogni Altra Cosa

    Una tabella di frequenza decide se il movimento debba avvenire o meno; il livello più alto blocca il processo e non scrive alcun codice. I cambi di tab non scorrono mai perché le tab sono elementi paritari, non una gerarchia.

  2. 02
    Definisci lo Scopo in una Parola

    Lo skill impone di indicare un'unica intenzione in una parola prima di procedere — feedback, coerenza spaziale, indicazione di stato, prevenzione di un cambiamento brusco, spiegazione o delight, quest'ultimo riservato ai rari momenti di primo utilizzo.

  3. 03
    Scelga lo Strumento Più Economico che Funziona

    Scorra una tabella e si fermi alla prima riga adatta: CSS transition, CSS keyframes, layout animation, shared value più Gesture, poi native stack, formSheet, NativeTabs, Link.Menu, RefreshControl, Lottie o Skia.

  4. 04
    Limiti le Proprietà Animate

    Transform e opacity non costano nulla; tutto il resto forza un passaggio di layout che riesegue Yoga sul nodo e sui suoi fratelli a ogni frame.

  5. 05
    Scelga Spring o Timing in Base al Dito

    Qualsiasi interazione guidata da un dito riceve una spring, così la velocità si trasmette attraverso un'interruzione; tutto il resto usa una curva timing, mai ease-in.

  6. 06
    Tenga il Frame Fuori dal Thread JS

    I shared value alimentano useAnimatedStyle invece dello state React, e le chiamate al runtime RN vengono spostate su onEnd o su una reazione a soglia invece di essere lanciate dentro un aggiornamento del gesto.

02 Trova la tua applicazione

Quando Usare lo Skill animate-expo

Usa lo skill animate-expo in Claude Code o Codex quando il lavoro riguarda design di app mobile di questo tipo. Ambito e limiti qui sotto sono tratti dal file dello skill stesso.

Buona applicazione

  • Animare qualsiasi cosa in un'app Expo, inclusi gesti, sheet, transizioni di schermata, feedback alla pressione e haptics.
  • Movimento in cui è coinvolto un dito, per cui l'interrompibilità e il trasferimento della velocità sono trattati come base e non come rifinitura.
  • Una richiesta che corrisponde a una delle ricette nominate, in cui dovrebbe partire dalla ricetta invece che da un file vuoto.
  • Riprogettare affordance web per una piattaforma senza hover, dove gli stati hover devono diventare pressione, posizione o nulla.

Conosci i limiti

  • Animazione web, che appartiene a un altro skill.
  • Testare il movimento in Expo Go, che non è un ambiente di performance e nasconde i problemi che si stanno cercando.
  • Richieste che non superano il gate di frequenza — lo skill indica il motivo e rifiuta di scrivere l'animazione.
  • Progetti ancora sulla vecchia architettura, perché Reanimated 4 richiede la New Architecture.

Cosa fornire

  • L'interazione e la sua frequenzaIl livello di frequenza decide se costruire qualcosa o no; i cambi di tab, l'apertura e chiusura della tastiera, lo scrolling e i toggle delle impostazioni si trovano nel livello più alto.
  • Lo scopo, indicato in una parolaSenza uno scopo unico e nominabile non c'è alcuna costruzione.
  • I pacchetti necessari al progetto, installati tramite ExpoL'installazione passa attraverso Expo CLI in modo che le versioni si risolvano rispetto all'SDK del progetto, cosa che npm install da solo non farebbe.

03 Dentro la skill

Regole che la Skill animate-expo fornisce a Claude Code e Codex

8 istruzioni concrete, valori predefiniti e limiti che il SKILL.md imposta per l'agente — la parte del file che cambia il risultato.

  1. Esegui la Sequenza in Ordine

    I passaggi 1 e 2 condizionano tutto ciò che segue, quindi frequenza e scopo dichiarato devono essere definiti prima di qualsiasi scelta di tool o proprietà.

  2. Reanimated, Non Core Animated

    Core Animated non può essere pilotato da un gesture senza attraversare il bridge, e useNativeDriver accetta solo transform e opacity.

  3. Nessun valore approssimato

    Curve e configurazioni spring devono essere prese dalle tabelle nel file, non inventate.

  4. Il Reduced Motion Viene Incluso con l'Animazione

    La gestione dell'accessibilità fa parte della stessa modifica, non di un ticket successivo.

  5. Valuta la Resa Solo su una Build di Release

    La verifica avviene sul dispositivo più lento tra quelli supportati, su una build di release; il simulatore e le build di sviluppo non contano.

  6. Usa i Due Parametri Spring di Apple

    Gli spring si scrivono come duration più dampingRatio più velocity, non mass, stiffness e damping; l'assestamento predefinito è { duration: 400, dampingRatio: 1 }, e overshootClamping: true quando un limite rigido deve tenere.

  7. Rispetta l'Area di Tocco

    Minimo 44x44pt su iOS e 48dp su Android, ottenuto con hitSlop piuttosto che aumentando l'elemento visivo, più pressRetentionOffset in modo che la deriva non annulli una pressione.

  8. Un Feedback Haptico per Azione dell'Utente

    Il feedback haptico scatta nello stesso frame dell'elemento visivo, al momento causale, mai durante lo scroll o a ogni frame, e mai come unico feedback.

04 Mettila al lavoro

Installa animate-expo in Claude Code o Codex

Un comando npx skills add, poi un primo task nel tuo agente e una checklist per il risultato.

Aggiungi animate-expo a Claude Code, Codex o Il Tuo Agente

Eseguitelo nel Suo progetto; l'installer chiede a quale agente aggiungerlo.

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

Forma generica della CLI skills per skills/animate-expo/SKILL.md; il repository può documentare un proprio percorso.

Dai Allo Skill Un Primo Task Di Design Di App Mobile

Redatto nei termini propri della skill; sostituisca le parti tra parentesi con il suo materiale.

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.

Fonte: redatto a partire dal SKILL.md, nei termini propri della skill.

Verifica il primo risultato

Ciò che il SKILL.md stesso indica come risultato corretto:

  • Guida l'interazione a mano sul dispositivo: dalle un colpo, interrompila a metà, invertila.
  • Verifica che CADisableMinimumFrameDurationOnPhone sia presente per gli iPhone ProMotion, poiché gli SDK Expo recenti lo impostano di default.
  • Verifica che il reduced motion si degradi a movimenti meno numerosi e più delicati piuttosto che a zero, mantenendo la spiegazione tramite opacity e colore.
  • Controlla prima i blocchi silenziosi quando nulla funziona: il plugin Babel dei worklet e il GestureHandlerRootView che avvolge l'app.

In OpenDesign importa animate-expo dal suo link SKILL.md: Plugins → Add → Skill → Import from link, poi selezionalo nella barra superiore.

05 Open source, tracciabile

Sorgente, licenza e verifica

Da dove provengono i dati di questa pagina e quando sono stati verificati l'ultima volta.

Repository
github.com/emilkowalski/skills Branch main
File della skill
skills/animate-expo/SKILL.md Checksum del contenuto registrato alla verifica; commit d23d7f8
License
MIT Da LICENSE.
Stelle del repository
37.516 Snapshot GitHub acquisita il 2026-09-14 per l'intero repository emilkowalski/skills, che contiene 9 skill in questo catalogo. Non è un punteggio o un conteggio di utilizzo per animate-expo.
Verificato da OpenDesign
14/09/2026 File sorgente, percorso, testo della licenza e conteggio delle stelle sono stati verificati. Non inclusa in OpenDesign main (verificato il 28/08/2026); un'esecuzione live non è stata registrata in questa pagina.

All'interno di SKILL.md

  1. Impostazione OperativaAgisci come l'ingegnere senior: decidi, indica il motivo in una riga, scrivi il codice.
  2. Regole rigideCinque punti non negoziabili: ordine della sequenza, Reanimated, valori tabellati, motion ridotta, giudizio sulla build di release.
  3. La sequenza di buildNove passaggi ordinati, dal filtro di frequenza fino a proprietà, springs, thread e haptics.
  4. Configurazioni che interrompono la motion in silenzioLe cause legate a installazione, plugin Babel, root view e architettura per cui l'animazione non viene mai eseguita.
  5. 120fpsAbilitare CADisableMinimumFrameDurationOnPhone così gli iPhone ProMotion ottengono un budget di frame di 8ms.
  6. RicetteRimanda a RECIPES.md per feedback alla pressione, sheet, swipe, header, UI della tastiera, tab.
  7. Da non fare maiTabella a due colonne che affianca i pattern vietati alla sostituzione da usare.
  8. OutputCodice più poche righe sul risultato del filtro, sugli ingredienti e su cosa verificare a sensazione.
  9. TonoDeciso e conciso; se qualcosa non deve animarsi affatto, lo si dice chiaramente.
Descrizione della skill
"Costruisci animazioni in React Native ed Expo, prendendo le decisioni nell'ordine che determina se funzionano — deve animare, su quale thread gira, quali proprietà, spring o timing, come il gesto passa la mano, come degrada. Scrive l'implementazione con Reanimated, Gesture Handler, Expo Router ed expo-haptics. Usa quando animi qualsiasi cosa in un'app Expo, aggiungi gesti, sheet, transizioni di schermo, feedback di pressione o haptics, o correggi movimento che stutta su dispositivo. Per animazioni web usa `animate`."

Descrizione front-matter da SKILL.md. Il file completo è di circa 17.458 caratteri. Leggi il file completo su GitHub.

06 Prima di installare

Domande sulla Skill animate-expo

Le risposte provengono dal SKILL.md letto il 2026-09-14, non da un'esecuzione registrata.

Perché Reanimated invece della API Animated principale?

Animated principale non può essere guidata da un gesto senza attraversare il bridge, e useNativeDriver accetta solo transform e opacity. I worklet di Reanimated girano sul thread UI e continuano a funzionare anche quando JS è occupato.

Cosa succede se l'interazione avviene decine di volte al giorno?

Il filtro non restituisce alcuna animazione per il livello di frequenza più alto: si usa il default della piattaforma oppure niente, e ci si ferma. L'animazione è riservata a momenti occasionali e rari, come sheet, modali, toast e stati di successo.

Animate Expo

Esegui animate-expo su un compito reale di design di app mobile.

Scarica OpenDesign, importa animate-expo dal suo link SKILL.md, incolla il prompt qui sopra e leggi il piano prima del risultato.

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

OpenDesign Desktop

Un solo design system. Il tuo brand, coerente ovunque

Nel Vibe Design Workspace completo, applica le stesse regole di brand a siti, presentazioni, prototipi interattivi, dashboard, immagini e video HTML. Collega Codex, Claude Code, Cursor e gli altri agenti di coding locali e crea gratis.

  • Siti, presentazioni, prototipi, dashboard, immagini e video
  • Oltre 140 design system e la libreria completa di template e skill
  • Codex locale e oltre 21 agenti di coding · Gratis
Scarica gratis

Disponibile per macOS e Windows