Test Guard
Przegląda testy napisane przez AI pod kątem dziewięciu zasad: granice mocków, brak duplikatów lub pustych testów
Testowano · Działa
Co robi ten skill
Test Guard to przegląd kodu testowego, który agent właśnie napisał lub zmienił, stosując dziewięć zasad: mockowanie tylko na granicach systemu, nigdy nie mockowanie dataclasses ani obiektów stanu, parametryzowanie prawie-duplikatów testów, usuwanie testów, które nic nie wykrywają, nazywanie testów dla scenariusza i zachowanie testów regresji produkcyjnych. Ładuje referencje specyficzne dla stosu dla pytest, Jest/Vitest, PHPUnit/Pest lub aplikacji LLM, a następnie zgłasza naruszenia jako numer zasady plus lokalizację, przyczynę i poprawkę. Uruchamia się na żądania napisania, dodania lub przeglądu testów, oraz na różnicach dotykających test_*.py, *Test.php, *.test.ts, *_test.go lub plików w katalogach tests/ i __tests__/.
Raport z testu
Sklonowano repozytorium do tymczasowego HOME i potwierdzono, że kopia ląduje SKILL.md w ~/.claude/skills/test-guard/SKILL.md; frontmatter parsowany z name+description (815 znaków), a wszystkie cztery pliki, do których odwołuje się treść (references/pytest.md, jest.md, phpunit.md, llm-app-testing.md) zwróciły HTTP 200; brak curl|sh, base64 lub tekstu dotykającego poświadczeń. Zadanie: napisałem 30-liniowy moduł cenowy w Pythonie plus celowo AI-smakowy 9-testowy plik pytest (MagicMock zastępujący dataclass Cart, @patch na prywatnym _tax_rate, assert_called_once na log.info), a następnie stworzyłem bazowy przegląd bez umiejętności i drugi przegląd zgodnie z SKILL.md i references/pytest.md. Bazowy przegląd wykrył duplikację parametryzacji, słabe nazewnictwo i brakujące asercje arytmetyczne, ale nigdy nie zauważył mockowanej dataclass i nazwał test_cart_dataclass_sets_attributes „niskiej wartości, ale nieszkodliwy; jego utrzymanie nic nie kosztuje”; przegląd umiejętności oznaczył ten sam test jako usunięcie zgodnie z Regułą 4, oznaczył MagicMock Cart jako Regułę 8 w trzech testach i skrócił 9 testów do 4 z werdyktem „nie łączyć” i przepisanym zestawem, którego oczekiwane sumy (119.00 DE, 107.10 z 10% kodem) zweryfikowałem, uruchamiając moduł. Frazy wyzwalające — powinny uruchomić: „Właśnie napisałem testy dla modułu płatności, przejrzyj je przed zatwierdzeniem”, „Dodaj testy jednostkowe dla src/parser.ts obejmujące ścieżkę zniekształconego wejścia”, „Oto diff PR dotykający tests/test_orders.py, czy coś jest nie tak z tymi testami?”; nie powinny uruchomić: „Mój zestaw pytest kończy się błędem ScopeMismatch fixture, pomóż mi to debugować”, „Przejrzyj tę refaktoryzację klasy OrderService” — 5/5, jawna klauzula DO NOT USE w opisie czysto odrzuca oba negatywy.
Testowano: 2026-07-21 · Claude Code 2.x (agent harness)
Instalacja
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."
Komendy i przykładowe prompty
/test-guardPrzegląda testy napisane przez AI pod kątem dziewięciu zasad: granice mocków, brak duplikatów lub pustych testów
Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):
Review these tests before I commit themWrite tests for this new functionCheck this test file for common testing mistakes