When to choose it
Functions with an invariant, round trip or trustworthy oracle across an input domain.
Choose it if: the function has a useful property across many inputs.
Look elsewhere if: a few example tests fit better, or your task is browser UI testing.
What the source describes
- Guidance for writing and reviewing properties and input generators.
- Helps distinguish a flawed property, an ambiguous specification and a product defect.
Requirements
- Claude Code with plugin support.
- Code and existing test suite to inspect.
- An appropriate property-testing library before running generated tests; installation does not add one.
This Skill is shipped in the property-based-testing plugin from the Trail of Bits marketplace.
Install the plugin
- Install the focused plugin. The command below installs this Skill’s containing plugin. It does not install a property-testing framework.
- Inspect the project’s tests. Identify the existing framework and libraries before requesting runnable tests.
- Activate and constrain the task. Confirm the plugin is active. State the function, input domain and whether changes are allowed.
Run the installation command in your shell after reviewing the source. Local scope enables the package for you in this repository. It does not enable it for every collaborator.
claude plugin marketplace add trailofbits/skills
claude plugin install property-based-testing@trailofbits --scope localHow to use it
Ask naturally for property-test design, review or failure triage. Name the relevant code and existing test framework.
An original example for a bounded task. This request example is written by ClaudeStack; it is not a transcript of a tested session.
Review our encode/decode pair. Propose a round-trip property and edge-case generators using the existing test framework. Explain any new dependency before adding it.The upstream content is CC-BY-SA-4.0. ClaudeStack provides original descriptions and examples, with author attribution and pinned source/license links; it does not redistribute the Skill text.
Upstream developer evaluation scripts can spend API budget. They are optional development tooling and are not part of these installation steps.
What to expect
The reviewed source describes these observations. ClaudeStack has not loaded or run this extension.
- A proposed property, input generator and test code when requested.
- An explanation of what a minimized failure says about the property, specification or implementation.
Self-check: Check that generated inputs exercise the intended domain and the assertion can detect an independent defect. Run approved tests in the existing project environment.
Troubleshooting
Generated tests always pass
Check for an assertion that simply duplicates the implementation, or assumptions that discard nearly all generated cases.
There is no property-testing library
Discuss the dependency choice before adding one. Example tests can be appropriate when a useful property is unavailable.
The task is browser UI testing or binary fuzzing
Choose tools designed for that task; the reviewed Skill excludes these workflows.
Disable or remove it
- Disable or uninstall property-based-testing in /plugin at its installation scope.
- Generated tests and any separately installed testing library remain; review or remove them independently.
Limitations & considerations
- Passing generated cases is not a proof of correctness; properties need a valid input model and oracle.
- The source excludes end-to-end UI testing and coverage-guided binary fuzzing.
Source & review record
Our description is based on public documentation and manifests available on 2026-10-05. Installation formats were checked against Claude Code and the relevant installer documentation. No extension code was executed: this is a source review, not a runtime compatibility test or security audit.
- Original source and documentation
- Reviewed definition source
- License of the reviewed source
- Official plugin installation documentation
Repository last pushed at the time of review: 2026-10-02T10:05:35Z. This date does not prove that the extension works with a particular Claude Code release.
Usage guide sources
Upstream revision checked for this guide: 82fe8226252622fa807643bdca1710901198553a. Command names and behavior in this guide are documentation and registration-source findings, not runtime verification.