---
title: "Trail of Bits Property-Based Testing: review, setup & limitations · Undominated.ai"
canonical: https://undominated.ai/skills/trailofbits-property-based-testing/
description: "Chooses meaningful invariants and generators for tests that explore an input domain, while rejecting tautological or vacuous assertions."
---

# Trail of Bits Property-Based Testing: review, setup & limitations · Undominated.ai

> Chooses meaningful invariants and generators for tests that explore an input domain, while rejecting tautological or vacuous assertions.

[← Explore all skills](/skills/)

TESTING AND RELIABILITY / Trail of Bits

# Trail of Bits Property-Based Testing

Chooses meaningful invariants and generators for tests that explore an input domain, while rejecting tautological or vacuous assertions.

 See setup guidance ↓Original source ↗

SOURCE REVIEW

 Reviewed 2026-09-21
 Evidence 6 linked sources
 Publisher Trail of Bits
 Licence CC-BY-SA-4.0 ↗
 Revision 123037ec8aed
 Read what was—and wasn’t—checked ↓

“Writes, reviews, and debugs property-based tests — Hypothesis, fast-check, proptest, jqwik, rapid, and Echidna or Medusa for Solidity invariants. Use whenever tests should cover a”

 Trail of Bits · upstream description ↗ Our analysis follows below.

01 / THE REASONING

## Why this made the selection.

 - Explains how tests can pass while restating implementation or filtering away nearly every input.
- Connects generator design to round trips, independent oracles and explicit boundary examples.

### A good fit for

 - Testing parsers, serializers or normalizers
- Reviewing whether an existing generated-input test can detect real mistakes

### Weigh up before choosing

 - Property selection still needs a valid specification; an incorrect invariant can generate misleading failures.
- The inspected generation examples use Hypothesis; other named ecosystems require their matching reference material.
- Adding a library or restructuring production code is explicitly a separate user decision in the instructions.

02 / THE REVIEW RECORD

## What we actually inspected.

Source review has boundaries. A clear record is more useful than a “safe” badge.

### Material inspected

 - plugins/property-based-testing/skills/property-based-testing/SKILL.md
- plugins/property-based-testing/skills/property-based-testing/references/generating.md
- plugins/property-based-testing/skills/property-based-testing/references/refactoring.md
- LICENSE

### Our findings

 - The generator reference encodes constraints in strategies instead of relying on broad assume filters.
- The refactoring reference suggests exposing pure calculations and preserving existing API behavior and tests.
- The definition accepts example tests as the right outcome when no meaningful property justifies the extra machinery.

### Not established by this review

 - Source inspection only; no skill installation or workflow execution was performed.

The review applies to the material and revision named here. A newer upstream release can change its behavior.

03 / PUT IT TO WORK

## Add a skill to your workflow.

Upstream setup instructions ↗
 - Install the complete property-based-testing plugin, including its agents, workflows and references.
- Claude Code: add the trailofbits/skills marketplace with /plugin marketplace add trailofbits/skills, then select the plugin in /plugin menu.
- The publisher also documents Codex marketplace compatibility; confirm the required workflow and delegation capabilities in the chosen host.

### Before you start

 - A supported Claude Code or Codex plugin host
- Permission for the plugin’s repository reads, outputs and any requested test commands
- A behavioral contract and existing project test setup

### Compatibility

Agent Skills-compatible coding agents · Property-testing libraries documented by the complete plugin

### Read and edit test code

 - Read and edit test code
- Execute property tests
- New dependencies or production refactors require their own authorization

### Cost model

The skill is CC-BY-SA-licensed; generated test runs use project compute and the consuming agent.

04 / FOLLOW THE EVIDENCE

## The source trail.

Our notes are separate from the original resource. Check upstream before adopting a new version.

 - Skill definition at reviewed revision ↗ Checked 2026-09-21 https://github.com/trailofbits/skills/blob/123037ec8aed26f0d86327cc39137ee5043e5deb/plugins/property-based-testing/skills/property-based-testing/SKILL.md Supports: summary, upstreamDescription, whySelected, bestFor, limitations, review, compatibility, access
- Reviewed reference or helper: references/generating.md ↗ Checked 2026-09-21 https://github.com/trailofbits/skills/blob/123037ec8aed26f0d86327cc39137ee5043e5deb/plugins/property-based-testing/skills/property-based-testing/references/generating.md Supports: review, limitations, access
- Reviewed reference or helper: references/refactoring.md ↗ Checked 2026-09-21 https://github.com/trailofbits/skills/blob/123037ec8aed26f0d86327cc39137ee5043e5deb/plugins/property-based-testing/skills/property-based-testing/references/refactoring.md Supports: review, limitations, access
- Upstream license or licensing declaration ↗ Checked 2026-09-21 https://github.com/trailofbits/skills/blob/123037ec8aed26f0d86327cc39137ee5043e5deb/LICENSE Supports: license
- Publisher installation and project documentation ↗ Checked 2026-09-21 https://github.com/trailofbits/skills/blob/123037ec8aed26f0d86327cc39137ee5043e5deb/README.md Supports: install, compatibility, access
- Skills installer source formats and selective installation ↗ Checked 2026-09-21 https://github.com/vercel-labs/skills/blob/7407f3893ad4dceab546ac002c3ef806e4000c73/README.md Supports: install

KEEP COMPARING

## Other approaches to consider.

Related by category or shared topics. These are alternatives to inspect, not a measured quality order.

 [### Bug Receipt ↗ Creates an evidence-bearing defect or incident handoff that distinguishes verified, partial and blocked outcomes.](/skills/github-bug-receipt/)[### Diagnosing Bugs ↗ A debugging procedure that establishes a reproducible symptom, tests competing explanations and preserves a regression check.](/skills/mattpocock-diagnosing-bugs/)[### Sentry Find Bugs ↗ Reviews a branch diff against surrounding code and existing tests, reporting only substantiated issues and explicit coverage limits.](/skills/getsentry-find-bugs/)

 [AI Tools ↗](/tools/)[Skills ↗](/skills/)[Agents ↗](/agents/)[MCP Servers ↗](/mcp-servers/)
