Help us improve
Share bugs, ideas, or general feedback.
From pragma
Pragma rejects gamed tests on Edit/Write of *.py files in tests/ or named test_*.py. Avoid these patterns when writing tests.
npx claudepluginhub joncik91/pragma --plugin pragmaHow this skill is triggered — by the user, by Claude, or both
Slash command
/pragma:pragmaThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Pragma is watching every test file you Edit/Write. It will **block** the
Provides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.
Share bugs, ideas, or general feedback.
Pragma is watching every test file you Edit/Write. It will block the tool call when it sees any of these patterns:
assert True, assert 1 == 1, assert x == x.mock.patch("auth.login.login") inside a test of auth.login.login. Mock dependencies, not the symbol under test.monkeypatch.setattr whose target is the function under test. Same problem as mock.patch on the SUT.try: target_call(); except: pass. The exception was the test signal; swallowing it deletes the verification.pytest.skip(...) or pytest.xfail smuggled at the top of a test body to dodge a failing assertion.test_*_rejects_*, _raises_*, _refuses_*, or _denies_* must use with pytest.raises(...): (or an except block).if/for/while branch that the test inputs never enter. Assertions that may not run can't catch bugs.It will warn (not block) on:
pytest.raises. Placeholder tests are fine during refactors but should be filled in.@pytest.mark.parametrize with 0 or 1 case values claiming multi-case breadth. Use real cases or drop the decorator.assert x is not None / len(x) > 0 when the spec implies a specific return value.To pass: import the production symbol, call it with realistic inputs,
assert on the actual return value (or the raised exception type via
pytest.raises). If you're tempted to mock the function under test,
write assert True, or skip the assertion — stop and rewrite to
verify real behaviour.