Test Guard

Gennemgår AI-skrevne tests mod ni regler: mock-grænser, ingen duplikerede eller tomme tests

Af amElnagdy · amElnagdy/guard-skills

Testet · Virker ★ 9.2/10

Test Guard — Gennemgår AI-skrevne tests mod ni regler: mock-grænser, ingen duplikerede eller tomme tests

Hvad det gør

Test Guard er en gennemgang af testkode, en agent lige har skrevet eller ændret, og anvender ni regler: mock kun ved systemgrænser, mock aldrig dataclasses eller state-objekter, parametriser næsten-duplikerede tests, slet tests, der intet fanger, navngiv tests efter scenariet, og behold produktions-regressionstests. Den indlæser en stack-specifik reference for pytest, Jest/Vitest, PHPUnit/Pest eller LLM-applikationer, og rapporterer derefter overtrædelser som regelnummer plus placering, årsag og løsning. Udløses ved anmodninger om at skrive, tilføje eller gennemgå tests, og ved diffs, der berører test_*.py, *Test.php, *.test.ts, *_test.go eller filer under tests/ og __tests__/.

Testrapport

Klonede repoet til en temp HOME og bekræftede, at kopien lander SKILL.md på ~/.claude/skills/test-guard/SKILL.md; frontmatter parser med name+description (815 tegn), og alle fire filer, body linker til (references/pytest.md, jest.md, phpunit.md, llm-app-testing.md) returnerede HTTP 200; ingen curl|sh, base64 eller credential-berørende tekst nogen steder. Opgave: Jeg skrev et 30-linjers Python pricing-modul plus en bevidst AI-præget 9-test pytest-fil (MagicMock, der står for Cart dataclass, @patch på den private _tax_rate, assert_called_once på log.info), producerede derefter en baseline-gennemgang uden skill og en anden gennemgang efter SKILL.md og references/pytest.md. Baselinjen fangede parametriseringsduplikationen, svag navngivning og manglende aritmetiske påstande, men bemærkede aldrig den mockede dataclass og kaldte test_cart_dataclass_sets_attributes "low value but harmless; keeping it costs nothing"; skill-gennemgangen markerede den samme test som en Rule 4-sletning, markerede MagicMock Cart som Rule 8 på tværs af tre tests og reducerede 9 tests til 4 med en "do not merge"-dom og en omskrevet suite, hvis forventede totaler (119.00 DE, 107.10 med en 10% kode) jeg verificerede ved at køre modulet. Trigger-fraser — skulle udløses: "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?"; skulle ikke udløses: "My pytest suite fails with a fixture ScopeMismatch error, help me debug it", "Review this refactor of the OrderService class" — 5/5, beskrivelsens eksplicitte DO NOT USE-klausul dirigerer begge negativer væk rent.

Testet: 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."

Kommandoer og eksempelprompter

  • /test-guardGennemgår AI-skrevne tests mod ni regler: mock-grænser, ingen duplikerede eller tomme tests

Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):

  • Review these tests before I commit them
  • Write tests for this new function
  • Check this test file for common testing mistakes