一、基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 正式名称 | provider-test-patterns-hashicorp-agent-skills | 合集仓库子目录名(见下方说明) |
| 所属合集仓库 | hashicorp/agent-skills(HashiCorp 官方 Agent Skills 合集,含 Terraform、Packer 两条产品线) | GitHub |
| 作者/维护者 | HashiCorp(现为 IBM 旗下),官方账号 hashicorp 发布 |
GitHub API |
| 来源链接 | https://github.com/hashicorp/agent-skills/tree/main/terraform/provider-development/skills/provider-test-patterns | — |
| 许可证 | MPL-2.0(Mozilla Public License 2.0),仓库根目录 LICENSE 文件确认 | GitHub API |
| 所属仓库整体 Stars/Forks | 755 / 111(注:该数字属整个合集仓库,不代表本技能自身热度,仅作背景参考) | GitHub API |
| 最新版本 | 内部 metadata 版本号 0.0.1;本技能所在目录最近一次人工提交为 2026-07-09 | GitHub API |
| 安装方式 | npx skills add hashicorp/agent-skills/terraform/provider-development/skills/provider-test-patterns;或经 Claude Code 插件市场安装 terraform-provider-development@hashicorp |
官方 README |
二、功能介绍与亮点
本技能教 Agent 用 terraform-plugin-testing 库为基于 Plugin Framework 开发的 Terraform Provider 编写验收测试(acceptance test),把官方测试文档中分散的用法沉淀成可直接套用的模式库。
核心亮点:① 解释测试生命周期(plan → apply → refresh → final plan,末次 plan 有 diff 即判定失败)这一容易被忽视的隐含断言机制;② 给出 TestCase/TestStep 关键字段速查表,覆盖配置模式与导入模式(ImportStateKind 等)两条路径;③ 用完整可运行的 Go 代码示例演示 ConfigStateChecks(现代写法)与 Check(legacy 写法)两种断言方式的选用边界,并给出存在性检查(Exists)、外部删除模拟(Disappears)等可复用的自定义 statecheck.StateCheck 实现;④ 专列“回归测试”工作流——先提交能复现 bug 的失败测试,再提交修复,便于审阅者逐提交验证;⑤ 正文之外拆分 references/checks.md、sweepers.md、ephemeral.md 三份按需加载的参考文档,分别覆盖状态/计划检查全集、测试清理器(sweeper)与临时资源(ephemeral resource)测试。
三、适用场景
固定分类:工程效率与代码质量
适用于正在为 Terraform Provider 编写、评审或调试验收测试的 Go 开发者,尤其是需要处理 ConfigStateChecks、跨步骤断言(CompareValue)、导入状态验证、测试清理器或临时资源测试等具体细节时。注意:本技能面向“开发 Provider 本身”的测试环节,而非普通 Terraform 使用者编写基础设施配置或运行 terraform test。
四、跨 Agent 兼容性
| Agent | 结论 | 依据 |
|---|---|---|
| Claude Code | 原生支持 | 官方 README 列出 Claude Code 插件市场安装命令;第三方技能目录(claudemarketplaces.com 等)以 Claude Code 生态收录本技能 |
| Codex | 未验证 | README 另提及 GitHub Copilot / Cursor / Opencode 等通用安装目标,未点名 Codex |
| OpenClaw | 未验证 | 同上,未提及 |
| Hermes Agent | 未验证 | 同上,未提及 |
五、推荐理由
HashiCorp 官方把 Terraform Provider 验收测试这一容易踩坑的环节,从零散的框架文档变成带完整代码示例与决策边界的模式库,且按需加载的参考文档避免了一次性塞入过多上下文。
六、评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 所属仓库整体 755 星(背景参考,不计入本技能自身);本技能目录有独立的新增 PR(合并)与后续增强 PR(进行中),最近一次人工提交为 2026-07-09;已被 claudemarketplaces.com、mcpservers.org 等第三方技能目录收录 |
| 可用性 | 9 | 一条命令或经插件市场即可安装;文档详实,含可运行代码示例与三份按需加载的参考文档;目录近日(2026-07-09)仍有实质性人工更新;核心指导本身无需付费依赖 |
| 安全性 | 9 | 见下方安全检查清单 |
| 综合评分 | 8.3 | 三项均值 |
安全检查清单:
| 检查项 | 结果 |
|---|---|
| ① Shell 命令与权限范围 | 正文与三份参考文档均为 Go 测试代码模式讲解,未指示执行任何 shell 命令 |
| ② 运行时联网外发 | 技能正文本身不发起任何网络请求 |
| ③ API Key/凭据 | 不要求任何凭据;示例中的 PreCheck 环境变量检查(如 EXAMPLE_API_KEY)属被测 Provider 自身的测试前置条件,与本技能安装本身无关 |
| ④ 可疑指令排查 | 已抓取 SKILL.md 全文及 references/checks.md 核实,未发现 prompt injection 或隐藏指令 |
| ⑤ 作者/组织信誉 | HashiCorp(现 IBM 旗下),Terraform 官方开发商 |
| ⑥ License | MPL-2.0,条款清晰 |
| ⑦ 最近维护 | 目录最近一次提交 2026-07-09 |
纯指导性内容、无代码执行无外联,且为官方出品、完全开源可审计,符合 9-10 档标准,定为 9 分。
七、跟同类 Skills 相比的优势
| 对比对象 | 定位 | 与本 skill 的差异 |
|---|---|---|
| terraform-skill(antonbabenko,个人开发者出品,约 2.2k stars) | 通用 Terraform/OpenTofu 最佳实践诊断技能,覆盖测试、模块、CI/CD、安全扫描等使用侧场景,其测试决策矩阵回答“该用静态分析、原生测试、Terratest 还是 OPA” | 面向“如何用好 Terraform 写基础设施代码”的使用者视角;一旦决定要写 Go 验收测试后的具体断言写法、导入测试细节、清理器配置,不在其覆盖范围 |
| new-terraform-provider(同仓库 hashicorp/agent-skills 内的另一子技能) | 从零脚手架生成一个新 Terraform Provider 项目骨架 | 解决“如何起步”,本 skill 解决“起步之后如何验证 Provider 行为正确”,两者是同一开发流程中的前后环节而非替代关系 |
核心差异化:通用 Terraform 技能面向“使用 Terraform 的人”,本技能是专门面向“开发 Terraform Provider 本身”这一细分群体的测试环节参考,市面上少有同等颗粒度的独立替代品。
八、用户评价
该技能目前在第三方社区平台尚无具名用户评价。第三方技能目录 claudemarketplaces.com、mcpservers.org 已收录该技能条目,但均为目录索引形式,未见具名评论内容。
九、其他补充
本技能与同目录下的 new-terraform-provider、provider-actions、provider-resources、provider-docs、run-acceptance-tests 共同打包为 Claude Code 插件 terraform-provider-development@hashicorp,覆盖 Provider 开发从脚手架、资源实现、Actions、文档到测试验收的完整链路。HashiCorp 官方为该 Agent Skills 合集接入了第三方评测平台 Tessl 的自动化评审流程(Review evals + Task evals),部分同仓库技能已公开评测页面。
十、安装使用方式
方式一:npx skills 通用安装
npx skills add hashicorp/agent-skills/terraform/provider-development/skills/provider-test-patterns
方式二:Claude Code 插件市场
claude plugin marketplace add hashicorp/agent-skills
claude plugin install terraform-provider-development@hashicorp
安装后无需重启,Agent 在为 Terraform Provider 编写或调试验收测试时会自动加载本技能。
十一、注意事项
- 面向已熟悉 Go 与 Terraform Plugin Framework 的 Provider 开发者,非面向普通 Terraform 使用者
- 三份参考文档(
checks.md/sweepers.md/ephemeral.md)按需加载,首次使用建议通读一遍目录结构以了解覆盖范围 - 目前仅验证了与 Claude Code 的兼容性,其余 Agent 生态尚未获得直接证据