What problem does it solve? Writing effective Python tests requires deciding what to test at unit versus integration level, structuring fixtures, and covering failure cases. This Skill guides the design and repair of pytest test suites so behavior is verified through public interfaces rather than brittle internals. ## Core Features & Use Cases - Boundary Selection: Distinguishes unit tests for pure logic from integration tests for filesystem, database, network, and framework seams. - Test Case Design: Covers happy paths, boundary values, malformed input, and expected failures using parametrization and local fixtures like tmp_path and monkeypatch. - Regression & Property Testing: Adds regression tests that fail before a bug fix, and applies Hypothesis for invariant-based testing when appropriate. - Use Case: When fixing a reported bug, first write a failing regression test reproducing the issue, then fix the production code and run the narrowest affected tests before the full suite. ## Quick Start Write pytest tests for my Python module covering the happy path, edge cases, and expected failures, then run the affected tests.