Test Guard
Revisiona test scritti da AI rispetto a nove regole: confini dei mock, nessun test duplicato o vuoto.
Promosso
Cosa fa
Test Guard è un passaggio di revisione per il codice di test che un agente ha appena scritto o modificato, applicando nove regole: mock solo ai confini del sistema, mai mockare dataclass o oggetti di stato, parametrizzare test quasi duplicati, eliminare test che non catturano nulla, nominare i test per lo scenario e mantenere i test di regressione di produzione. Carica un riferimento specifico per stack per pytest, Jest/Vitest, PHPUnit/Pest o applicazioni LLM, quindi riporta le violazioni come numero di regola più posizione, causa e correzione. Si attiva su richieste di scrivere, aggiungere o revisionare test, e su diff che toccano test_*.py, *Test.php, *.test.ts, *_test.go, o file sotto tests/ e __tests__/.
Rapporto di test
Clonato il repo in una HOME temporanea e confermato che la copia posiziona SKILL.md in ~/.claude/skills/test-guard/SKILL.md; il frontmatter analizza con name+description (815 caratteri), e tutti e quattro i file collegati nel corpo (references/pytest.md, jest.md, phpunit.md, llm-app-testing.md) hanno restituito HTTP 200; nessun curl|sh, base64 o testo che tocchi credenziali. Task: ho scritto un modulo Python di pricing di 30 righe più un file pytest di 9 test deliberatamente "AI-flavored" (MagicMock che sostituisce la dataclass Cart, @patch su _tax_rate privato, assert_called_once su log.info), quindi ho prodotto una revisione baseline senza skill e una seconda revisione seguendo SKILL.md e references/pytest.md. La baseline ha rilevato la duplicazione del parametro, la denominazione debole e le asserzioni aritmetiche mancanti, ma non ha mai notato la dataclass mockata e ha definito test_cart_dataclass_sets_attributes "di scarso valore ma innocuo; mantenerlo non costa nulla"; la revisione della skill ha contrassegnato lo stesso test come eliminazione di Regola 4, ha contrassegnato la MagicMock Cart come Regola 8 in tre test, e ha ridotto 9 test a 4 con un verdetto "non unire" e una suite riscritta i cui totali attesi (119.00 DE, 107.10 con un codice del 10%) ho verificato eseguendo il modulo. Frasi di attivazione — dovrebbe attivarsi: "Ho appena scritto i test per il modulo di pagamento, revisionarli prima di committare", "Aggiungi unit test per src/parser.ts che coprano il percorso di input malformato", "Ecco un diff di PR che tocca tests/test_orders.py, c'è qualcosa di sbagliato in questi test?"; non dovrebbe attivarsi: "La mia suite pytest fallisce con un errore ScopeMismatch del fixture, aiutami a debuggarlo", "Revisiona questo refactoring della classe OrderService" — 5/5, la clausola esplicita DO NOT USE della descrizione allontana pulitamente entrambi i negativi.
Testato il: 2026-07-21 · Claude Code 2.x (agent harness)
Installazione
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."
Comandi e prompt di esempio
/test-guardRevisiona test scritti da AI rispetto a nove regole: confini dei mock, nessun test duplicato o vuoto.
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Review these tests before I commit themWrite tests for this new functionCheck this test file for common testing mistakes