Refatoração Enxuta de Código
Limite de Acionamento
Use esta skill apenas quando o usuário explicitamente quiser uma simplificação estruturada ou refatoração convergente.
Não acione para:
- pequenas limpezas
- correções de bugs de rotina
- renomeações avulsas
- refatorações comuns que não necessitam de um fluxo de trabalho convergente dedicado
Modos
Escolha um modo por execução:
quick(rápido): passada convergente leve para uma área pequena ou bem delimitadastrict(estrito): passada formal de refatoração com rastreabilidade total e portões de mesclagem
Use quick como padrão, a menos que o usuário solicite uma refatoração formal, auditável ou sensível a lançamentos.
Entradas Necessárias
repo_path: caminho absoluto para o repositório Gitrefactor_goal: objetivo de convergência em uma linhascope: escopo opcional de caminho ou módulomode:quickoustricttarget_branch: obrigatório apenas parastrict, padrãomaster
Regra Central
Este fluxo de trabalho não preserva compatibilidade externa antiga por padrão, mas deve preservar o contrato atual pretendido do sistema escopado.
Nunca altere contratos de backend, semântica de resposta ou padrões de asserção apenas para fazer os testes passarem.
Modo Rápido (Quick)
Use quick quando a tarefa for delimitada e o usuário busca principalmente convergência, não uma trilha formal de artefatos.
Passos necessários:
- Declare o objetivo, escopo e a principal complexidade a ser removida.
- Mantenha uma lista curta de ações na conversa ou em uma nota local mínima, se útil.
- Aplique apenas alterações escopadas vinculadas a essa lista de ações.
- Preserve contratos de backend, semântica de resposta e padrões de asserção.
- Execute validação focada na área alterada.
- Se a validação sugerir divergência entre backend e teste, pare e execute o portão de divergência de contrato antes de quaisquer novas edições.
- Relate qual complexidade foi removida, o que permaneceu e qualquer risco remanescente.
Artefatos em ./slim_refactor/ são opcionais no modo quick.
Modo Estrito (Strict)
Use strict quando a refatoração precisar ser rastreável, auditável ou controlada por portões de mesclagem.
Portões obrigatórios:
- Crie e use um branch de trabalho dedicado. Nunca edite diretamente no branch alvo.
- Escreva o design antes das edições de código.
- Rastreie artefatos sob
./slim_refactor/:todolist.mdplan.mdreport.md
- Preserve contratos de backend, semântica de resposta e padrões de asserção.
- Execute revisão a cada rodada de alterações.
- Execute o portão de divergência de contrato sempre que a validação sugerir divergência entre backend e teste.
- Execute o portão completo do fluxo de trabalho antes da mesclagem.
Portão de Divergência de Contrato
Use este portão sempre que os testes falharem de uma forma que possa refletir uma divergência de contrato, em vez de uma regressão real.
Ações necessárias:
- Pare as alterações de implementação até que a classificação esteja completa.
- Compare o comportamento atual, o contrato atual pretendido e as expectativas do teste.
- Lance uma revisão de subagente independente quando subagentes estiverem disponíveis.
- Se subagentes não estiverem disponíveis, execute uma revisão local explícita como fallback e registre esse fallback na saída da rodada.
- Classifique a divergência como exatamente uma de:
backend_regression: o comportamento do backend está errado para o contrato atual pretendido.stale_tests: os testes estão defasados em relação ao contrato atual pretendido.
Ações permitidas após a classificação:
backend_regression: corrija o comportamento do backend para o contrato atual pretendido. Não enfraqueça os testes para ocultar o problema.stale_tests: atualize apenas os testes afetados ou pule esses testes para esta rodada. Não relaxe contratos de backend ou padrões de asserção.
Se os testes forem pulados, relate a condição do portão desatualizado, o escopo pulado e o acompanhamento necessário antes de encerrar a rodada.
Fluxo de Trabalho de Execução
Rápido (Quick)
- Confirme o objetivo, escopo e alvo de validação.
- Remova complexidade não essencial com o menor conjunto coerente de alterações.
- Prefira deleção e convergência em vez de novas abstrações.
- Preserve o contrato atual pretendido do backend enquanto altera a estrutura.
- Valide o escopo afetado.
- Se a validação sugerir divergência contrato/teste, execute o portão de divergência de contrato antes de mais edições.
- Resuma o resultado da convergência e o risco residual.
Estrito (Strict)
- Faça checkout e sincronize
target_branch. - Registre
BASE_SHA. - Crie branch
codex/refactor/<topic>-<YYYYMMDD>. - Crie ou atualize
./slim_refactor/todolist.md. - Crie ou atualize
./slim_refactor/plan.md. - Implemente apenas ações declaradas no plano.
- Preserve o contrato atual pretendido do backend enquanto converge a estrutura.
- Execute revisão para cada rodada de alteração e registre as descobertas em
./slim_refactor/report.md. - Se a validação sugerir divergência contrato/teste, execute o portão de divergência de contrato e registre o tipo de revisor mais a classificação.
- Execute o portão completo do fluxo de trabalho.
- Finalize
report.mdcom rastreabilidade e decisão de mesclar ou bloquear.
Requisitos de Saída
Sempre relate:
- complexidade removida
- estrutura convergida
- resultado da validação
- risco remanescente
- invariantes de contrato mantidas ou corrigidas
- classificação de divergência, quando aplicável
- tipo de revisor (
subagentoulocal_fallback) quando uma revisão de divergência ocorreu - testes alterados ou pulados quando testes desatualizados foram encontrados
Para strict, também relate:
- nome do branch
- caminhos dos artefatos
- resultado da revisão
- decisão de mesclar ou bloquear
Referências
references/workflow-checklist.mdreferences/design-spec-template.mdreferences/todolist-template.mdreferences/plan-template.mdreferences/report-template.md