一、基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 正式名称 | property-based-testing | 合集仓库子目录名(见下方说明) |
| 所属合集仓库 | trailofbits/skills(Trail of Bits 官方 Claude Code 技能市场) | GitHub |
| 作者/维护者 | Henrik Brodin(opensource@trailofbits.com),发布方 Trail of Bits | 插件 marketplace.json |
| 来源链接 | https://github.com/trailofbits/skills/tree/main/plugins/property-based-testing | — |
| 许可证 | Creative Commons Attribution-ShareAlike 4.0(CC BY-SA 4.0) | 仓库根 LICENSE |
| 所属仓库整体 Stars/Forks | 6,130 / 541(注:该数字属整个合集仓库,不代表本技能自身热度,仅供了解仓库整体规模) | GitHub API |
| 该技能自身活跃度 | 仓库内提及 “property-based-testing” 的 Issue/PR 共 3 条(1 Issue + 2 PR,含一条由真实使用反馈驱动的“补充失败解读指南”PR) | GitHub Search API |
| 最新版本 | 1.1.1 | 插件 marketplace.json |
| 安装方式 | Claude Code / Codex 插件市场一条命令安装(见第十章) | 官方 README |
二、功能介绍与亮点
property-based-testing 教 Claude 判断“什么时候该写属性测试(PBT)而不是普通用例测试”,并给出可执行的生成路径。核心是一张属性目录表:往返(decode(encode(x))==x)、幂等、不变量、交换律、结合律等 10 种通用属性公式,配合“何时触发”的自动检测清单(序列化对、解析器、归一化函数、校验器、智能合约状态不变量等)。
亮点一是决策树式的渐进式文档结构:SKILL.md 本身只有概览与判断逻辑,具体怎么生成测试、怎么设计输入策略、怎么重构不可测代码、怎么审查已有 PBT 测试、怎么解读测试失败,全部拆到 7 篇独立参考文档(generating/strategies/design/refactoring/reviewing/interpreting-failures/libraries),按任务类型索引查阅,避免一次性塞给 Claude 过长上下文。亮点二是跨语言覆盖广:Python(Hypothesis)、JS/TS(fast-check)、Rust(proptest/quickcheck)、Go(rapid/gopter)、Java(jqwik)、Scala(ScalaCheck),以及 Solidity/Vyper 智能合约(Echidna/Medusa)均有对应库指引。亮点三是内置“拒绝借口清单”(如“测试失败就是有 bug”这类常见误判),帮助 Claude 更准确地判断 PBT 失败到底是真 bug 还是测试策略问题。
三、适用场景
固定分类:工程效率与代码质量
初中级开发者编写数据序列化/解析函数时,用它判断该写属性测试还是普通用例测试。同样适用于:审查已有代码中涉及编解码、归一化、校验器的模块并补强测试覆盖;设计新功能时用“属性驱动开发”提前想清楚不变量;智能合约开发者验证状态不变量。受益人群:测试覆盖率不足、但不确定该往例子里加多少边界情况的中初级工程师;希望把测试设计标准化、减少“漏测边界情况”的技术负责人。
四、跨 Agent 兼容性
| Agent | 结论 | 依据 |
|---|---|---|
| Claude Code | 原生支持 | 官方安装方式即 Claude Code 插件市场机制(/plugin marketplace add trailofbits/skills) |
| Codex | 原生支持 | 仓库 README 明确声明“Codex 可直接加载 Claude 插件市场”,并给出 codex plugin marketplace add 专用安装命令 |
| OpenClaw | 未验证 | 已抓取材料未提及 OpenClaw 专门支持,未为此单独搜索 |
| Hermes Agent | 未验证 | 同上 |
五、推荐理由
市面上多数“测试类”技能要么是通用的 TDD 流程指导,要么绑定特定测试运行器命令,很少有专门教“该给这段代码写什么样的测试用例”的方法论型技能。property-based-testing 把“何时用属性测试、用哪种属性公式、生成策略怎么设计”标准化成决策树和查询表,且全篇是纯文档指导、不声明任何 Bash/执行权限,安全面小。作为 Trail of Bits(知名安全审计公司)技能市场的一员,还额外覆盖了智能合约场景,这是同类测试方法论技能里少见的。
六、评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 8 | Trail of Bits 官方发布;仓库整体 6,130 星属合集仓库、不代表本技能自身热度,可参考的是该子技能自身的 3 条独立 Issue/PR 记录(含真实使用反馈驱动的功能补充)与 5 个独立第三方技能市场站点(claudemarketplaces.com、claudepluginhub.com、trailofbits-skills.mintlify.app、zread.ai、SourceForge 镜像)收录作为佐证 |
| 可用性 | 9 | 插件市场一条命令安装;SKILL.md + 7 篇参考文档结构清晰、渐进式披露;最近一次实质性提交为 2026-06-05(约 6 周前);纯文档技能,无付费依赖、无需额外工具安装 |
| 安全性 | 9 | 见下方安全检查清单 |
| 综合评分 | 8.7 | 三项均值 |
安全检查清单:
| 检查项 | 结果 |
|---|---|
| ① Shell 命令与权限范围 | SKILL.md frontmatter 未声明 allowed-tools,全篇为纯指导性文档,未发现要求执行 Bash/Shell 命令的内容 |
| ② 运行时联网外发 | 未发现任何联网回传数据的行为 |
| ③ API Key/凭据 | 不需要任何 API Key 或凭据 |
| ④ 可疑指令排查 | 已完整抓取 SKILL.md 全文,未发现 prompt injection 或试图变更执行流程/访问文件凭据的隐藏指令 |
| ⑤ 作者/组织信誉 | Trail of Bits 官方账号发布,仓库另有“Trophy Case”记录用该市场内技能发现的真实安全漏洞(如 ML-DSA 签名实现的时序侧信道),信誉较高 |
| ⑥ License | CC BY-SA 4.0,条款清晰,衍生分发需遵守 ShareAlike 条款 |
| ⑦ 最近维护 | 该子技能最近一次实质提交 2026-06-05;仓库整体持续活跃(最近一次 push 2026-07-15) |
纯文档、无代码执行、无外联,且为知名安全公司官方出品,定为 9 分。
七、跟同类 Skills 相比的优势
| 对比对象 | 定位 | 与本 skill 的差异 |
|---|---|---|
| test-driven-development-addyosmani-agent-skills | TDD 红绿重构工作流方法论 | 关注“先写测试再写实现”的开发节奏,不规定测试用例本身该怎么设计;property-based-testing 补的正是“用例怎么设计”这一环 |
| modern-python-trailofbits-skills(同仓库) | 覆盖 uv/ruff/ty/pytest/prek 整条 Python 工具链 | 测试只是其中一小环节,不深入测试用例设计方法论 |
| mutation-testing(trailofbits/skills 同仓库子技能) | 对已有测试做“变异体检”,验证测试是否足够严格,依赖 mewt/muton 专用工具 | 是测试质量的事后体检,property-based-testing 是事前设计;后者无需安装额外工具,纯文档即可开箱使用 |
核心差异化:在同类测试技能中,property-based-testing 是少见地专注“测试用例该怎么设计”这一方法论环节、且跨语言覆盖最广(含智能合约)的一个,与 TDD 流程类、工具链类技能形成互补而非重复。
八、用户评价
- Tessl.io 技能质量评测平台:给出综合评分 90 分(质量分 87%、影响力评分 97%,“1.07x 同批 3 个评测场景平均分”),评价其“结构良好、简洁,通过清晰的决策树将具体工作路由到一层深的参考文档,且对’何时不该用 PBT’有较强的边界提示”。(来源:tessl.io registry)
- claudemarketplaces.com 收录了该技能,但页面未展示用户评分或评论内容。
该技能目前在独立社区(Reddit/HN/X)层面尚无具名的直接用户评价。
九、其他补充
技能文档内置“属性强度层级”(从弱到强:No Exception → 类型保持 → 不变量 → 幂等 → 往返),帮助 Claude 在多个可选属性中优先选择约束力更强的一种,而不是止步于“不崩溃”这种最弱验证。
十、安装使用方式
Claude Code 插件市场(推荐):
/plugin marketplace add trailofbits/skills
/plugin install trailofbits/skills/plugins/property-based-testing
Codex:
codex plugin marketplace add trailofbits/skills
codex plugin add property-based-testing@trailofbits
安装后注意事项: 安装后无需重启;直接在涉及编解码、解析、归一化、校验器的开发或测试审查场景中提出需求即可触发;技能会主动建议是否改用属性测试,用户拒绝后不会反复打扰。
十一、注意事项
- 许可证为 CC BY-SA 4.0,二次分发衍生版本需遵守 ShareAlike 条款;
- 技能本身不安装任何 PBT 库(Hypothesis/fast-check/proptest 等),需项目自行安装对应语言的库,技能只提供方法论与生成指引;
- 该技能是合集仓库中的子技能,来源链接务必使用本报告给出的子目录级链接;
- OpenClaw、Hermes Agent 兼容性暂无可验证材料;
- 用户评价样本量小(仅 1 条自动化评测平台评分),尚无独立社区讨论佐证。