Skill that writes, reviews and triages property-based tests with Hypothesis, fast-check, proptest, and Echidna or Medusa for Solidity.

How it works

Foe: Bug Slime, a defect in your code.

Foes

  • Bug Slime

Party · Context

  • RogueYour agent100/100
  1. Bug Slime

    The Bug Slime blocks the way.

    What really happensIt stands for a defect in your code.

    Rogue: Context 100/100.

  2. Regress

    The Bug Slime uses Regress.

    What really happensA fix in one place breaks something that used to work.

    Rogue takes 8. Rogue: Context 92/100.

  3. Trail of Bits Property-Based Testing

    The hero reads the code for laws it must always obey.

    What really happensIt spots code worth a property, such as serialization pairs, parsers, normalizers, validators and custom data structures.

    Bug Slime takes 18.

  4. Trail of Bits Property-Based Testing

    Each law is written down and tried against endless inputs.

    What really happensWrite property tests with the language's library, such as Hypothesis for Python, fast-check for TypeScript or proptest for Rust.

    Bug Slime takes 27.

  5. Regress

    The Bug Slime uses Regress.

    Rogue takes 8. Rogue: Context 84/100.

  6. Trail of Bits Property-Based Testing

    Hollow wards are found and torn down.

    What really happensReview an existing suite for property tests that assert nothing real.

    Bug Slime takes 11. Rogue: Ward.

  7. Trail of Bits Property-Based Testing

    A shrunken failure is weighed: wrong law, unclear law or true slime.

    What really happensTriage a shrunk counterexample into a wrong property, an ambiguous spec or a real bug.

    Bug Slime takes 44. Bug Slime falls.

  8. Victory

    The Bug Slime falls.

Learn this spell

Claude Code

/plugin marketplace add trailofbits/skills
/plugin menu

Codex

codex plugin marketplace add trailofbits/skills
codex plugin add property-based-testing@trailofbits

Notes

Version 1.2.2, by Henrik Brodin. Suits code with a clear rule to test: encode and decode pairs, parsers, normalizers, validators, data structures and contract state invariants. Not for coverage-guided fuzzing. It leaves adding a test library to you, so trials pass only where Hypothesis, fast-check or a similar library is already installed. Manual install: /plugin install trailofbits/skills/plugins/property-based-testing. Codex: codex plugin marketplace add trailofbits/skills, then codex plugin add property-based-testing@trailofbits.

This spell has no recorded sessions in the curator's logs. Tried it? Send a spell report.