What problem does it solve? Example-based tests only check hand-picked inputs, leaving most of the input domain untested and edge-case bugs undiscovered. This Skill helps you assert rules over entire input domains so generators hunt for counterexamples, and it helps you tell genuine bugs from wrong properties when a shrunk counterexample appears. ## Core Features & Use Cases - Property design and generation: Choose the strongest applicable property (roundtrip, inverse, oracle, idempotence, invariant, commutativity) and build strategies that generate valid inputs directly instead of over-filtering with assume(). - Test review and failure triage: Detect tautological, vacuous, and reimplementing assertions in existing suites, and classify shrunk failures as code bugs, wrong properties, or ambiguous specs. - Refactoring for testability: Extract pure cores, add inverse functions, and inject dependencies to expose assertable properties in code that mixes I/O with calculation. - Use Case: When adding tests for a serializer, use this Skill to write a Hypothesis roundtrip property decode(encode(x)) == x with pinned edge-case examples, then interpret any shrunk failure against the documented contract. ## Quick Start Ask the assistant to write property-based tests for your serialization or validation module using the property-based-testing skill.