property-test-writer

Generate property-based tests validating universal invariants across full input spaces.

3|2|Updated Jan 23, 2026
One-click install
npx skills add https://github.com/robotijn/ctoc --skill property-test-writer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: property-test-writer
Source: https://github.com/robotijn/ctoc/tree/main/skills/testing/writers/property-test-writer
Command: npx skills add https://github.com/robotijn/ctoc --skill property-test-writer

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Example-based test suites only cover a small subset of possible inputs, missing pathological edge cases like empty values, huge payloads, Unicode characters, and near-boundary inputs that cause production bugs. This Skill writes property-based tests that verify universal invariants hold across the entire input space, catching bugs that example tests will never find.

Core Features & Use Cases

  • Multi-framework support: Generates property tests for Hypothesis (Python), fast-check (TypeScript), jqwik (Java), FsCheck (C#), proptest (Rust), and 8+ other frameworks across 7 languages.
  • Key property types: Implements round-trip, idempotency, commutativity, associativity, preservation, oracle/differential, metamorphic, and stateful model-based test patterns.
  • Use case: For a JSON serialization module, this Skill generates tests that verify decode(encode(x)) == x for all valid inputs, automatically shrinking any failing case to the minimal reproducible counterexample.

Quick Start

Use the property-test-writer skill to generate property-based tests for your serialization module that verify round-trip invariants hold for every valid input.

Frequently Asked Questions about property-test-writer

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

FAQPage Schema
How do I write property-based tests to catch edge cases my example tests miss?

Property-based tests validate universal invariants across full input spaces, automatically discovering pathological edge cases like empty values, huge payloads, and near-boundary inputs that example tests miss.

Can I generate property tests for TypeScript fast-check and Python Hypothesis frameworks?

Yes, you can generate property tests for fast-check and Hypothesis, alongside jqwik, FsCheck, proptest, and eight other frameworks across seven languages including Java, C#, and Rust.

How do I test JSON serialization invariants like decode(encode(x)) == x?

You test JSON serialization invariants by generating round-trip property tests that verify decode(encode(x)) == x for all valid inputs, automatically shrinking failures to minimal counterexamples.

What types of property tests can I generate for pure functions and stateful workflows?

You can generate round-trip, idempotency, commutativity, associativity, preservation, oracle, metamorphic, and stateful model-based property tests for pure functions, parsers, serializers, and data transforms.

Does property-based testing work with standard test runners and mutation testing tools?

Property-based testing integrates with standard test runners and mutation testing tools, using framework-native shrinking and invariant assertion to validate universal properties across full input spaces.

Why do I need property-based testing instead of example-based test suites?

Property-based testing is needed because example-based suites only cover a small subset of possible inputs, whereas property tests verify universal invariants hold across the entire input space to catch unseen bugs.