refactor
Faz seu agente reestruturar e simplificar código existente. É útil quando você precisa modernizar ou melhorar a organização do código.
O que ela faz
Esta ferramenta ajuda a organizar e melhorar seu código. Ela entende o que você quer mudar, analisa como o código está conectado e planeja as alterações com segurança para evitar erros.
Quando usar
- ✓Quando você quer simplificar um trecho de código complicado.
- ✓Quando precisa extrair uma parte do código para um novo módulo.
- ✓Quando quer modernizar ou reestruturar um projeto antigo.
Exemplo do que pedir para a IA
“Refatore a função de login para usar o novo padrão de autenticação.”
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 IA primeiro entende seu pedido e analisa todo o seu código para ver como as partes se relacionam. Depois, ela cria um plano detalhado e faz as mudanças passo a passo, verificando se tudo continua funcionando.
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 code-yeongyu/oh-my-openagent --skill refactorOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/packages/shared-skills/skills/refactor/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.
export const REFACTOR_TEMPLATE = `# Comando Inteligente de Refatoração
Uso
``` /refactor <alvo-da-refatoracao> [--escopo=<arquivo|modulo|projeto>] [--estrategia=<segura|agressiva>]
Argumentos: alvo-da-refatoracao: O que refatorar. Pode ser: - Caminho do arquivo: src/auth/handler.ts - Nome do símbolo: "Classe AuthService" - Padrão: "todas as funções que usam API depreciada" - Descrição: "extrair lógica de validação para um módulo separado"
Opções: --escopo: Escopo da refatoração (padrão: modulo) - arquivo: Apenas um arquivo - modulo: Escopo de módulo/diretório - projeto: Base de código inteira
--estrategia: Tolerância a risco (padrão: segura) - segura: Conservadora, cobertura máxima de testes exigida - agressiva: Permite mudanças mais amplas com cobertura adequada ```
O Que Este Comando Faz
Realiza refatoração inteligente e determinística com total conhecimento da base de código. Diferente de busca e substituição cega, este comando:
- Entende sua intenção - Analisa o que você realmente quer alcançar
- Mapeia a base de código - Constrói um mapa de código definitivo antes de tocar em qualquer coisa
- Avalia o risco - Avalia a cobertura de testes e determina a estratégia de verificação
- Planeja meticulosamente - Cria um plano detalhado com o agente de Planejamento
- Executa com precisão - Refatoração passo a passo com LSP e AST-grep
- Verifica constantemente - Executa testes após cada mudança para garantir zero regressão
FASE 0: PORTÃO DE INTENÇÃO (PASSO INICIAL OBRIGATÓRIO)
ANTES DE QUALQUER AÇÃO, classifique e valide a solicitação.
Passo 0.1: Analisar Tipo da Solicitação
| Sinal | Classificação | Ação |
|---|---|---|
| Arquivo/símbolo específico | Explícito | Prosseguir para análise da base de código |
| "Refatorar X para Y" | Transformação clara | Prosseguir para análise da base de código |
| "Melhorar", "Limpar" | Aberto | DEVE perguntar: "Qual melhoria específica?" |
| Escopo ambíguo | Incerto | DEVE perguntar: "Quais módulos/arquivos?" |
| Contexto ausente | Incompleto | DEVE perguntar: "Qual o resultado desejado?" |
Passo 0.2: Validar Entendimento
Antes de prosseguir, confirme:
- O alvo está claramente identificado
- O resultado desejado é compreendido
- O escopo está definido (arquivo/módulo/projeto)
- Os critérios de sucesso podem ser articulados
Se QUALQUER um dos itens acima for incerto, FAÇA UMA PERGUNTA DE ESCLARECIMENTO:
``` Quero ter certeza de que entendi corretamente o objetivo da refatoração.
O que entendi: [interpretação] Sobre o que estou incerto: [ambiguidade específica]
Opções que vejo:
- [Opção A] - [implicações]
- [Opção B] - [implicações]
Minha recomendação: [sugestão com justificativa]
Devo prosseguir com [recomendação], ou você prefere de outra forma? ```
Passo 0.3: Criar Tarefas Iniciais
IMEDIATAMENTE após entender a solicitação, crie tarefas:
``` TodoWrite([ {"id": "phase-1", "content": "FASE 1: Análise da Base de Código - iniciar agentes de exploração paralelos", "status": "pendente", "priority": "alta"}, {"id": "phase-2", "content": "FASE 2: Construir Mapa de Código - mapear dependências e zonas de impacto", "status": "pendente", "priority": "alta"}, {"id": "phase-3", "content": "FASE 3: Avaliação de Testes - analisar cobertura de testes e estratégia de verificação", "status": "pendente", "priority": "alta"}, {"id": "phase-4", "content": "FASE 4: Geração de Plano - invocar agente de Planejamento para plano de refatoração detalhado", "status": "pendente", "priority": "alta"}, {"id": "phase-5", "content": "FASE 5: Executar Refatoração - passo a passo com verificação contínua", "status": "pendente", "priority": "alta"}, {"id": "phase-6", "content": "FASE 6: Verificação Final - suíte completa de testes e verificação de regressão", "status": "pendente", "priority": "alta"} ]) ```
FASE 1: ANÁLISE DA BASE DE CÓDIGO (EXPLORAÇÃO PARALELA)
Marque phase-1 como em_progresso.
1.1: Iniciar Agentes de Exploração Paralelos (EM SEGUNDO PLANO)
Execute TODOS estes simultaneamente usando `call_omo_agent`:
``` // Agente 1: Encontrar o alvo da refatoração call_omo_agent( subagent_type="explore", run_in_background=true, prompt="Encontre todas as ocorrências e definições de [ALVO]. Relatar: caminhos de arquivo, números de linha, padrões de uso." )
// Agente 2: Encontrar código relacionado call_omo_agent( subagent_type="explore", run_in_background=true, prompt="Encontre todo o código que importa, usa ou depende de [ALVO]. Relatar: cadeias de dependência, grafos de importação." )
// Agente 3: Encontrar padrões semelhantes call_omo_agent( subagent_type="explore", run_in_background=true, prompt="Encontre padrões de código semelhantes a [ALVO] na base de código.
…
Perguntas frequentes
O que significa 'refatorar'?
Refatorar é reorganizar o código existente sem mudar o que ele faz, apenas para torná-lo mais limpo, eficiente ou fácil de entender.
Como a IA garante que não vai quebrar nada?
Ela analisa a cobertura dos testes existentes e roda os testes após cada pequena mudança para garantir que nada foi quebrado (regressão).
Posso pedir para refatorar um arquivo inteiro ou só uma parte?
Sim, você pode especificar se a refatoração deve ser em um arquivo, em um módulo (diretório) ou no projeto inteiro.
Detalhes
Descrição original do autor
Guides a refactor, cleanup, or restructure with the right decomposition. Use when the user asks to refactor, simplify, extract, or modernize code.
Popularidade
- Estrelas no GitHub
- 70 mil
- Posição no ranking
- #1742
- Licença
- NOASSERTION
- Atualizada em
- 16/10/2026
Comentários
- …
Mais skills deste repositório
comment-checker
Ajuda seu agente a entender e responder a feedbacks de verificadores automáticos de comentários. É útil quando o agente precisa processar informações de ferramentas que revisam automaticamente o código ou o conteúdo.
code-yeongyu/oh-my-openagent
lcx-contribute-bug-fix
Ajuda seu agente a contribuir com correções de bugs para projetos relacionados ao LazyCodex. Ele cria issues ou pull requests para garantir a qualidade do código.
code-yeongyu/oh-my-openagent
lcx-doctor
Faz seu agente verificar a saúde da instalação do LazyCodex e Codex CLI. É útil quando o sistema se comporta de forma estranha após atualizações ou mudanças.
code-yeongyu/oh-my-openagent
lcx-report-bug
Ajuda seu agente a reportar bugs de forma detalhada em projetos do LazyCodex. Ele cria issues com informações úteis para os desenvolvedores corrigirem o problema.
code-yeongyu/oh-my-openagent
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC