Design and generate property-based tests for changed files, with self-scoring to ensure quality (24/30+ on the evaluation rubric).
Filter to source files (.ts, .tsx, .js, .jsx, .py, .rs), excluding test files, config, styles, and assets.
| Invariant | Output always satisfies a condition | Length preservation, range bounds, type guarantees | | Round-trip | decode(encode(x)) === x | Parsers, serializers, codecs | | Idempotence | f(f(x)) === f(x) | Normalizers, formatters, canonicalizers | | Metamorphic | Relationship between f(x) and f(transform(x)) | Sort, filter, math operations |
为当前 git 分支中更改的文件设计并生成基于属性的测试 (PBT)。提取规范、设计属性(不变量、往返、幂等性、变形、单调性、参考模型)、构建生成器策略、实施测试并根据评分标准进行自我评分(需要 24/30+)。支持快速检查 (TS/JS)、假设 (Python) 和 proptest (Rust)。在以下情况下使用:(1)“为我的更改编写属性测试”,(2)“添加 PBT”,(3)“基于属性的测试”,(4) 在实现纯函数、验证器、解析器或格式化程序之后验证不变量。 来源:nimiusrd/agent-skills。