Test Guard

Gjennomgår AI-skrevne tester mot ni regler: mock-grenser, ingen dupliserte eller tomme tester

av amElnagdy · amElnagdy/guard-skills

Bestått ★ 9.2/10

Test Guard — Gjennomgår AI-skrevne tester mot ni regler: mock-grenser, ingen dupliserte eller tomme tester

Hva den gjør

Test Guard er en gjennomgang for testkode en agent nettopp skrev eller endret, og anvender ni regler: mock kun ved systemgrenser, aldri mock dataclasses eller state-objekter, parametriser nesten-dupliserte tester, slett tester som ikke fanger noe, navngi tester for scenariet, og behold produksjonsregresjonstester. Den laster en stack-spesifikk referanse for pytest, Jest/Vitest, PHPUnit/Pest, eller LLM-applikasjoner, og rapporterer deretter brudd som regelnummer pluss lokasjon, årsak og fiks. Utløses ved forespørsler om å skrive, legge til eller gjennomgå tester, og på diffs som berører test_*.py, *Test.php, *.test.ts, *_test.go, eller filer under tests/ og __tests__/.

Testrapport

Klonet repoet til en midlertidig HOME og bekreftet at kopien lander SKILL.md på ~/.claude/skills/test-guard/SKILL.md; frontmatter parset med name+description (815 tegn), og alle fire filene kroppen lenker til (references/pytest.md, jest.md, phpunit.md, llm-app-testing.md) returnerte HTTP 200; ingen curl|sh, base64, eller legitimasjons-berørende tekst noe sted. Oppgave: Jeg skrev en 30-linjers Python prismodul pluss en bevisst AI-smaksatt 9-test pytest-fil (MagicMock som står for Cart dataclass, @patch på den private _tax_rate, assert_called_once på log.info), deretter produserte en baseline-gjennomgang uten ferdighet og en andre gjennomgang etter SKILL.md og references/pytest.md. Baseline fanget opp parametriseringsdupliseringen, svak navngivning og manglende aritmetiske påstander, men la aldri merke til den mockede dataclass og kalte test_cart_dataclass_sets_attributes "low value but harmless; keeping it costs nothing"; ferdighetsgjennomgangen flagget den samme testen som en Regel 4 sletting, flagget MagicMock Cart som Regel 8 på tvers av tre tester, og kuttet 9 tester 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 verifiserte ved å kjøre modulen. Utløserfraser — skal utlø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?"; skal ikke utløses: "My pytest suite fails with a fixture ScopeMismatch error, help me debug it", "Review this refactor of the OrderService class" — 5/5, beskrivelsens eksplisitte DO NOT USE-klausul ruter begge negativene bort rent.

Testet på: 2026-07-21 · Claude Code 2.x (agent harness)

Installer

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-guardGjennomgår AI-skrevne tester mot ni regler: mock-grenser, ingen dupliserte eller tomme tester

Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen 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