What problem does it solve? Example-based tests only cover the cases you think of, leaving edge cases and subtle bugs undiscovered. This Skill teaches property-based testing, where you define invariants that must hold for all inputs and the framework generates and shrinks test cases automatically. ## Core Features & Use Cases - Property Definition Patterns: Covers roundtrip, idempotence, commutativity, associativity, identity, invariant, and reference-comparison properties with concrete examples. - Generator and Shrinking Guidance: Explains built-in and custom generators, plus how shrinking reduces failing inputs to minimal counterexamples for faster debugging. - Framework-Specific Examples: Provides working code for Hypothesis (Python), fast-check (JavaScript), jqwik (Java), proptest (Rust), and gopter (Go). - Use Case: When testing a serialization function, define the property deserialize(serialize(x)) == x and let the framework discover edge cases like empty strings, unicode boundaries, or null fields that manual tests would miss. ## Quick Start Ask the AI to help you write property-based tests for a function using Hypothesis or fast-check, including property definitions and generator setup.