performance-optimizer
Corrige problemas que deixam o código, banco de dados ou APIs lentos. Ele mede o desempenho antes e depois para mostrar a melhoria.
O que ela faz
Essa ferramenta ajuda a encontrar e consertar partes lentas do seu código, banco de dados ou APIs. Ela mede o desempenho antes e depois para garantir que as melhorias foram feitas.
Quando usar
- ✓Quando um aplicativo está lento ou travando.
- ✓Quando os usuários reclamam da velocidade.
- ✓Quando as páginas demoram muito para carregar.
Exemplo do que pedir para a IA
“Meu site está muito lento, você pode me ajudar a otimizar o carregamento?”
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 mede o quão rápido ou lento algo está. Depois, ela procura os gargalos (as partes que causam lentidão) e sugere ou aplica correções. Por fim, ela mede novamente para confirmar a melhoria.
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 performance-optimizerOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/performance-optimizer/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.
Otimizador de Performance
Encontre e corrija gargalos de performance. Meça, otimize, verifique. Faça ficar rápido.
Quando Usar Esta Habilidade
- O aplicativo está lento ou travando
- O usuário reclama da performance
- Tempos de carregamento de página estão altos
- Respostas da API estão lentas
- Consultas ao banco de dados demoram muito
- O usuário menciona "lento", "travando", "performance" ou "otimizar"
O Processo de Otimização
1. Meça Primeiro
Nunca otimize sem medir:
// Measure execution time
console.time('operation');
await slowOperation();
console.timeEnd('operation'); // operation: 2341ms
O que medir:
- Tempo de carregamento da página
- Tempo de resposta da API
- Tempo de consulta ao banco de dados
- Tempo de execução de funções
- Uso de memória
- Requisições de rede
2. Encontre o Gargalo
Use ferramentas de profiling para encontrar as partes lentas:
Navegador:
DevTools → Performance tab → Record → Stop
Look for long tasks (red bars)
Node.js:
node --prof app.js
node --prof-process isolate-*.log > profile.txt
Banco de Dados:
EXPLAIN ANALYZE SELECT * FROM users WHERE email = 'test@example.com';
3. Otimize
Corrija a coisa mais lenta primeiro (maior impacto).
Otimizações Comuns
Consultas ao Banco de Dados
Problema: Consultas N+1
// Bad: N+1 queries
const users = await db.users.find();
for (const user of users) {
user.posts = await db.posts.find({ userId: user.id }); // N queries
}
// Good: Single query with JOIN
const users = await db.users.find()
.populate('posts'); // 1 query
Problema: Índice Faltando
-- Check slow query
EXPLAIN SELECT * FROM users WHERE email = 'test@example.com';
-- Shows: Seq Scan (bad)
-- Add index
CREATE INDEX idx_users_email ON users(email);
-- Check again
EXPLAIN SELECT * FROM users WHERE email = 'test@example.com';
-- Shows: Index Scan (good)
**Problema: SELECT ***
// Bad: Fetches all columns
const users = await db.query('SELECT * FROM users');
// Good: Only needed columns
const users = await db.query('SELECT id, name, email FROM users');
Problema: Sem Paginação
// Bad: Returns all records
const users = await db.users.find();
// Good: Paginated
const users = await db.users.find()
.limit(20)
.skip((page - 1) * 20);
Performance da API
Problema: Sem Cache
// Bad: Hits database every time
app.get('/api/stats', async (req, res) => {
const stats = await db.stats.calculate(); // Slow
res.json(stats);
});
// Good: Cache for 5 minutes
const cache = new Map();
app.get('/api/stats', async (req, res) => {
const cached = cache.get('stats');
if (cached && Date.now() - cached.time < 300000) {
return res.json(cached.data);
}
const stats = await db.stats.calculate();
cache.set('stats', { data: stats, time: Date.now() });
res.json(stats);
});
Problema: Operações Sequenciais
// Bad: Sequential (slow)
const user = await getUser(id);
const posts = await getPosts(id);
const comments = await getComments(id);
// Total: 300ms + 200ms + 150ms = 650ms
// Good: Parallel (fast)
const [user, posts, comments] = await Promise.all([
getUser(id),
getPosts(id),
getComments(id)
]);
// Total: max(300ms, 200ms, 150ms) = 300ms
Problema: Cargas Úteis Grandes
// Bad: Returns everything
res.json(users); // 5MB response
// Good: Only needed fields
res.json(users.map(u => ({
id: u.id,
name: u.name,
email: u.email
}))); // 500KB response
Performance do Frontend
Problema: Re-renderizações Desnecessárias
// Bad: Re-renders on every parent update
function UserList({ users }) {
return users.map(user => <UserCard user={user} />);
}
// Good: Memoized
const UserCard = React.memo(({ user }) => {
return <div>{user.name}</div>;
});
Problema: Bundle Grande
// Bad: Imports entire library
import _ from 'lodash'; // 70KB
// Good: Import only what you need
import debounce from 'lodash/debounce'; // 2KB
Problema: Sem Divisão de Código (Code Splitting)
// Bad: Everything in one bundle
import HeavyComponent from './HeavyComponent';
// Good: Lazy load
const HeavyComponent = React.lazy(() => import('./HeavyComponent'));
Problema: Imagens Não Otimizadas
<!-- Bad: Large image -->
<img src="photo.jpg" /> <!-- 5MB -->
<!-- Good: Optimized and responsive -->
<img
src="photo-small.webp"
srcset="photo-small.webp 400w, photo-large.webp 800w"
loading="lazy"
width="400"
height="300"
/> <!-- 50KB -->
Otimização de Algoritmos
…
Perguntas frequentes
O que é um 'gargalo' de desempenho?
É a parte de um sistema (código, banco de dados, etc.) que está causando lentidão e limitando a velocidade geral.
Preciso saber programar para usar isso?
Não necessariamente. Você pode pedir para a IA identificar problemas e sugerir soluções, ou até mesmo tentar aplicar correções em código que você entenda.
Como a ferramenta sabe se a otimização funcionou?
Ela compara as medições de velocidade antes e depois da otimização. Se a velocidade melhorou, a otimização foi bem-sucedida.
Detalhes
Descrição original do autor
Identifies and fixes performance bottlenecks in code, databases, and APIs. Measures before and after to prove improvements.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3816
- 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
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC