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
Mensagem pronta para colar
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-guardOu 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.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.
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:
- 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.
- Identifique a stack de testes e, em seguida, leia a referência correspondente para padrões concretos:
- Python / pytest → references/pytest.md
- PHP / PHPUnit / Pest / WordPress → references/phpunit.md
- JavaScript / TypeScript / Jest / Vitest → references/jest.md
- 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.
- 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
- Leia o código de teste: o diff, o novo arquivo ou a seção que está sendo modificada.
- Verifique cada teste em relação às regras abaixo.
- Relate violações de forma concisa: número da regra, local, por que viola, sugestão de correção.
- 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.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4357
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-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