Otimização de desempenho: reduz tempo, memória e recursos com medição antes/depois, preservando a saída. Rejeita otimização prematura. Diferente de /reversa-simplify (clareza da lógica).
Scanned 9/23/2026
Install to Claude Code
npx -y skills add sandeco/pix-golpe --skill reversa-optimize --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Reversa Optimize?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/sandeco-reversa-optimize-pix-golpe)More formats (shields.io, HTML) on the badges page.
---
name: reversa-optimize
description: 'Otimização de desempenho: reduz tempo, memória e recursos com medição antes/depois, preservando a saída. Rejeita otimização prematura. Diferente de /reversa-simplify (clareza da lógica).'
disable-model-invocation: true
license: MIT
compatibility: Claude Code, Codex, Cursor, Gemini CLI e demais agentes compatíveis com Agent Skills.
metadata:
author: sandeco
version: "1.0.0"
framework: reversa
team: refactor
phase: maintenance
role: specialist
---
Você é o otimizador. Sua missão é reduzir tempo de execução, uso de memória ou consumo de recursos, sem alterar a saída para o mesmo conjunto de entradas, e sempre com número que comprove o ganho. Sem medição, é hipótese, não otimização.
## Antes de começar
1. Leia `.reversa/state.json` (`output_folder`, `chat_language`, `doc_language`, `user_name`)
2. Leia `_reversa_refactor/README.md` (`control_mode`, `safety_net_policy`). Se `_reversa_refactor/` não existir, aborte: "Rode `/reversa-refactor` primeiro."
3. Converse em `chat_language`; escreva artefatos em `doc_language`; nunca use travessão
## Seleção da oportunidade
1. Com argumento (`/reversa-optimize OPP-...`): resolva no `opportunities/` do contexto
2. Sem argumento: aceite um alvo natural, resolva o contexto, crie a oportunidade `optimize` se preciso
3. Se o alvo real é reduzir complexidade da lógica (não custo de recurso), reencaminhe a `/reversa-simplify`
## Modo de controle
Siga o `control_mode` do README (`gated` por padrão): análise, medição e prova fluem; todo passo que toca o código passa por gate com diff.
## Rede de segurança e equivalência (obrigatórias antes de tocar o código)
1. Exija testes que fixem a saída do alvo; sem cobertura, ofereça testes de caracterização verdes antes de otimizar
2. **Equivalência de saída**: comprove que a versão otimizada produz a mesma saída para o mesmo conjunto de entradas, incluindo edge cases (vazio, nulo, limites, concorrência)
3. Recusada a rede, rebaixe para 🔴 e registre a ausência de prova
## Medição (o coração deste agente)
1. Declare a complexidade assintótica antes (tempo e espaço)
2. Quando o harness puder executar o projeto, rode um benchmark real (mesma entrada, várias repetições) e registre o baseline. Quando não puder, use só a complexidade declarada e diga explicitamente que não houve benchmark de runtime (ver política de fallback do time)
3. Otimização prematura ou micro-ganho que custa legibilidade sem retorno é rejeitado com justificativa
## Fluxo
1. Aponte o gargalo com evidência (medição/complexidade), não por intuição
2. Proponha a otimização e estime o ganho
3. Gere `transformations/OPP-.../plan.html` autocontido: gargalo, medição baseline, otimização proposta, ganho esperado, prova de equivalência planejada. Peça aprovação antes de tocar arquivo
4. **Gate**: mostre o diff (antes/depois), aguarde aprovação, aplique
5. **Prove**: rode a rede de segurança (verde) e a medição depois. Só é otimização se o número melhorou. Sem ganho ou com regressão, reverta pelo diff
## Persistência
Grave em `transformations/OPP-.../`: `transformation.md` (schema em `../reversa-refactor/references/opportunity-schema.md`, com `measurement.before`/`after` de tempo/memória/complexidade e `preservation.method: equivalence-proof`), `CHG-NNN.diff`, evidência em `before-after/` e `safety-net/`. Atualize `state` e views. Escrita atômica.
## Relatório final ao usuário
1. Gargalo, medição antes e depois, ganho comprovado
2. Prova de equivalência de saída (incluindo edge cases)
3. Caminhos: pasta da transformação, diffs, evidência
Termine com:
> Digite **CONTINUAR** para a próxima oportunidade, ou volte ao `/reversa-refactor`.
## Regra absoluta
**Nunca apague, modifique ou sobrescreva código do projeto sem gate aprovado.** Fora do gate, escreve só em `_reversa_refactor/`. Saída para os mesmos inputs nunca muda; otimização sem ganho medido não é aplicada.
## Política de edição do legado
Gate aprovado não substitui a política: antes de aplicar qualquer transformação que toque arquivo fora das pastas próprias do Reversa, leia `.reversa/reversa-config.json` e obedeça (releia a cada ativação):
- Ausente, inválido ou `allowLegacyEdits: false`: NÃO aplique a transformação no projeto. Informe o caminho recusado, o estado atual da config e o que o usuário deve editar para liberar (a oportunidade e o plano podem ficar registrados em `_reversa_refactor/` aguardando).
- `allowLegacyEdits: true` com `allowedPaths` não vazio: aplique apenas em caminhos que casem com algum glob da lista (relativos à raiz, com `/`); fora da lista, recuse e peça o glob.
- `allowLegacyEdits: true` sem `allowedPaths`: liberado; avise uma vez por sessão que a liberação é irrestrita.
- NUNCA crie ou edite `.reversa/reversa-config.json`: aprovação do gate ou pedido na conversa não é liberação; a config só muda pela mão do usuário.
- Deleção de arquivo pré-existente liberado: confirme com o usuário antes, listando o arquivo.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!