Skill: Performance
Faça a UI ser rápida e estável. Trate desempenho como uma questão de acessibilidade — UIs lentas/com jank falham primeiro em dispositivos de baixo custo.
Passos
- Leia
workflows/performance.md(metas de Core Web Vitals, estratégia de carregamento, layout shift, desempenho de animação, custo de runtime do design system). - Diagnostique em relação aos orçamentos: LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1. Meça em um perfil mobile intermediário (limite de 4G lento + 4× CPU).
- Carregamento: renderize acima da dobra primeiro (SSR/Server Components), divida código por rota + widget pesado, carregue sob demanda abaixo-da-dobra/atrás-de-interação (ilhas Astro / Qwik), pré-carregue um peso de fonte crítico, use imagens responsivas modernas.
- Elimine layout shift: dimensione skeletons para as dimensões finais, reserve espaço de mídia com
aspect-ratio(tokens/sizing.json), nunca injete conteúdo acima do existente. - Animação: use apenas
transform/opacity,will-changecom moderação, 100–300ms (tokens/motion.json), respeiteprefers-reduced-motion. Prefira estilização CSS de estado em vez de JS para baixo INP; tree-shake/importações por componente.
Verificação (definição de pronto)
- Lighthouse / dados de campo atendem LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1 em mobile intermediário.
- Primeira interação permanece responsiva sob limitação de 4G lento + 4× CPU.
- Skeletons + mídia reservam espaço (CLS zero no carregamento); nenhuma animação não-compositora em loops.