swiftui-performance-audit
Ajuda seu agente a analisar a performance de código SwiftUI. Ele identifica gargalos e sugere melhorias para tornar as aplicações mais rápidas.
O que ela faz
Esta ferramenta ajuda a encontrar e corrigir problemas que deixam seus aplicativos SwiftUI lentos ou travados. Ela analisa seu código e, se necessário, pede informações de testes de desempenho para identificar a causa.
Quando usar
- ✓Seu aplicativo SwiftUI está lento para exibir informações.
- ✓A rolagem em listas ou tabelas está travada ou com falhas.
- ✓O aplicativo usa muita memória ou processador sem motivo aparente.
Exemplo do que pedir para a IA
“Meu aplicativo SwiftUI está travando ao rolar uma lista longa, o que pode ser?”
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
Primeiro, a ferramenta olha seu código para achar erros comuns que causam lentidão. Se isso não for suficiente, ela pede que você faça testes específicos no seu dispositivo para coletar mais informações sobre o desempenho.
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 swiftui-performance-auditOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/swiftui-performance-audit/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.
Auditoria de Performance do SwiftUI
Início Rápido
Use esta habilidade para diagnosticar problemas de performance do SwiftUI, começando pelo código e, em seguida, solicitando evidências de profiling quando a revisão de código sozinha não puder explicar os sintomas.
Quando Usar
- Quando o usuário relata renderização lenta, rolagem travada, "layout thrash" (recalculo excessivo de layout) ou alto uso de CPU no SwiftUI.
- Quando você precisa de uma auditoria focada no código, mais orientação sobre o Instruments caso evidências de profiling sejam necessárias.
Fluxo de Trabalho
- Classifique o sintoma: renderização lenta, rolagem travada, alto uso de CPU, crescimento de memória, travamentos ou atualizações excessivas de views.
- Se o código estiver disponível, comece com uma revisão focada no código usando
references/code-smells.md. - Se o código não estiver disponível, peça a menor parte útil: view alvo, fluxo de dados, passos de reprodução e target de deployment.
- Se a revisão de código for inconclusiva ou evidências de runtime forem necessárias, guie o usuário através do profiling com
references/profiling-intake.md. - Resuma as causas prováveis, evidências, remediação e passos de validação usando
references/report-template.md.
1. Coleta de Informações
Colete:
- Código da view ou funcionalidade alvo.
- Sintomas e passos exatos para reproduzir.
- Fluxo de dados:
@State,@Binding, dependências de ambiente e modelos observáveis. - Se o problema aparece no dispositivo ou simulador, e se foi observado em Debug ou Release.
Peça ao usuário para classificar o problema, se possível:
- Pico de CPU ou consumo de bateria
- Rolagem travada ou frames perdidos
- Alta pressão de memória ou de imagem
- Travamentos ou interações sem resposta
- Atualizações de view excessivas ou inesperadamente amplas
Para a lista completa de verificação de coleta de profiling, leia references/profiling-intake.md.
2. Revisão Focada no Código
Concentre-se em:
- Tempestades de invalidação de observações amplas ou leituras de ambiente.
- Identidade instável em listas e
ForEach. - Trabalho derivado pesado em
bodyou view builders. - "Layout thrash" de hierarquias complexas,
GeometryReaderou cadeias de preferências. - Grande trabalho de decodificação ou redimensionamento de imagem na thread principal.
- Trabalho de animação ou transição aplicado de forma muito ampla.
Use references/code-smells.md para o catálogo detalhado de "cheiros" (problemas comuns) e orientação para correção.
Forneça:
- Causas raiz prováveis com referências de código.
- Sugestões de correções e refatorações.
- Se necessário, uma sugestão de reprodução mínima ou instrumentação.
3. Guie o Usuário para o Profiling
Se a revisão de código não explicar o problema, peça evidências de runtime:
- Um export de trace ou screenshots da timeline do SwiftUI e da árvore de chamadas do Time Profiler.
- Configuração do dispositivo/OS/build.
- A interação exata que está sendo perfilada.
- Métricas antes/depois se o usuário estiver comparando uma mudança.
Use references/profiling-intake.md para a lista de verificação exata e passos de coleta.
4. Analisar e Diagnosticar
- Mapeie as evidências para a categoria mais provável: invalidação, "churn" de identidade, "layout thrash", trabalho na thread principal, custo de imagem ou custo de animação.
- Priorize problemas pelo impacto, não pela facilidade de explicá-los.
- Distinga suspeitas em nível de código de evidências comprovadas por trace.
- Indique quando o profiling ainda é insuficiente e que evidências adicionais reduziriam a incerteza.
5. Remediar
Aplique correções direcionadas:
- Restrinja o escopo do estado e reduza a propagação ampla de observações.
- Estabilize identidades para
ForEache listas. - Mova trabalho pesado para fora de
bodypara estados derivados atualizados a partir de inputs, pré-computação na camada de modelo, helpers com memoização ou pré-processamento em background. Use@Stateapenas para estado de propriedade da view, não como um cache ad hoc para computação arbitrária. - Use
equatable()apenas quando a igualdade for mais barata do que recomputar a subárvore e os inputs forem verdadeiramente semânticos em valor. - Redimensione imagens antes de renderizar.
- Reduza a complexidade do layout ou use dimensionamento fixo onde for possível.
Use references/code-smells.md para exemplos, orientação sobre propagação específica de Observation e padrões de remediação.
6. Verificar
Peça ao usuário para executar novamente a mesma captura e comparar com as métricas de base. Resuma a diferença (CPU, quedas de frames, pico de memória) se fornecida.
Saídas
Forneça:
- Uma tabela curta de métricas (antes/depois, se disponível).
- Principais problemas (ordenados por impacto).
- Correções propostas com esforço estimado.
Use references/report-template.md ao formatar a auditoria final.
Referências
- Lista de verificação de coleta e informações de profiling:
references/profiling-intake.md - Cheiros de código comuns e padrões de remediação:
references/code-smells.md - Modelo de saída de auditoria:
references/report-template.md - Adicione documentação da Apple e recursos do WWDC sob
references/conforme forem fornecidos pelo usuário.
…
Perguntas frequentes
O que é 'layout thrash'?
É quando o aplicativo tenta ajustar o tamanho e a posição dos elementos na tela muitas vezes seguidas, o que gasta tempo e deixa tudo lento.
O que são 'invalidation storms'?
São situações em que muitas partes da tela são atualizadas ao mesmo tempo sem necessidade, causando lentidão.
Preciso saber programar para usar isso?
Não é preciso ser um expert. A ferramenta foi feita para ajudar a identificar problemas mesmo que você não seja um programador experiente, mas entender o básico de como o código funciona ajuda.
Detalhes
Descrição original do autor
Audit SwiftUI performance issues from code review and profiling evidence.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4299
- 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
angular-developer
Ajuda seu agente a criar código Angular e a dar conselhos sobre a estrutura do projeto. É útil para iniciar novos projetos, criar partes do código ou melhorar a performance e acessibilidade.
affaan-m/ECC
frontend-a11y
Ajuda seu agente a tornar interfaces web acessíveis para todos. Ele garante que sites e apps funcionem bem com leitores de tela e navegação por teclado.
affaan-m/ECC
frontend-patterns
Faz seu agente aplicar padrões modernos no desenvolvimento frontend. Ele otimiza performance, gerencia estado e segue boas práticas em React e Next.js.
affaan-m/ECC