O que code-review-skill faz?
Habilidade de revisão de código para agentes de IA - Auto-iteração com princípios SOLID
Esta skill permite que um agente de IA realize revisões de código auto-iterativas, focando em aderência aos princípios SOLID, qualidade do código e melhores práticas. Ela é projetada para ser usada principalmente com o Claude Code (antigo Coder), mas pode ser adaptada para outros agentes.
Objetivo
Fornecer uma estrutura para que um agente de IA revise o código, sugira melhorias e refatore iterativamente o código para melhor aderência aos princípios SOLID e à qualidade geral do código.
Funcionalidades
- Análise de código baseada nos princípios SOLID
- Sugestões automáticas de refatoração
- Ciclo de auto-iteração: revisão → sugere → aplica mudanças → executa testes → repete
- Suporte a múltiplas linguagens de programação (Python, JavaScript, TypeScript, Go, Rust, Java, etc.)
- Integração com sistemas de controle de versão (Git)
Como usar
- Forneça o(s) arquivo(s) de código que você deseja revisar.
- O agente analisará o código usando os princípios SOLID.
- O agente sugerirá refatorações e aplicará as mudanças.
- O agente executará os testes existentes para garantir que as mudanças não quebram nada.
- O processo será repetido até que o código atenda aos critérios de qualidade definidos.
Princípios SOLID
- S - Princípio da Responsabilidade Única (Single Responsibility Principle)
- O - Princípio do Aberto/Fechado (Open/Closed Principle)
- L - Princípio da Substituição de Liskov (Liskov Substitution Principle)
- I - Princípio da Segregação de Interfaces (Interface Segregation Principle)
- D - Princípio da Inversão de Dependência (Dependency Inversion Principle)
Exemplo
Input:
class PedidoService:
def __init__(self):
self.pedido_repo = PedidoRepositorio()
self.email_service = EmailService()
self.logger = Logger()
def criar_pedido(self, pedido):
self.logger.log("Criando pedido...")
self.pedido_repo.save(pedido)
self.email_service.enviar_email(pedido.cliente.email, "Pedido criado")
return pedido
Output (após refatoração):
class PedidoService:
def __init__(self, pedido_repo: PedidoRepositorio, notificador: Notificador, logger: Logger):
self.pedido_repo = pedido_repo
self.notificador = notificador
self.logger = logger
def criar_pedido(self, pedido: Pedido) -> Pedido:
self.logger.log("Criando pedido...")
self.pedido_repo.save(pedido)
self.notificador.enviar(pedido.cliente, "Pedido criado")
return pedido
Configuração
Esta skill não requer configuração específica. Ela é auto-contida e usa as capacidades existentes do ambiente do agente (acesso a sistema de arquivos, execução de comandos, etc.).
Observações
- A skill pode ser usada com qualquer agente de IA que suporte a execução de comandos e manipulação de arquivos.
- É importante ter testes escritos para o código que está sendo revisado, para validar as refatorações.
- O processo pode ser demorado para bases de código grandes.
Contribuição
Sinta-se à vontade para adaptar esta skill conforme necessário para seu caso de uso específico. Pull requests são bem-vindos.
Licença
MIT