Test Guard
Examine les tests écrits par l'IA selon neuf règles : limites des mocks, pas de tests dupliqués ou vides.
Testé · Fonctionne
Ce que fait
Test Guard est une passe de révision pour le code de test qu'un agent vient d'écrire ou de modifier, appliquant neuf règles : mocker uniquement aux limites du système, ne jamais mocker les dataclasses ou les objets d'état, paramétrer les tests quasi-dupliqués, supprimer les tests qui ne détectent rien, nommer les tests pour le scénario, et conserver les tests de régression de production. Il charge une référence spécifique à la pile pour pytest, Jest/Vitest, PHPUnit/Pest, ou les applications LLM, puis signale les violations sous forme de numéro de règle, d'emplacement, de cause et de correctif. Se déclenche sur les demandes d'écriture, d'ajout ou de révision de tests, et sur les diffs touchant test_*.py, *Test.php, *.test.ts, *_test.go, ou les fichiers sous tests/ et __tests__/.
Rapport de test
Cloné le dépôt dans un HOME temporaire et confirmé que la copie place SKILL.md dans ~/.claude/skills/test-guard/SKILL.md ; le frontmatter est analysé avec name+description (815 caractères), et les quatre fichiers liés dans le corps (references/pytest.md, jest.md, phpunit.md, llm-app-testing.md) ont retourné HTTP 200 ; aucun curl|sh, base64, ou texte touchant aux identifiants nulle part. Tâche : j'ai écrit un module de tarification Python de 30 lignes plus un fichier pytest de 9 tests délibérément orienté IA (MagicMock remplaçant la dataclass Cart, @patch sur le _tax_rate privé, assert_called_once sur log.info), puis produit une révision de référence sans la compétence et une deuxième révision suivant SKILL.md et references/pytest.md. La référence a détecté la duplication de paramétrage, le nommage faible et les assertions arithmétiques manquantes, mais n'a jamais remarqué la dataclass mockée et a qualifié test_cart_dataclass_sets_attributes de "faible valeur mais inoffensif ; le conserver ne coûte rien" ; la révision de la compétence a signalé ce même test comme une suppression de Règle 4, a signalé le MagicMock Cart comme Règle 8 sur trois tests, et a réduit 9 tests à 4 avec un verdict "ne pas fusionner" et une suite réécrite dont j'ai vérifié les totaux attendus (119.00 DE, 107.10 avec un code de 10%) en exécutant le module. Phrases de déclenchement — devrait se déclencher : "I just wrote tests for the payment module, review them before I commit", "Add unit tests for src/parser.ts covering the malformed-input path", "Here's a PR diff touching tests/test_orders.py, anything wrong with these tests?"; ne devrait pas se déclencher : "My pytest suite fails with a fixture ScopeMismatch error, help me debug it", "Review this refactor of the OrderService class" — 5/5, la clause explicite DO NOT USE de la description écarte proprement les deux négatifs.
Testé le: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
git clone --depth 1 https://github.com/amElnagdy/guard-skills.git /tmp/test-guard-src mkdir -p ~/.claude/skills cp -R /tmp/test-guard-src/skills/test-guard ~/.claude/skills/test-guard # No dependencies, no API keys, no scripts — SKILL.md plus 4 markdown references. # The repo also ships clean-code-guard, docs-guard, wp-guard, woo-guard in /tmp/test-guard-src/skills/. # CLI alternative (installs a copy, same result): npx skills add amElnagdy/guard-skills --skill test-guard # Usage: after your agent writes tests, say "Use test-guard on the tests you just wrote."
Commandes et exemples de prompts
/test-guardExamine les tests écrits par l'IA selon neuf règles : limites des mocks, pas de tests dupliqués ou vides.
Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :
Review these tests before I commit themWrite tests for this new functionCheck this test file for common testing mistakes