property-based-testing

Generate and review property-based tests across Python, JavaScript, Rust, Go, and smart contracts.

Updated Jan 24, 2026
One-click install
npx skills add https://github.com/amano--/call-center --skill property-based-testing-amano
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: property-based-testing
Source: https://github.com/amano--/call-center/tree/main/.gemini/antigravity/skills/trailofbits-security/property-based-testing
Command: npx skills add https://github.com/amano--/call-center --skill property-based-testing-amano

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps developers write more robust and comprehensive tests by leveraging property-based testing (PBT), catching edge-case bugs that traditional example-based tests often miss.

Core Features & Use Cases

  • Generate PBT: Creates property-based tests for various languages and smart contracts.
  • Review PBT: Analyzes existing PBT for quality issues like tautological or vacuous tests.
  • Design with Properties: Guides users through Property-Driven Development.
  • Refactor for Testability: Suggests code changes to improve testability.
  • Use Case: When developing a new serialization library, use this Skill to generate property-based tests that ensure a roundtrip property (decode(encode(x)) == x) holds for a wide range of inputs, significantly increasing confidence in the library's correctness.

Quick Start

Use the property-based-testing skill to generate property-based tests for the provided Python serialization code.

Frequently Asked Questions about property-based-testing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write property-based tests to catch edge-case bugs in my code?

Property-based testing automatically generates a wide range of inputs to verify code properties, catching edge-case bugs that example-based tests miss. You define logical invariants, and the framework tests them against randomized data.

Can I generate property-based tests for Python, Rust, and JavaScript?

Yes, you can generate property-based tests for Python, JavaScript, Rust, and Go. The AI provides guidance and strategies to create tests across multiple programming languages, ensuring robust verification for your specific tech stack.

How do I write property-based tests for smart contracts using Echidna?

To write property-based tests for smart contracts, you define invariant properties and use tools like Echidna to fuzz the contract. This helps detect edge-case vulnerabilities and ensures your smart contract logic holds under various conditions.

How do I review existing property-based tests for vacuous or tautological issues?

Reviewing existing property-based tests involves analyzing them for quality issues like tautological or vacuous tests. The AI evaluates your test suite to ensure properties are meaningful and actually validate the intended logic rather than always passing.

What is Property-Driven Development and how do I design code with it?

Property-Driven Development is an approach where you design code by defining logical properties before implementation. The AI guides you through this process and suggests code refactors to improve overall testability for property-based testing.