Ir para o guia de uso
animate-expopor Emil Kowalski

Animate Expo Skill.

Um skill para Claude Code e Codex voltado a design de aplicativos móveis: gestos, molas e transições para React Native e Expo.

  • Mobile Apps
  • Código de 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
Metadados e cabeçalhos de seção lidos do arquivo original em 14/09/2026 · 17.458 caracteres no total

01 O que faz

O Que a Skill animate-expo Faz no Claude Code e no Codex

Resumo, fluxo de trabalho e resultados, todos lidos do SKILL.md do skill.

Do SKILL.mdLido em 14/09/2026 · não é uma execução registrada

Nos termos do próprio skill

Um skill de construção para movimento em React Native e Expo. Ele transforma um pedido de animação em uma implementação que resiste à revisão em um dispositivo real, tomando as decisões na ordem que determina se elas parecem certas: deve haver animação, em qual thread ela roda, quais propriedades, spring ou timing, como o gesto faz a transição, como ela se degrada.

Tudo decorre de três fatos do mobile: não há hover, há duas runtimes e o dedo do usuário está sobre o elemento. É para quem está animando um app Expo, adicionando gestos, sheets, transições de tela, feedback de toque ou haptics, ou corrigindo movimento que engasga no dispositivo. O código é escrito com Reanimated, Gesture Handler, Expo Router e expo-haptics.

O que ele produz

  • O próprio código de implementação, escrito diretamente em vez de oferecido como opções.
  • Um resultado curto do gate informando o nível de frequência e o propósito nomeado, incluindo o que foi rejeitado e por quê.
  • A linha de ingredientes: ferramenta, propriedades, spring ou curva mais duração, e em qual runtime o trabalho acontece.
  • Uma lista do que verificar por sensação em um dispositivo, já que a transferência de gesto e o timing de haptics não podem ser lidos no código.
Veja o exemplo de prompt ↗

Como funciona

  1. 01
    Faça o Gate da Animação Antes de Qualquer Coisa

    Uma tabela de frequência decide se o movimento acontece ou não; o nível superior interrompe e não escreve código. Trocas de abas nunca deslizam, porque abas são pares, não uma hierarquia.

  2. 02
    Nomeie o propósito em uma palavra

    A skill exige uma intenção de uma única palavra antes de continuar — feedback, consistência espacial, indicação de estado, prevenção de uma mudança brusca, explicação ou encantamento, este último apenas para raros momentos de primeira vez.

  3. 03
    Escolha a Ferramenta Mais Barata Que Funciona

    Percorra uma tabela e pare na primeira linha que se encaixa: CSS transition, CSS keyframes, layout animation, shared value mais Gesture, depois native stack, formSheet, NativeTabs, Link.Menu, RefreshControl, Lottie ou Skia.

  4. 04
    Restrinja as Propriedades Animadas

    Transform e opacity não custam nada; qualquer outra coisa força uma passagem de layout que executa novamente o Yoga no nó e em seus irmãos em cada quadro.

  5. 05
    Escolha Spring ou Timing a Partir do Dedo

    Qualquer interação conduzida por um dedo recebe um spring, para que a velocidade se mantenha durante uma interrupção; qualquer outra coisa usa uma curva de timing, nunca ease-in.

  6. 06
    Mantenha o Quadro Fora da Thread JS

    Shared values alimentam o useAnimatedStyle em vez do estado do React, e chamadas do runtime RN são empurradas para onEnd ou uma reação de limiar, em vez de disparadas dentro de uma atualização de gesto.

02 Encontre o ideal para você

Quando Usar a Skill animate-expo

Use a skill animate-expo no Claude Code ou Codex quando o trabalho for design de aplicativo mobile deste tipo. Adequação e limites abaixo são retirados do arquivo próprio da skill.

Boa Combinação

  • Animar qualquer coisa em um app Expo, incluindo gestos, sheets, transições de tela, feedback de toque e haptics.
  • Movimento em que um dedo está envolvido, de forma que interruptibilidade e transferência de velocidade sejam tratadas como a base, e não como um acabamento.
  • Uma solicitação que corresponde a uma das receitas nomeadas, na qual você deve partir da receita em vez de um arquivo em branco.
  • Reprojetar affordances web para uma plataforma sem hover, em que estados de hover precisam se tornar toque, posição ou nada.

Conheça os Limites

  • Animação web, que pertence a outra skill.
  • Testar movimento no Expo Go, que não é um ambiente de performance e esconde os problemas que estão sendo procurados.
  • Solicitações que falham no gate de frequência — a skill nomeia o motivo e se recusa a escrever a animação.
  • Projetos ainda na arquitetura antiga, porque o Reanimated 4 requer a New Architecture.

O Que Fornecer

  • A interação e a frequência com que ocorreO nível de frequência decide se algo será construído ou não; trocas de abas, abertura e fechamento do teclado, rolagem e alternância de configurações ficam no nível superior.
  • O propósito, nomeado em uma palavraSem um propósito único e nomeável, não há construção.
  • Os pacotes que o projeto precisa, instalados através do ExpoA instalação passa pelo Expo CLI para que as versões sejam resolvidas em relação ao SDK do projeto, o que um npm install simples não faz.

03 Dentro da skill

Regras que o Skill animate-expo Dá ao Claude Code e ao Codex

8 instruções concretas, padrões e limites que o SKILL.md define para o agente — a parte do arquivo que muda o resultado.

  1. Execute a Sequência em Ordem

    As etapas 1 e 2 condicionam tudo o que vem depois, portanto frequência e propósito nomeado precisam estar definidos antes de qualquer escolha de ferramenta ou propriedade.

  2. Reanimated, Não Core Animated

    O Core Animated não pode ser controlado por um gesto sem cruzar a bridge, e o useNativeDriver só aceita transform e opacity.

  3. Sem valores aproximados

    Curvas e configurações de spring devem ser extraídas das tabelas do arquivo, não inventadas.

  4. Movimento Reduzido Acompanha a Animação

    O tratamento de acessibilidade faz parte da mesma alteração, não é um item para depois.

  5. Avalie a Sensação Apenas em um Build de Release

    A verificação acontece no dispositivo mais lento que você suporta, em um build de release; o simulador e os builds de desenvolvimento não contam.

  6. Use os Dois Parâmetros de Spring da Apple

    Springs são escritos como duration mais dampingRatio mais velocity, não mass, stiffness e damping; o ajuste padrão é { duration: 400, dampingRatio: 1 }, e overshootClamping: true quando uma borda rígida precisa ser mantida.

  7. Respeite a Área de Toque

    Mínimo de 44x44pt no iOS e 48dp no Android, obtido com hitSlop em vez de aumentar o visual, além de pressRetentionOffset para que um desvio não cancele um toque.

  8. Um Haptic por Ação do Usuário

    Os haptics disparam no mesmo frame que o visual, no momento causal, nunca durante o scroll ou por frame, e nunca como o único feedback.

04 Coloque em prática

Instalar animate-expo no Claude Code ou Codex

Um comando npx skills add, depois uma primeira tarefa no seu agente e uma checklist para o resultado.

Adicionar animate-expo ao Claude Code, Codex ou Seu Agente

Rode no seu projeto; o instalador pergunta a qual agente adicioná-lo.

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

Forma genérica do CLI skills para skills/animate-expo/SKILL.md; o repositório pode documentar seu próprio caminho.

Dê à Skill uma Primeira Tarefa de Design de Aplicativo Mobile

Escrito nos próprios termos do skill; substitua as partes entre colchetes pelo seu 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.

Fonte: escrito a partir do SKILL.md nos próprios termos do skill.

Verifique o Primeiro Resultado

O que o próprio SKILL.md diz sobre como é um resultado correto:

  • Controle a interação manualmente no dispositivo: dê um flick, interrompa em pleno voo, reverta.
  • Confirme que CADisableMinimumFrameDurationOnPhone está presente para iPhones com ProMotion, já que SDKs recentes do Expo o definem por padrão.
  • Verifique se o movimento reduzido degrada para menos e mais suave, em vez de zero, mantendo a explicação de opacity e color.
  • Verifique primeiro os quebra-fluxos silenciosos quando nada roda: o plugin Babel de worklets e o GestureHandlerRootView envolvendo o app.

No OpenDesign importe o animate-expo a partir do link do SKILL.md: Plugins → Add → Skill → Import from link, depois selecione-o na barra superior.

05 Código aberto, rastreável

Fonte, Licença e Verificação

De onde vêm os fatos desta página e quando foram verificados pela última vez.

Repository
github.com/emilkowalski/skills Branch main
Arquivo da skill
skills/animate-expo/SKILL.md Checksum de conteúdo registrado na verificação; commit d23d7f8
License
MIT De LICENSE.
Estrelas do repositório
37.516 Snapshot do GitHub capturado em 14/09/2026 para todo o repositório emilkowalski/skills, que contém 9 skills neste catálogo. Não é uma avaliação ou contagem de uso para animate-expo.
Verificado pelo OpenDesign
14/09/2026 Arquivo de origem, caminho, texto da licença e contagem de estrelas foram verificados. Não integrado ao OpenDesign principal (verificado em 28/08/2026); uma execução ao vivo não foi registrada nesta página.

Dentro do SKILL.md

  1. Postura de OperaçãoAja como o engenheiro sênior: decida, declare o motivo em uma linha, escreva o código.
  2. Regras FixasCinco pontos inegociáveis: ordem da sequência, Reanimated, valores tabelados, movimento reduzido, julgamento de build de release.
  3. A Sequência de BuildNove etapas ordenadas, do filtro de frequência às propriedades, springs, thread e haptics.
  4. Configurações que silenciosamente quebram o movimentoAs causas relacionadas à instalação, ao plugin do Babel, à root view e à arquitetura para animações que nunca são executadas.
  5. 120fpsHabilitando CADisableMinimumFrameDurationOnPhone para que iPhones com ProMotion tenham um orçamento de quadro de 8ms.
  6. ReceitasAponta para RECIPES.md para feedback de toque, sheets, swipe, headers, UI de teclado, tabs.
  7. Nunca PubliqueTabela de duas colunas pareando padrões proibidos com a alternativa a ser usada.
  8. SaídaCódigo mais algumas linhas sobre o resultado do filtro, os ingredientes e o que verificar visualmente.
  9. TomOpinativo e breve; diz claramente quando algo não deve ser animado.
A Descrição da Própria Skill
"Construa animações em React Native e Expo, tomando as decisões na ordem que determina se elas parecem certas — ela deve animar, em qual thread executa, quais propriedades, spring ou timing, como o gesto transfere, como degrada. Escreve a implementação com Reanimated, Gesture Handler, Expo Router e expo-haptics. Use quando animar qualquer coisa em um app Expo, adicionar gestos, sheets, transições de tela, feedback de pressão ou haptics, ou corrigir movimento que trava no dispositivo. Para animação web use `animate`."

Descrição do front-matter do SKILL.md. O arquivo completo tem cerca de 17.458 caracteres. Leia o arquivo completo no GitHub.

06 Antes de instalar

Perguntas Sobre o Skill animate-expo

As respostas vêm do SKILL.md conforme lido em 2026-09-14, e não de uma execução registrada.

Por que Reanimated em vez da API Animated principal?

A Animated principal não pode ser controlada por um gesto sem atravessar a bridge, e useNativeDriver aceita apenas transform e opacity. Os worklets do Reanimated são executados na thread de UI e continuam funcionando mesmo quando o JS está ocupado.

O que acontece se a interação ocorrer dezenas de vezes por dia?

O filtro não retorna nenhuma animação para o nível de frequência mais alto — use o padrão da plataforma ou nada, e pare aí. A animação é reservada para momentos ocasionais e raros, como sheets, modais, toasts e estados de sucesso.

Animate Expo

Execute animate-expo em uma tarefa real de design de aplicativo móvel.

Baixe OpenDesign, importe animate-expo do link SKILL.md, cole o prompt acima e leia o plano antes do resultado.

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

OpenDesign Desktop

Um design system. Sua marca consistente em tudo

No Vibe Design Workspace completo, aplique as mesmas regras de marca a sites, apresentações, protótipos interativos, dashboards, imagens e vídeos HTML. Conecte Codex, Claude Code, Cursor e outros agentes de código locais e crie de graça.

  • Sites, apresentações, protótipos, dashboards, imagens e vídeo
  • Mais de 140 design systems e a biblioteca completa de templates e skills
  • Codex local e mais de 21 agentes de código · Grátis
Baixar grátis

Disponível para macOS e Windows