web-performance-optimization
Ajuda seu agente a tornar sites e aplicativos mais rápidos. Ele melhora a velocidade de carregamento e o desempenho geral.
O que ela faz
Esta ferramenta ajuda a deixar seu site ou aplicativo mais rápido. Ela identifica e corrige problemas que fazem as páginas demorarem para carregar ou as interações ficarem lentas.
Quando usar
- ✓Se o seu site demora muito para carregar.
- ✓Se as animações ou botões do seu site não respondem rápido.
- ✓Se você quer melhorar a pontuação do seu site em testes de velocidade.
Exemplo do que pedir para a IA
“Como posso deixar meu site mais rápido para que ele carregue em menos de 2 segundos?”
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
A ferramenta analisa seu site, encontra gargalos de velocidade (como imagens pesadas ou códigos lentos) e sugere ou aplica correções. Isso inclui otimizar imagens, usar técnicas de cache e reorganizar o código.
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 web-performance-optimizationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/web-performance-optimization/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.
Otimização de Performance Web
Guia Detalhado
Leia o guia detalhado antes de executar esta habilidade. Ele contém o procedimento completo e material de referência. Considere seus requisitos de segurança, pré-requisitos e validação como obrigatórios. Para um trabalho focado, carregue as seções relevantes; para um trabalho de ponta a ponta, leia o guia completamente.
Quando Usar Esta Habilidade
- Use quando o site ou aplicativo estiver carregando lentamente
- Use ao otimizar para Core Web Vitals (LCP, INP, CLS)
- Use ao reduzir o tamanho do pacote JavaScript
- Use ao reduzir o bloqueio da thread principal e interações lentas (INP)
- Use ao otimizar imagens e assets
- Use ao implementar estratégias de cache
- Use ao depurar gargalos de performance
- Use ao se preparar para auditorias de performance
Exemplos
Exemplo 1: Otimizando Core Web Vitals
## Performance Audit Results
### Current Metrics (Before Optimization)
- **LCP (Largest Contentful Paint):** 4.2s ❌ (should be < 2.5s)
- **INP (Interaction to Next Paint):** 350ms ❌ (should be ≤ 200ms)
- **CLS (Cumulative Layout Shift):** 0.25 ❌ (should be < 0.1)
- **Lighthouse Score:** 62/100
### Issues Identified
1. **LCP Issue:** Hero image (2.5MB) loads slowly
2. **INP Issue:** Large JavaScript bundle (850KB) blocks main thread
3. **CLS Issue:** Images without dimensions cause layout shifts
### Optimization Plan
#### Fix LCP (Largest Contentful Paint)
**Problem:** Hero image is 2.5MB and loads slowly
**Solutions:**
\`\`\`html
<!-- Before: Unoptimized image -->
<img src="/hero.jpg" alt="Hero">
<!-- After: Optimized with modern formats -->
<picture>
<source srcset="/hero.avif" type="image/avif">
<source srcset="/hero.webp" type="image/webp">
<img
src="/hero.jpg"
alt="Hero"
width="1200"
height="600"
loading="eager"
fetchpriority="high"
>
</picture>
\`\`\`
**Additional optimizations:**
- Compress image to < 200KB
- Use CDN for faster delivery
- Preload hero image: `<link rel="preload" as="image" href="/hero.avif">`
#### Fix INP (Interaction to Next Paint)
**Problem:** 850KB JavaScript bundle blocks main thread
**Solutions:**
1. **Code Splitting:**
\`\`\`javascript
// Before: Everything in one bundle
import { HeavyComponent } from './HeavyComponent';
import { Analytics } from './analytics';
import { ChatWidget } from './chat';
// After: Lazy load non-critical code
const HeavyComponent = lazy(() => import('./HeavyComponent'));
const ChatWidget = lazy(() => import('./chat'));
// Load analytics after page interactive
if (typeof window !== 'undefined') {
window.addEventListener('load', () => {
import('./analytics').then(({ Analytics }) => {
Analytics.init();
});
});
}
\`\`\`
2. **Remove Unused Dependencies:**
\`\`\`bash
# Analyze bundle
npx webpack-bundle-analyzer
# Remove unused packages
npm uninstall moment # Use date-fns instead (smaller)
npm install date-fns
\`\`\`
3. **Defer Non-Critical Scripts:**
\`\`\`html
<!-- Before: Blocks rendering -->
<script src="/analytics.js"></script>
<!-- After: Deferred -->
<script src="/analytics.js" defer></script>
\`\`\`
#### Fix CLS (Cumulative Layout Shift)
**Problem:** Images without dimensions cause layout shifts
**Solutions:**
\`\`\`html
<!-- Before: No dimensions -->
<img src="/product.jpg" alt="Product">
<!-- After: With dimensions -->
<img
src="/product.jpg"
alt="Product"
width="400"
height="300"
style="aspect-ratio: 4/3;"
>
\`\`\`
**For dynamic content:**
\`\`\`css
/* Reserve space for content that loads later */
.skeleton-loader {
min-height: 200px;
background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
background-size: 200% 100%;
animation: loading 1.5s infinite;
}
@keyframes loading {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}
\`\`\`
### Results After Optimization
- **LCP:** 1.8s ✅ (improved by 57%)
- **INP:** 150ms ✅ (improved by 57%)
- **CLS:** 0.05 ✅ (improved by 80%)
- **Lighthouse Score:** 94/100 ✅
Exemplo 2: Reduzindo o Tamanho do Pacote JavaScript
## Otimização do Tamanho do Pacote
### Estado Atual
- **Pacote Total:** 850KB (com gzip: 280KB)
- **Pacote Principal:** 650KB
- **Pacote de Fornecedores:** 200KB
- **Tempo de Carregamento (3G):** 8.2s
### Análise
\`\`\`bash
# Analisar composição do pacote
npx webpack-bundle-analyzer dist/stats.json
\`\`\`
**Achados:**
1. Moment.js: 67KB (pode ser substituído por date-fns: 12KB)
2. Lodash: 72KB (usando a biblioteca inteira, precisa apenas de 5 funções)
…
Perguntas frequentes
O que são 'Core Web Vitals'?
São métricas importantes do Google que medem a experiência do usuário em termos de velocidade de carregamento, interatividade e estabilidade visual da página.
O que é 'bundle size'?
É o tamanho total dos arquivos de código (como JavaScript) que o navegador precisa baixar para mostrar seu site. Arquivos menores carregam mais rápido.
O que é 'caching'?
É uma técnica para guardar temporariamente partes do seu site no navegador do usuário ou em servidores. Isso acelera o carregamento em visitas futuras, pois não é preciso baixar tudo novamente.
Detalhes
Descrição original do autor
Optimize website and web application performance including loading speed, Core Web Vitals, bundle size, caching strategies, and runtime performance
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4541
- 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