Pular para o conteúdo
Skillpedia
Testes48 mil · #4357

test-guard

Ajuda seu agente a revisar o código de testes gerado ou modificado, garantindo a qualidade antes da aprovação.

O que ela faz

Este agente revisa códigos de teste para garantir que sigam boas práticas. Ele verifica se os testes focam no comportamento do programa, evitam repetições e não testam funcionalidades já garantidas pelo sistema.

Quando usar

  • ✓Ao revisar testes recém-criados por uma IA.
  • ✓Ao editar ou refatorar testes existentes.
  • ✓Ao analisar um conjunto de mudanças que inclui alterações em testes.

Exemplo do que pedir para a IA

“Revise estes testes para garantir que eles sigam as regras de qualidade.”

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/test-guard/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/test-guard/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

O agente lê o código de teste e o compara com um conjunto de regras. Ele aponta onde o código viola essas regras e sugere como corrigi-lo, focando em problemas que causam dificuldades de manutenção ou escondem erros reais.

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 sickn33/agentic-awesome-skills --skill test-guard

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/test-guard/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Test Guard

Você está revisando código de teste gerado ou alterado antes que ele seja enviado. Aplique as regras abaixo após a primeira passagem de escrita de testes e antes que os testes sejam apresentados, commitados ou mesclados. Seja um revisor perspicaz, não pedante: sinalize o que desperdiça esforço de manutenção ou esconde bugs reais, ignore preferências cosméticas.

Essas regras existem porque os agentes de codificação geram testes em excesso. As falhas comuns: testes unitários com muitos mocks que afirmam detalhes de implementação, corpos de teste quase duplicados que diferem por um valor e testes que reconfirmam o framework em vez da lógica do projeto. Cada um parece produtivo em um diff e custa manutenção para sempre.

Quando Usar

Use esta habilidade ao revisar código de teste gerado ou alterado antes que ele seja enviado. Ative-a reativamente após um agente escrever, editar, gerar ou refatorar testes — testes unitários, testes de integração, testes e2e ou testes de snapshot em qualquer framework.

Quando esta habilidade é ativada

  • Um agente de codificação acabou de escrever novas funções de teste ou arquivos de teste, em qualquer idioma
  • Você está editando testes existentes
  • Você está revisando um diff que contém alterações de teste
  • O usuário pede para você escrever, adicionar ou revisar testes

Adapte-se ao projeto primeiro

Essas regras são universais, mas sua aplicação não é. Antes de revisar:

  1. Verifique as instruções do agente do projeto (CLAUDE.md, AGENTS.md) e a documentação de testes. Regras de teste específicas do projeto prevalecem sobre esta habilidade quando entram em conflito.
  2. Identifique a stack de testes e, em seguida, leia a referência correspondente para padrões concretos:
  3. Se o projeto chama APIs LLM, usa frameworks de agente ou configura observabilidade/telemetria, leia também references/llm-app-testing.md — ele adiciona três regras específicas para aplicações LLM.
  4. Mapeie os limites do sistema do projeto: chamadas de rede, bancos de dados, sistema de arquivos, relógio e aleatoriedade, SDKs de terceiros, APIs LLM. Fixtures e helpers de teste existentes geralmente revelam onde o projeto já traça essas linhas.

O que fazer

  1. Leia o código de teste: o diff, o novo arquivo ou a seção que está sendo modificada.
  2. Verifique cada teste em relação às regras abaixo.
  3. Relate violações de forma concisa: número da regra, local, por que viola, sugestão de correção.
  4. Se o usuário invocar explicitamente esta habilidade antes da escrita de testes, aplique as regras enquanto escreve — não escreva violações e depois as sinalize.

Ao escrever novos testes, pergunte para cada teste: "Que bug específico este teste captura que nenhum outro teste nesta suíte captura?" Se você não conseguir responder claramente, não o escreva.

As Nove Regras

Regra 1: Teste o comportamento, não a implementação

Teste o que o código faz da perspectiva do chamador. Afirme valores de retorno e efeitos colaterais observáveis. Nunca afirme que um helper interno foi chamado com argumentos específicos — esse teste falha em cada refatoração enquanto não captura nada.

Padrão de violação: afirmar que um mock de uma função interna foi chamado, onde essa função não é um limite do sistema. Correção: afirme o valor de retorno ou a mudança de estado que o chamador observa.

Regra 2: Todo mock deve ser justificado

Mock apenas em limites do sistema: chamadas de rede e HTTP, APIs LLM, bancos de dados, I/O de sistema de arquivos em arquivos externos, relógio e aleatoriedade, SDKs de terceiros. Nunca mock classes internas ou funções helper para isolar uma "unidade" — as emendas que você cria escondem os bugs de integração que valem a pena capturar.

Ao mockar um limite, afirme o que o chamador faz com a resposta, não que o mock recebeu argumentos específicos.

Regra 3: Um cenário por teste, orientado a dados para variantes

Se dois ou mais testes compartilham configuração idêntica e diferem apenas em valores de entrada/saída, mescle-os em um teste orientado a dados (@pytest.mark.parametrize, PHPUnit #[DataProvider], Jest test.each).

Quando testes separados SÃO corretos: configuração diferente, asserções diferentes, configurações de mock diferentes ou cenários genuinamente diferentes que por acaso exercitam a mesma função.

Regra 4: Todo teste deve justificar sua existência

Pergunte: "Que bug este teste captura que nenhum outro teste captura?" Exclua testes que apenas capturam erros de digitação, verificam valores padrão de classes de dados ou testam lógica trivial de passagem.

…

Perguntas frequentes

O que são 'regras universais de teste'?

São diretrizes gerais para escrever testes eficazes, como focar no resultado final do programa em vez de como ele é feito por dentro, e evitar testes que são muito parecidos entre si.

Por que não devo testar detalhes internos do código?

Testar detalhes internos (implementação) faz com que os testes quebrem facilmente quando o código é modificado, mesmo que o resultado final do programa continue o mesmo. Isso aumenta o trabalho de manutenção sem encontrar novos erros.

O que é um 'mock'?

Um mock é um objeto falso usado em testes para simular o comportamento de outras partes do programa. Este agente sugere usar mocks apenas em limites específicos do sistema (como chamadas de rede) e não para partes internas do seu próprio código.

Detalhes

Descrição original do autor

Review generated or changed test code against universal testing rules before it ships or is presented for approval.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4357
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas