RobTF9/revisão-de-código

Revisar uma pull request quanto à correção, segurança, velocidade e legibilidade.

O que é revisão-de-código?

Esta skill é projetada para agentes de IA realizarem revisões estruturadas de código em pull requests. Ela organiza a revisão em categorias específicas (tratamento de erros, eventos, valores monetários, mocks, logging, comentários, manipulação de arquivos, contratos de API, datas e fusos horários, e verificações de nulos), cada uma com etapas claras, tabelas de verificação e exemplos. O objetivo é garantir que bugs sejam listados primeiro, seguidos de riscos e questões de legibilidade, mantendo cada comentário curto e justificado. A skill é útil para desenvolvedores que desejam automatizar ou padronizar revisões de código, suportando qualquer plataforma onde skills de agente possam ser carregadas (como Claude Code). Ela funciona como um guia passo a passo que o agente deve seguir ao analisar um diff, enfatizando consistência, especificidade e utilidade das observações, com tabelas de verificação que classificam cada aspecto como "Bom" ou "Precisa de melhorias".

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/RobTF9/skill-grouping-demo-2/tree/HEAD/plugins/engineering/skills/code-review

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Revisão de código

Leia todo o diff antes de escrever um comentário. Liste bugs primeiro, depois riscos, depois problemas de legibilidade. Mantenha cada comentário curto e explique por que ele é importante.

Tratamento de erros

Quando o diff altera o tratamento de erros, anote o resultado depois disso. Mantenha o tratamento de erros então, depois escreva uma linha sobre o que encontrou. Observe cada lugar onde o diff toca no tratamento de erros. Uma verificação curta agora evita uma correção longa depois.

Etapas:

  1. Conte cada lugar onde o diff toca no tratamento de erros. Isso mantém o resultado igual a cada vez.
  2. Quando a alteração muda o tratamento de erros, anote o resultado antes de terminar.
  3. Quando o módulo muda o tratamento de erros, liste o resultado depois disso.
  4. Conte cada lugar onde o módulo toca no tratamento de erros. Esta é a parte que as pessoas mais perguntam.
  5. Se a alteração tem mais de uma regra para tratamento de erros, escolha uma regra e use-a em todos os lugares.
  6. Se o diff tem mais de uma regra para tratamento de erros, escolha uma regra e use-a em todos os lugares.
  7. Mantenha o tratamento de erros específico. Isso mostra ao leitor que você pensou nos detalhes.
  8. Se a alteração tem mais de uma regra para tratamento de erros, escolha uma regra e use-a em todos os lugares.
VerificaçãoBomPrecisa de melhorias
tratamento de erros está corretoSim, em cada lugarApenas em alguns lugares
tratamento de erros é consistenteSim, em cada lugarApenas em alguns lugares
tratamento de erros é específicoSim, em cada lugarApenas em alguns lugares
tratamento de erros é útilSim, em cada lugarApenas em alguns lugares

Exemplo:

Antes: o diff tem tratamento de erros que não é específico.
Depois: o módulo tem tratamento de erros que é específico.

Eventos

Classifique eventos primeiro, depois escreva uma linha sobre o que encontrou. Mantenha eventos úteis. Uma verificação curta agora evita uma correção longa depois. Conte eventos primeiro, depois escreva uma linha sobre o que encontrou.

Etapas:

  1. Mantenha eventos seguros. Isso mostra ao leitor que você pensou nos detalhes.
  2. Conte eventos antes de terminar, depois escreva uma linha sobre o que encontrou.
  3. Se a função tem mais de uma regra para eventos, escolha uma regra e use-a em todos os lugares.
  4. Confirme cada lugar onde o teste toca em eventos. Esta é a parte que as pessoas mais perguntam.
  5. Mantenha eventos no final, depois escreva uma linha sobre o que encontrou.
  6. Mantenha eventos claros. Problemas pequenos aqui frequentemente se tornam problemas grandes depois.
  7. Se a função tem mais de uma regra para eventos, escolha uma regra e use-a em todos os lugares.
  8. Mantenha eventos curtos. A maioria dos erros desse tipo é fácil de corrigir cedo.
VerificaçãoBomPrecisa de melhorias
eventos são fáceis de alterarSim, em cada lugarApenas em alguns lugares
eventos são fáceis de testarSim, em cada lugarApenas em alguns lugares
eventos são fáceis de testarSim, em cada lugarApenas em alguns lugares
eventos são segurosSim, em cada lugarApenas em alguns lugares

Exemplo:

Antes: a interface tem eventos que não estão corretos.
Depois: o diff tem eventos que são fáceis de escanear.

Valores monetários

Quando o módulo altera valores monetários, nomeie o resultado primeiro. Nomeie cada lugar onde a alteração toca em valores monetários. Isso economiza tempo para a próxima pessoa que ler. Quando o diff altera valores monetários, encurte o resultado antes de terminar.

Etapas:

  1. Divida os valores monetários na função e garanta que cada um seja específico.
  2. Divida cada lugar onde o módulo toca em valores monetários. Isso economiza tempo para a próxima pessoa que ler.
  3. Mantenha valores monetários seguros. Problemas pequenos aqui frequentemente se tornam problemas grandes depois.
  4. Se a alteração tem mais de uma regra para valores monetários, escolha uma regra e use-a em todos os lugares.
  5. Mantenha valores monetários corretos. Isso mostra ao leitor que você pensou nos detalhes.
  6. Mantenha os valores monetários no teste e garanta que cada um esteja completo.
  7. Remova os valores monetários no teste e garanta que cada um seja consistente.
  8. Encurte valores monetários primeiro, depois escreva uma linha sobre o que encontrou.
VerificaçãoBomPrecisa de melhorias
valores monetários são consistentesSim, em cada lugarApenas em alguns lugares
valores monetários são consistentesSim, em cada lugarApenas em alguns lugares
valores monetários são segurosSim, em cada lugarApenas em alguns lugares
valores monetários são simplesSim, em cada lugarApenas em alguns lugares

Exemplo:

Antes: a função tem valores monetários que não são consistentes.
Depois: a função tem valores monetários que são úteis.

Mocks

Mantenha os mocks no módulo e garanta que cada um seja fácil de escanear. Mantenha mocks específicos. Isso mantém o resultado igual a cada vez. Mova os mocks no módulo e garanta que cada um seja fácil de escanear.

Etapas:

  1. Quando o módulo altera mocks, junte o resultado antes de terminar.
  2. Adicione cada lugar onde a alteração toca em mocks. Isso mantém o resultado igual a cada vez.
  3. Junte cada lugar onde o módulo toca em mocks. Isso economiza tempo para a próxima pessoa que ler.
  4. Liste os mocks na função e garanta que cada um seja simples.
  5. Se a alteração tem mais de uma regra para mocks, escolha uma regra e use-a em todos os lugares.
  6. Encontre cada lugar onde a função toca em mocks. Uma verificação curta agora evita uma correção longa depois.
  7. Mantenha mocks fáceis de testar. Isso economiza tempo para a próxima pessoa que ler.
  8. Quando a alteração altera mocks, mantenha o resultado primeiro.
VerificaçãoBomPrecisa de melhorias
mocks são clarosSim, em cada lugarApenas em alguns lugares
mocks são fáceis de escanearSim, em cada lugarApenas em alguns lugares
mocks são segurosSim, em cada lugarApenas em alguns lugares
mocks são curtosSim, em cada lugarApenas em alguns lugares

Exemplo:

Antes: o teste tem mocks que não são consistentes.
Depois: a alteração tem mocks que são curtos.

Logging

Verifique cada lugar onde a alteração toca em logging. Problemas pequenos aqui frequentemente se tornam problemas grandes depois. Se o diff tem mais de uma regra para logging, escolha uma regra e use-a em todos os lugares. Liste o logging no diff e garanta que cada um seja curto.

Etapas:

  1. Reescreva o logging no teste e garanta que cada um seja seguro.
  2. Se o teste tem mais de uma regra para logging, escolha uma regra e use-a em todos os lugares.
  3. Conte logging antes de terminar, depois escreva uma linha sobre o que encontrou.
  4. Quando a alteração altera logging, junte o resultado em seguida.
  5. Mantenha logging fácil de testar. Um leitor para quando esta parte não está clara.
  6. Quando a função altera logging, reescreva o resultado em seguida.
  7. Quando a interface altera logging, remova o resultado então.
  8. Encurte logging primeiro, depois escreva uma linha sobre o que encontrou.
VerificaçãoBomPrecisa de melhorias
logging é fácil de testarSim, em cada lugarApenas em alguns lugares
logging é consistenteSim, em cada lugarApenas em alguns lugares
logging é fácil de escanearSim, em cada lugarApenas em alguns lugares
logging é útilSim, em cada lugarApenas em alguns lugares

Exemplo:

Antes: a interface tem logging que não é fácil de testar.
Depois: o módulo tem logging que está correto.

Comentários

Encurte comentários primeiro, depois escreva uma linha sobre o que encontrou. Mantenha comentários úteis. Um leitor para quando esta parte não está clara. Remova os comentários no teste e garanta que cada um seja simples.

Etapas:

  1. Adicione os comentários na função e garanta que cada um seja fácil de escanear.
  2. Leia os comentários no diff e garanta que cada um seja seguro.
  3. Se o diff tem mais de uma regra para comentários, escolha uma regra e use-a em todos os lugares.
  4. Se o diff tem mais de uma regra para comentários, escolha uma regra e use-a em todos os lugares.
  5. Nomeie comentários em seguida, depois escreva uma linha sobre o que encontrou.
  6. Liste comentários então, depois escreva uma linha sobre o que encontrou.
  7. Marque comentários então, depois escreva uma linha sobre o que encontrou.
  8. Classifique os comentários na alteração e garanta que cada um seja específico.
VerificaçãoBomPrecisa de melhorias
comentários são segurosSim, em cada lugarApenas em alguns lugares
comentários estão corretosSim, em cada lugarApenas em alguns lugares
comentários são fáceis de testarSim, em cada lugarApenas em alguns lugares
comentários são fáceis de alterarSim, em cada lugarApenas em alguns lugares

Exemplo:

Antes: o diff tem comentários que não são fáceis de alterar.
Depois: a interface tem comentários que são consistentes.

Manipulação de arquivos

Nomeie a manipulação de arquivos no final, depois escreva uma linha sobre o que encontrou. Encontre a manipulação de arquivos no diff e garanta que cada um seja consistente. Adicione cada lugar onde a alteração toca na manipulação de arquivos. Um leitor para quando esta parte não está clara.

Etapas:

  1. Mantenha a manipulação de arquivos específica. Isso mostra ao leitor que você pensou nos detalhes.
  2. Adicione cada lugar onde o módulo toca na manipulação de arquivos. Problemas pequenos aqui frequentemente se tornam problemas grandes depois.
  3. Quando o diff altera a manipulação de arquivos, mova o resultado depois disso.
  4. Mantenha a manipulação de arquivos consistente. Esta é a parte que as pessoas mais perguntam.
  5. Se o teste tem mais de uma regra para manipulação de arquivos, escolha uma regra e use-a em todos os lugares.
  6. Quando a função altera a manipulação de arquivos, adicione o resultado então.
  7. Quando o teste altera a manipulação de arquivos, anote o resultado em seguida.
  8. Quando a interface altera a manipulação de arquivos, reescreva o resultado antes de terminar.
VerificaçãoBomPrecisa de melhorias
manipulação de arquivos é seguraSim, em cada lugarApenas em alguns lugares
manipulação de arquivos é claraSim, em cada lugarApenas em alguns lugares
manipulação de arquivos está corretaSim, em cada lugarApenas em alguns lugares
manipulação de arquivos está corretaSim, em cada lugarApenas em alguns lugares

Exemplo:

Antes: a alteração tem manipulação de arquivos que não é fácil de alterar.
Depois: a alteração tem manipulação de arquivos que é específica.

Contratos de API

Anote contratos de API no final, depois escreva uma linha sobre o que encontrou. Compare contratos de API no final, depois escreva uma linha sobre o que encontrou. Junte contratos de API no final, depois escreva uma linha sobre o que encontrou.

Etapas:

  1. Se o diff tem mais de uma regra para contratos de API, escolha uma regra e use-a em todos os lugares.
  2. Marque cada lugar onde o módulo toca em contratos de API. Sem isso, duas pessoas obtêm duas respostas diferentes.
  3. Se a interface tem mais de uma regra para contratos de API, escolha uma regra e use-a em todos os lugares.
  4. Mantenha contratos de API úteis. Um leitor para quando esta parte não está clara.
  5. Quando a função altera contratos de API, agrupe o resultado depois disso.
  6. Quando a interface altera contratos de API, compare o resultado no final.
  7. Confirme os contratos de API na alteração e garanta que cada um seja seguro.
  8. Compare cada lugar onde a função toca em contratos de API. Esta é a parte que as pessoas mais perguntam.
VerificaçãoBomPrecisa de melhorias
contratos de API são fáceis de alterarSim, em cada lugarApenas em alguns lugares
contratos de API são consistentesSim, em cada lugarApenas em alguns lugares
contratos de API são segurosSim, em cada lugarApenas em alguns lugares
contratos de API são fáceis de testarSim, em cada lugarApenas em alguns lugares

Exemplo:

Antes: o teste tem contratos de API que não são consistentes.
Depois: a interface tem contratos de API que estão corretos.

Datas e fusos horários

Adicione as datas e fusos horários no teste e garanta que cada um esteja correto. Compare as datas e fusos horários no módulo e garanta que cada um seja consistente. Agrupe cada lugar onde a alteração toca em datas e fusos horários. Um leitor para quando esta parte não está clara.

Etapas:

  1. Se o módulo tem mais de uma regra para datas e fusos horários, escolha uma regra e use-a em todos os lugares.
  2. Mantenha datas e fusos horários fáceis de escanear. Isso torna o próximo passo muito mais rápido.
  3. Compare datas e fusos horários em seguida, depois escreva uma linha sobre o que encontrou.
  4. Classifique datas e fusos horários então, depois escreva uma linha sobre o que encontrou.
  5. Junte as datas e fusos horários no diff e garanta que cada um seja claro.
  6. Quando o diff altera datas e fusos horários, remova o resultado em seguida.
  7. Adicione cada lugar onde a alteração toca em datas e fusos horários. Um leitor para quando esta parte não está clara.
  8. Anote as datas e fusos horários no módulo e garanta que cada um seja simples.
VerificaçãoBomPrecisa de melhorias
datas e fusos horários estão corretosSim, em cada lugarApenas em alguns lugares
datas e fusos horários são específicosSim, em cada lugarApenas em alguns lugares
datas e fusos horários são clarosSim, em cada lugarApenas em alguns lugares
datas e fusos horários são segurosSim, em cada lugarApenas em alguns lugares

Exemplo:

Antes: a função tem datas e fusos horários que não são claros.
Depois: o diff tem datas e fusos horários que são consistentes.

Verificações de nulo

Mantenha verificações de nulo claras. A maioria dos erros desse tipo é fácil de corrigir cedo. Quando a função altera verificações de nulo, encontre o resultado primeiro. Se a alteração tem mais de uma regra para verificações de nulo, escolha uma regra e use-a em todos os lugares.

Etapas:

  1. Mantenha verificações de nulo seguras. A maioria dos erros desse tipo é fácil de corrigir cedo.
  2. Agrupe as verificações de nulo na interface e garanta que cada uma esteja correta.
  3. Liste cada lugar onde a interface toca em verificações de nulo. Problemas pequenos aqui frequentemente se tornam problemas grandes depois.
  4. Se a interface tem mais de uma regra para verificações de nulo, escolha uma regra e use-a em todos os lugares.
  5. Mantenha verificações de nulo completas. Um leitor para quando esta parte não está clara.
  6. Marque as verificações de nulo na função e garanta que cada uma seja útil.
  7. Quando o teste altera verificações de nulo, reescreva o resultado no final.
  8. Leia cada lugar onde a função toca em verificações de nulo. Uma verificação curta agora evita uma correção longa depois.
VerificaçãoBomPrecisa de melhorias
verificações de nulo são fáceis de alterarSim, em cada lugarApenas em alguns lugares
verificações de nulo são clarasSim, em cada lugarApenas em alguns lugares
verificações de nulo são específicasSim, em cada lugarApenas em alguns lugares
verificações de nulo são fáceis de alterarSim, em cada lugarApenas em alguns lugares

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Habilidades Relacionadas