back
loading skill details...
Provides guidance for property-based testing across multiple languages and smart contracts. Use when writing tests, reviewing code with…
Guidance for property-based testing across languages and smart contracts. Detects high-value PBT patterns automatically: serialization pairs, parsers, validators, normalization, data structures, algorithms, and smart contract state invariants Provides a property catalog with 10 core patterns (roundtrip, idempotence, invariant, commutativity, associativity, identity, inverse, oracle, easy-to-verify, no exception) ranked by strength Includes decision tree routing to language-specific references: test generation, design-driven development, refactoring for testability, test review, failure interpretation, and library recommendations Offers PBT as an option when detected, escalating to direct recommendation if the codebase already uses a PBT library (Hypothesis, fast-check, proptest, Echidna) Property-Based Testing Guide Use this skill proactively during development when you encounter patterns where PBT provides stronger coverage than example-based tests. When to Invoke (Automatic Detection) Invoke this skill when you detect: Serialization pairs: encode/decode, serialize/deserialize, toJSON/fromJSON, pack/unpack Parsers: URL parsing, config parsing, protocol parsing, string-to-structured-data Normalization: normalize, sanitize, clean, canonicalize, format Validators: is_valid, validate, check_* (especially with normalizers) Data structures: Custom collections with add/remove/get operations Mathematical/algorithmic: Pure functions, sorting, ordering, comparators Smart contracts: Solidity/Vyper contracts, token operations, state invariants, access control Priority by pattern:
don't have the plugin yet? install it then click "run inline in claude" again.