code-review-and-quality
Realiza revisões de código detalhadas em várias frentes. É útil antes de juntar novas mudanças para garantir a qualidade e evitar problemas futuros.
O que ela faz
Essa ferramenta revisa seu código para garantir que ele está correto, fácil de entender, bem organizado, seguro e rápido. Ela ajuda a encontrar problemas antes que o código seja adicionado ao projeto principal.
Quando usar
- ✓Antes de adicionar uma mudança de código ao projeto.
- ✓Quando você quer verificar a qualidade de um código escrito por você ou outra pessoa.
- ✓Após corrigir um erro ou adicionar uma nova funcionalidade.
Exemplo do que pedir para a IA
“Revise este código para garantir que ele está correto, legível, seguro e com bom desempenho.”
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 ferramenta analisa o código em cinco áreas: se ele faz o que deveria (correto), se é fácil de ler (legibilidade), se se encaixa na estrutura do projeto (arquitetura), se é seguro contra ataques (segurança) e se não é lento (desempenho).
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 addyosmani/agent-skills --skill code-review-and-qualityOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/addyosmani/agent-skills/main/skills/code-review-and-quality/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.
Revisão de Código e Qualidade
Visão Geral
Revisão de código multidimensional com portões de qualidade. Toda alteração é revisada antes de ser mesclada — sem exceções. A revisão abrange cinco eixos: correção, legibilidade, arquitetura, segurança e desempenho.
O padrão de aprovação: Aprove uma alteração quando ela definitivamente melhora a saúde geral do código, mesmo que não seja perfeita. Código perfeito não existe — o objetivo é a melhoria contínua. Não bloqueie uma alteração porque ela não está exatamente como você a escreveria. Se ela melhora a base de código e segue as convenções do projeto, aprove-a.
Quando Usar
- Antes de mesclar qualquer PR ou alteração
- Após concluir a implementação de um recurso
- Quando outro agente ou modelo produziu código que você precisa avaliar
- Ao refatorar código existente
- Após qualquer correção de bug (revise tanto a correção quanto o teste de regressão)
A Revisão de Cinco Eixos
Toda revisão avalia o código nessas dimensões:
1. Correção
O código faz o que afirma fazer?
- Ele corresponde à especificação ou aos requisitos da tarefa?
- Casos extremos são tratados (nulo, vazio, valores limite)?
- Caminhos de erro são tratados (não apenas o caminho feliz)?
- Ele passa em todos os testes? Os testes estão realmente testando as coisas certas?
- Existem erros de "off-by-one", condições de corrida ou inconsistências de estado?
2. Legibilidade e Simplicidade
Outro engenheiro (ou agente) consegue entender este código sem que o autor o explique?
- Os nomes são descritivos e consistentes com as convenções do projeto? (Sem
temp,data,resultsem contexto) - O fluxo de controle é direto (evite ternários aninhados, callbacks profundos)?
- O código está organizado logicamente (código relacionado agrupado, limites claros de módulo)?
- Existem truques "inteligentes" que deveriam ser simplificados?
- Isso poderia ser feito em menos linhas? (1000 linhas onde 100 são suficientes é uma falha)
- Abstrações estão justificando sua complexidade? (Não generalize até o terceiro caso de uso)
- Comentários ajudariam a esclarecer intenções não óbvias? (Mas não comente código óbvio.)
- Existem artefatos de código morto: variáveis de "no-op" (
_unused), "shims" de compatibilidade retroativa ou comentários// removed? - Uma nova condição está sendo acoplada a um fluxo não relacionado? Isso é um "cheiro" de design, não um detalhe — mova a lógica para seu próprio helper, estado ou política em vez de emaranhar um caminho existente.
- Condicionais repetidos com a mesma forma aparecem? Eles sinalizam um modelo ou despachante ausente. Um branch "temporário" geralmente é dívida permanente.
3. Arquitetura
A alteração se encaixa no design do sistema?
- Ela segue padrões existentes ou introduz um novo? Se novo, é justificado?
- Ela mantém limites limpos de módulo?
- Existe duplicação de código que deveria ser compartilhada?
- As dependências fluem na direção certa (sem dependências circulares)?
- O nível de abstração é apropriado (não superengenharia, não muito acoplado)?
- Este refatoramento reduz a complexidade ou apenas a realoca? Conte os conceitos que um leitor precisa ter em mente para seguir a alteração. Se uma versão "mais limpa" não altera essa contagem, ela não é mais limpa — prefira a reestruturação que faz ramos, modos ou camadas inteiras desaparecerem em vez de uma que re-centraliza a mesma lógica. Prefira excluir uma abstração a polí-la.
- Lógica específica de recursos está vazando para um módulo compartilhado ou de propósito geral? Mantenha a lógica em sua camada proprietária, reutilize o helper canônico existente em vez de um quase duplicado e não normalize a deriva arquitetural.
- Os limites de tipo são explícitos? Questione
any/unknown/opcionais/casts gratuitos e fallbacks silenciosos que mascaram um invariante pouco claro — tornar o limite explícito geralmente torna o fluxo de controle circundante mais simples.
4. Segurança
Para orientação detalhada de segurança, veja security-and-hardening. A alteração introduz vulnerabilidades?
- A entrada do usuário é validada e higienizada?
- Segredos são mantidos fora do código, logs e controle de versão?
- Autenticação/autorização são verificadas onde necessário?
- Consultas SQL são parametrizadas (sem concatenação de strings)?
- Saídas são codificadas para prevenir XSS?
- Dependências são de fontes confiáveis e sem vulnerabilidades conhecidas?
- Dados de fontes externas (APIs, logs, conteúdo do usuário, arquivos de configuração) são tratados como não confiáveis?
- Fluxos de dados externos são validados nos limites do sistema antes de serem usados na lógica ou renderização?
5. Desempenho
Para profiling e otimização detalhados, veja performance-optimization. A alteração introduz problemas de desempenho?
- Padrões de consulta N+1?
…
Perguntas frequentes
O que significa 'revisão multidimensional'?
Significa que o código é avaliado em várias áreas importantes, como correção, clareza, segurança e desempenho, em vez de apenas um aspecto.
O código precisa ser perfeito?
Não, o objetivo é a melhoria contínua. O código deve melhorar a qualidade geral, mesmo que não seja perfeito ou escrito exatamente como você faria.
O que fazer se a revisão encontrar problemas?
A ferramenta sugere como corrigir os problemas, como simplificar o código, separar partes complexas ou garantir que a segurança seja mantida.
Detalhes
Descrição original do autor
Conducts multi-axis code review. Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you need to assess code quality across multiple dimensions before it enters the main branch. Use when asked to review a diff or a pull request, even when the diff is pasted inline.
repo: addyosmani/agent-skills
Popularidade
- Estrelas no GitHub
- 107 mil
- Posição no ranking
- #343
- Licença
- MIT
- Atualizada em
- 13/10/2026
Comentários
- …
Mais skills deste repositório
api-and-interface-design
Ajuda a criar APIs e interfaces bem definidas. É útil ao projetar como diferentes partes de um software vão se comunicar.
addyosmani/agent-skills
browser-testing-with-devtools
Ajuda seu agente a testar código diretamente em navegadores reais. É útil para verificar como algo funciona no ambiente onde será usado, encontrando erros e problemas de performance.
addyosmani/agent-skills
ci-cd-and-automation
Ensina seu agente de IA a automatizar tarefas repetitivas e colocar projetos no ar e cuidar da infraestrutura.
addyosmani/agent-skills
code-simplification
Simplifica o código para torná-lo mais fácil de entender e manter. É útil quando o código funciona, mas está complicado demais, ajudando a melhorar a clareza.
addyosmani/agent-skills
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC