testing-property-based
Testing Property-Based
Overview
Use this skill to validate invariants beyond hand-picked test cases by combining generators, shrinking, and reproducible seeds.
Scope Boundaries
- Use when input space is large and example-based tests are insufficient.
- Typical requests:
Verify encode/decode roundtrip invariants for arbitrary inputs.Stress aggregate invariants with generated data.Catch edge cases that fixed examples miss.
- Do not use when:
- A small deterministic unit test set is sufficient (
testing-unit). - The primary scope is UI journey validation (
testing-e2e).
- A small deterministic unit test set is sufficient (
Inputs
- Invariants and domain constraints
- Generator strategy and seed reproducibility requirements
- Runtime budget and flaky-risk tolerance
Outputs
- Property definitions and generator coverage strategy
- Decision record for shrinking and seed policy
- Verification checklist with failing-case reproduction guidance
Workflow
- Formalize invariants and invalid-state assumptions.
- Design generators that reflect realistic and adversarial inputs.
- Compare generation/shrinking strategies and choose one.
- Run property tests with reproducible seeds.
- Triages failures with shrunk counterexamples and publish fixes.
Quality Gates
- Core invariants are explicit and testable.
- Generators cover edge and adversarial shapes.
- Failures are reproducible via seed and shrunk case.
- Residual unknowns are documented.
Failure Handling
- Stop when invariants are undefined or contradictory.
- Escalate when generator quality is too weak for meaningful coverage.
Bundled Resources
references/trigger-and-examples.md: trigger patterns, anti-patterns, and deliverable expectations.
More from kentoshimizu/sw-agent-skills
graph-algorithms
Graph algorithm workflow for modeling entities/relations and selecting traversal, path, ordering, or flow strategies. Use when correctness or performance depends on graph representation and algorithm choice; do not use for schema-only modeling or deployment topology planning.
14bash-style-guide
Style, review, and refactoring standards for Bash shell scripting. Trigger when `.sh` files, files with `#!/usr/bin/env bash` or `#!/bin/bash`, or CI workflow blocks with `shell: bash` are created, modified, or reviewed and Bash-specific quality controls (quoting safety, error handling, portability, readability) must be enforced. Do not use for generic POSIX `sh`, PowerShell, or language-specific application style rules. In multi-language pull requests, run together with other applicable `*-style-guide` skills.
11architecture-clean-architecture
Clean Architecture workflow for enforcing dependency direction, stable domain boundaries, and use-case-centered application design. Use when teams must separate business rules from frameworks and delivery mechanisms; do not use for isolated module cleanup without boundary implications.
11powershell-style-guide
Style, review, and refactoring standards for PowerShell scripting. Trigger when `.ps1`, `.psm1`, `.psd1` files, or CI workflow blocks with `shell: pwsh` or `shell: powershell` are created, modified, or reviewed and PowerShell-specific quality controls (error handling, parameter validation, readability, operational safety) must be enforced. Do not use for Bash, generic POSIX `sh`, or language-specific application style rules. In multi-language pull requests, run together with other applicable `*-style-guide` skills.
10github-codeowners-management
Govern CODEOWNERS rules so review routing reflects real ownership and risk boundaries on GitHub. Use when repository ownership mapping or mandatory reviewer rules must be defined, updated, or audited; do not use for non-GitHub runtime architecture or data-layer design.
9security-authentication
Security workflow for authentication architecture, credential lifecycle, and session/token assurance. Use when login, identity proofing, MFA, or session security decisions are required; do not use for authorization policy design or non-security quality tuning.
9