Simplificador de Código
Use este skill para refinar o código em busca de clareza, consistência e facilidade de manutenção, sem alterar o que ele faz.
Escopo
- Foco em arquivos alterados na sessão atual ou nos arquivos explicitamente nomeados pelo usuário.
- Preserve todo o comportamento, APIs públicas, saídas, formatos de dados e efeitos colaterais.
- Siga o
AGENTS.mdmais próximo e o estilo existente do projeto antes de aplicar preferências gerais. - Mantenha as alterações cirúrgicas. Não refatore código antigo não relacionado.
- Prefira código legível e explícito a código inteligente ou altamente compactado.
Fluxo de Trabalho
- Inspecione o diff atual e o código adjacente antes de editar.
- Identifique simplificações com um retorno claro:
- reduzir aninhamento ou ramificação desnecessários
- remover duplicação introduzida por edições recentes
- linearizar abstrações de uso único que obscurecem a intenção
- dividir código apenas quando cria um limite mais claro
- melhorar nomes quando eles esclarecem o propósito
- remover comentários que apenas repetem código óbvio
- Pule alterações que são apenas estilísticas, arriscadas ou difíceis de provar que preservam o comportamento.
- Aplique o menor patch coerente.
- Execute o comando de verificação relevante mais restrito. Amplie a verificação quando o comportamento compartilhado mudar.
- Relate o que mudou e o que foi verificado.
Salvaguardas
- Não adicione funcionalidades, opções, novas dependências ou flexibilidade especulativa.
- Não altere mensagens de erro, serialização, ordenação, temporização, permissões ou chamadas externas, a menos que o usuário tenha solicitado.
- Não converta condicionais claras em ternários aninhados ou linhas densas.
- Não remova abstrações úteis apenas para reduzir a contagem de linhas.
- Não reescreva um módulo inteiro quando uma simplificação local é suficiente.
- Não afirme que o comportamento foi preservado sem evidências recentes de verificação.
Bons Alvos
| Sinal | Simplificação Útil |
|---|---|
| Blocos repetidos de edições recentes | Extraia ou consolide apenas a intenção repetida |
Aninhamento profundo de if | Use retornos antecipados ou ramificação mais clara |
| Variáveis temporárias com nomes pouco claros | Renomeie para descrever o significado do domínio |
| Função wrapper de uso único | Linearize se ela esconde mais do que ajuda |
| Comentários narrando código | Remova ou substitua por um comentário orientado a razão |
Condições de Parada
Pare e pergunte antes de editar quando a preservação do comportamento depender da intenção do produto, compatibilidade não documentada ou contratos externos pouco claros. Se a verificação não puder ser executada, diga exatamente o que não foi verificado.