ワンクリックで
perf
Analisa performance do código e sugere otimizações concretas.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Analisa performance do código e sugere otimizações concretas.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Gera documento de handoff para continuar o trabalho em nova sessão. Use quando o contexto estiver grande ou antes de limpar a sessão.
Gerencia memória persistente entre sessões — long-term e session memory.
Inicialização de sessão — verifica ambiente, carrega memória e contexto.
Ideação criativa estruturada — gera, avalia e prioriza ideias.
Resume o contexto da sessão atual para liberar janela de contexto.
Gera arquivos .context.md por diretório para orientação rápida.
| name | perf |
| description | Analisa performance do código e sugere otimizações concretas. |
| argument-hint | [arquivo ou diretório opcional] |
| user-invocable | true |
| allowed-tools | Read, Grep, Glob, Bash, Agent |
| model | sonnet |
| effort | high |
| context | fork |
Realize uma análise completa de performance no escopo indicado.
Analise o arquivo ou diretório: $ARGUMENTS
Analise o diretório raiz do projeto atual. Use Glob e Bash para mapear a estrutura e identificar os arquivos mais relevantes (entry points, serviços, rotas, componentes principais).
Antes de iniciar, identifique o stack do projeto (linguagem, framework, ORM, biblioteca de UI) -- isso determina quais padrões procurar. Para projetos com muitos arquivos relevantes, use Agent para paralelizar a análise por categoria.
Procure por:
for item in items: db.query(...))WHERE, JOIN ou ORDER BY sem índice correspondente no schemaUse Grep para padrões de ORM (.query(, .find(, .filter(, SELECT, JOIN) e Read para schemas de migration.
Procure por:
Array.includes, list.index(), .find() dentro de loops -- candidatos a Set ou Map para lookup O(1)Procure por:
+= em loop (use array + join ou StringBuilder)setInterval/setTimeout sem clear*, subscriptions não canceladasProcure por:
await a(); await b() quando a e b são independentes -- use Promise.all ou equivalentefs.readFileSync onde fs.readFile seria viável, time.sleep onde async sleep existeProcure por:
import() dinâmico<img> sem loading="lazy", sem width/height explícitos, formatos não otimizados (JPEG/PNG onde WebP seria adequado)offsetHeight e escrever style repetidamente)Agent para distribuir as categorias em paralelo e agregar os resultados.## Resumo
[1-2 frases sobre o estado geral de performance do código analisado.]
## Findings
### Critico (impacto alto)
- **[/caminho/arquivo.ext:linha]** Descrição clara do problema
- Impacto: [ex: "executa N queries para listar N itens -- reduz para 1 query com eager load"]
- Fix:
```linguagem
// antes
[trecho problemático]
// depois
[trecho corrigido]
```
### Importante (impacto médio)
- **[/caminho/arquivo.ext:linha]** Descrição clara do problema
- Impacto: [estimativa qualitativa e específica]
- Fix: [sugestão concreta, com snippet se necessário]
### Sugestao (impacto baixo)
- **[/caminho/arquivo.ext:linha]** Descrição
- Impacto: [estimativa qualitativa]
- Fix: [sugestão]
## Metricas Recomendadas
- [O que medir para validar que as otimizações surtiram efeito]
- [ex: "tempo médio de resposta do endpoint /api/items", "heap size após 1000 requisições"]