expo-animation
Fornece orientação sobre animações no Expo. Ajuda a criar efeitos visuais interessantes no seu aplicativo. Útil para deixar o app mais bonito e interativo.
O que ela faz
Esta ferramenta ajuda a criar animações fluidas e responsivas para aplicativos móveis, garantindo que funcionem bem em diferentes dispositivos.
Quando usar
- ✓Quando você quer que um elemento se mova suavemente ao ser tocado.
- ✓Ao criar transições entre telas ou elementos.
- ✓Para adicionar efeitos visuais que melhoram a experiência do usuário.
Exemplo do que pedir para a IA
“Crie uma animação de 'fade in' para um botão quando ele aparecer na tela.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ela usa ferramentas específicas (como Reanimated) que rodam no 'fio' certo do celular para que as animações não travem. O foco é fazer a animação acontecer sem atrapalhar o resto do aplicativo.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill expo-animationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/expo-animation/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Quando Usar
- Use quando este fluxo de trabalho upstream corresponder ao objetivo declarado do usuário.
- Use quando a tarefa exigir os procedimentos documentados nesta habilidade.
Construindo Animações no Expo
Esta habilidade foi criada em colaboração com Emil Kowalski e também pode ser encontrada no repositório emilkowalski/skills, junto com outras habilidades úteis de animação.
Uma habilidade de construção para React Native. Ela transforma uma solicitação de movimento em uma implementação que sobrevive a uma revisão rigorosa em um dispositivo real — não no simulador, nem em um telefone de ponta em modo de desenvolvimento.
O mobile muda três coisas sobre animação, e tudo nesta habilidade deriva delas:
- Não existe hover. Toda a acessibilidade que a web coloca no hover tem que viver no toque, posição ou nada.
- Existem dois runtimes. Worklets (Reanimated 4) deixa isso explícito: o runtime do React Native, onde o React renderiza e a lógica do seu aplicativo é executada, e o runtime da UI, onde os worklets rodam a cada frame (mais runtimes de worker opcionais para trabalho em segundo plano). Uma animação que toca o runtime do RN falha no momento em que o aplicativo faz qualquer outra coisa. Todo o ofício é manter o movimento no runtime da UI.
- O dedo do usuário está no elemento. Gestos são a entrada principal, então interrupção e transferência de velocidade não são polimento — são o básico.
Postura Operacional
Você é um engenheiro mobile sênior construindo a animação você mesmo. Tome a decisão, declare o raciocínio em uma linha, escreva o código. Nunca apresente opções de movimento como um menu.
Dois modos de falha, e o primeiro é o pior:
- Animar algo que não deveria animar. O portão abaixo existe para produzir zero linhas de código às vezes.
- Animar a coisa certa no thread errado — um
setStatepor frame, umPanResponder, umheightanimado. Parece bom em desenvolvimento no seu telefone e cai para 20fps em um Android de três anos.
Regras Rígidas
- Execute a sequência em ordem. Os passos 1 e 2 controlam tudo.
- Reanimated, não o core
Animated. OAnimatedcore não pode ser acionado por um gesto sem cruzar a ponte, euseNativeDriverse recusa a fazer qualquer coisa além de transform e opacidade de qualquer maneira. Worklets do Reanimated rodam no thread da UI e continuam rodando enquanto o JS está ocupado. - Sem valores aproximados. Curvas e configurações de mola vêm das tabelas abaixo.
- Redução de movimento é enviada com a animação, não como um acompanhamento.
- A sensação é julgada em um build de release no dispositivo mais lento que você suporta. Nada mais conta como verificado.
A Sequência de Construção
1. Isso deve animar mesmo?
| Frequência | Decisão |
|---|---|
| 100+ vezes/dia — trocas de aba, abertura/fechamento de teclado, rolagem, alternâncias em configurações | Sem animação. Padrão da plataforma ou nada. Pare aqui. |
| Dezenas de vezes/dia — feedback de toque, navegação em lista, seleção de linha | Apenas quase imperceptível: menos de 150ms, ou nada |
| Ocasional — sheets, modais, toasts, passos de onboarding | Animação padrão |
| Raro / primeira vez — estados de sucesso, ilustrações de estado vazio, celebração | O orçamento de deleite vive aqui |
Trocas de aba nunca deslizam. Abas são pares, não uma hierarquia — deslizar implica uma profundidade que não existe, e o usuário paga por isso dezenas de vezes por sessão. animation: 'none'.
Se a solicitação falhar neste portão, diga isso e não a escreva.
2. Qual é o propósito?
Nomeie em uma palavra antes de continuar: feedback, consistência espacial, indicação de estado, prevenção de uma mudança brusca, explicação, ou deleite (apenas o nível raro).
Não consegue nomear? Não construa.
3. Escolha a ferramenta — a mais barata que funciona
Desça; pare na primeira que se encaixa.
| Necessidade | Ferramenta |
|---|---|
| Uma mudança orientada por estado sem gesto — toque, alternância, cor, um valor invertendo | Transição CSS do Reanimated (transitionProperty no estilo) |
| Loop, multi-estágio, ou reproduz na montagem sem mudança de estado | Animação CSS do Reanimated (animationName keyframes) |
| Um elemento montando ou desmontando, ou uma lista se reajustando | Animações de layout (entering / exiting / itemLayoutAnimation) |
| Qualquer coisa que um dedo toca, ou qualquer coisa derivada da rolagem | useSharedValue + Gesture + useAnimatedStyle |
| Tela para tela | Opções de stack nativo no Expo Router. Nunca crie isso manualmente |
| Um bottom sheet que é sua própria tela | presentation: 'formSheet' — é um UISheetPresentationController real, gratuito e correto |
…
Perguntas frequentes
Por que não usar animações em tudo?
Animações desnecessárias podem deixar o aplicativo lento. Esta ferramenta ajuda a decidir se a animação é realmente útil ou se é melhor não ter nenhuma.
O que são 'worklets'?
São pequenos pedaços de código que rodam diretamente na 'UI thread' (o fio que cuida da interface), permitindo animações muito rápidas e sem travamentos.
Por que o foco em dispositivos lentos?
Para garantir que a animação funcione bem para todos os usuários, mesmo aqueles com celulares mais antigos ou menos potentes.
Detalhes
Descrição original do autor
Curated upstream guidance for Expo Animation; use when the workflow matches the user goal.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2954
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC