一、基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 正式名称 | terraform-test-hashicorp-agent-skills | 合集仓库子目录名(见下方说明) |
| 所属合集仓库 | hashicorp/agent-skills(HashiCorp 官方 Agent Skills 合集,当前含 Terraform、Packer 两条产品线共 17 个技能) | GitHub |
| 作者/维护者 | HashiCorp(现为 IBM 旗下),官方账号 hashicorp 发布;本技能目录由 HashiCorp 员工与一名 AWS 工程师共同贡献 |
GitHub API |
| 来源链接 | https://github.com/hashicorp/agent-skills/tree/main/terraform/code-generation/skills/terraform-test | — |
| 许可证 | MPL-2.0(Mozilla Public License 2.0),仓库根目录 LICENSE 文件确认 | GitHub API |
| 所属仓库整体 Stars/Forks | 755 / 114(注:该数字属整个合集仓库,不代表本技能自身热度,仅作背景参考) | GitHub API |
| 最新版本 | 内部 metadata 版本号 0.0.2;本技能目录最近一次实质性提交为 2026-04-01 | GitHub API |
| 安装方式 | npx skills add hashicorp/agent-skills/terraform/code-generation/skills/terraform-test;或经 Claude Code 插件市场安装 terraform-code-generation@hashicorp |
官方 README |
二、功能介绍与亮点
本技能教 Agent 使用 Terraform 内置的原生测试框架(.tftest.hcl 文件)为基础设施代码编写与运行测试,验证配置变更不会引入破坏性改动,且测试运行在临时资源上,不影响真实基础设施与 state 文件。
核心亮点:① 系统梳理 run 区块、assert 断言、plan/apply 两种测试模式等核心概念,并给出输出验证、条件资源、资源计数、标签校验、数据源查询、失败预期(expect_failures)、多测试间状态共享(state_key)、并行模块测试、多别名 Provider 等十余种覆盖真实场景的完整可运行示例;② 正文之外拆分三份按需加载的参考文档——MOCK_PROVIDERS.md(Mock Provider 语法,免凭证快速单元测试)、CI_CD.md(GitHub Actions/GitLab CI 完整流水线示例)、EXAMPLES.md(VPC 模块的完整单元/集成/mock 测试套件);③ 附带排错对照表与最佳实践清单(如按 *_unit_test.tftest.hcl/*_integration_test.tftest.hcl 命名区分测试类型,便于 CI 分别过滤运行)。该测试能力是 HashiCorp 官方发布博客中明确列出的首批核心能力之一;第三方评测平台 Tessl 对本技能的公开评分为 Quality Score 88、Best Practices 82%,并经 Snyk 安全扫描确认无已知问题。
三、适用场景
固定分类:工程效率与代码质量
适用于需要为 Terraform 模块或基础设施配置编写测试、验证变更不引入破坏性影响的 DevOps/平台工程师;需要用 Mock Provider 做免凭证快速单元测试、避免真实云资源开销的团队;正在为 Terraform 代码库搭建 CI/CD 流水线、需要区分快速单元测试与真实集成测试的场景。注意:本技能面向“编写基础设施配置测试”的普通 Terraform 使用者,与同仓库面向“开发 Terraform Provider 本身”的测试类技能(如 provider-test-patterns)服务的是不同群体。
四、跨 Agent 兼容性
| Agent | 结论 | 依据 |
|---|---|---|
| Claude Code | 原生支持 | 官方 README 明确列出 Claude Code 为支持目标,并提供插件市场安装命令 |
| Codex | 未验证 | README 另提及 GitHub Copilot / Cursor / Opencode 等通用安装目标,未点名 Codex |
| OpenClaw | 未验证 | 同上,未提及 |
| Hermes Agent | 未验证 | 同上,未提及 |
五、推荐理由
HashiCorp 官方出品,把 Terraform 原生测试框架(mock provider、CI 集成、完整示例)整理成结构清晰、开箱即用的参考文档,填补了“如何测试基础设施配置本身”这一几乎所有 Terraform 使用者都会遇到、但此前分散在官方文档各处的实用空白。
六、评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | HashiCorp/IBM 官方出品;所属仓库整体 755 星(背景参考,不计入本技能自身);本技能是官方发布博客明确列出的首批核心能力之一,且由 HashiCorp 与 AWS 两家公司的工程师共同贡献;第三方评测平台 Tessl 收录本技能公开评分页(Quality Score 88) |
| 可用性 | 8 | 一条命令或经插件市场即可安装;文档极为详尽,含十余种可运行示例与三份按需加载的参考文档;目录最近一次实质更新为 2026-04-01(约 3.8 个月前,略超“近 3 个月”窗口,故未进最高档);核心功能零付费依赖、零额外配置 |
| 安全性 | 9 | 见下方安全检查清单 |
| 综合评分 | 8.0 | 三项均值 |
安全检查清单:
| 检查项 | 结果 |
|---|---|
| ① Shell 命令与权限范围 | 正文与三份参考文档均为 .tftest.hcl 测试语法与 Terraform CLI 命令讲解,技能本身不执行任何 shell 命令 |
| ② 运行时联网外发 | 技能本身不发起网络请求;集成测试模式下的真实资源创建/销毁是用户自行选择运行 terraform test 时的行为,且文档明确推荐优先用 Mock Provider 避免此类外联 |
| ③ API Key/凭据 | 不要求任何凭据;正文明确建议单元测试优先使用 Mock Provider 以避免依赖真实云凭据 |
| ④ 可疑指令排查 | 已抓取 SKILL.md 全文及三份参考文档全文核实,未发现 prompt injection 或隐藏指令 |
| ⑤ 作者/组织信誉 | HashiCorp(现 IBM 旗下),Terraform 官方开发商;第三方评测平台 Tessl 对本技能的 Snyk 安全扫描结果为“无已知问题” |
| ⑥ License | MPL-2.0,条款清晰 |
| ⑦ 最近维护 | 目录最近一次实质提交为 2026-04-01 |
纯指导性内容、无代码执行无外联,且为官方出品、完全开源可审计,另有第三方安全扫描结果佐证,符合 9-10 档标准,定为 9 分。
七、跟同类 Skills 相比的优势
| 对比对象 | 定位 | 与本 skill 的差异 |
|---|---|---|
| provider-test-patterns(同仓库 hashicorp/agent-skills 内的另一子技能) | 面向“开发 Terraform Provider 本身”的 Go 验收测试模式库,覆盖 ConfigStateChecks、导入测试、清理器等 Provider 内部测试细节 |
服务对象是 Provider 开发者这一细分群体;本技能服务的是编写基础设施配置(.tf 文件)的普通 Terraform 使用者,测试对象是模块/配置行为而非 Provider 代码本身 |
| terraform-skill(antonbabenko,个人开发者出品,约 2.2k stars) | 通用 Terraform/OpenTofu 最佳实践诊断技能,测试只是其决策矩阵中“该用静态分析、原生测试、Terratest 还是 OPA”这一个环节 | 定位是宏观诊断与工具选型建议;本技能是针对“已决定用原生测试”之后的具体语法、Mock Provider 用法与 CI 集成的深度参考,颗粒度更细 |
| Terratest(gruntwork-io,第三方 Go 测试库,独立于本仓库) | 用 Go 编写基础设施测试的成熟第三方框架,需额外 Go 工具链与测试代码 | 需要学习 Go 语言与额外测试库依赖;本技能基于 Terraform 自 1.6 起原生内置的 .tftest.hcl 语法,无需额外语言或依赖,零配置即可开始 |
八、用户评价
该技能目前在第三方独立评价平台尚无具名用户评价。第三方技能目录(explainx.ai、officialskills.sh、agenticskills.io 等)已收录本技能条目,但均为目录索引形式,未见具名评论内容。
九、其他补充
本技能与同目录下的 terraform-search-import、terraform-style-guide、azure-verified-modules 共同打包为 Claude Code 插件 terraform-code-generation@hashicorp。HashiCorp 官方为该 Agent Skills 合集接入了第三方评测平台 Tessl 的自动化评审流程(Review evals + Task evals),本技能的公开评测页显示 Quality Score 88、Best Practices Compliance 82%、跨 3 个评测场景的平均任务表现提升 1.49 倍,并经 Snyk 安全扫描确认无已知问题。
十、安装使用方式
方式一:npx skills 通用安装
npx skills add hashicorp/agent-skills/terraform/code-generation/skills/terraform-test
方式二:Claude Code 插件市场
claude plugin marketplace add hashicorp/agent-skills
claude plugin install terraform-code-generation@hashicorp
安装后无需重启,Agent 在处理 .tftest.hcl 测试文件、编写测试场景或排查 Terraform 测试执行问题时会自动加载本技能;需自行准备 Terraform CLI(建议 1.7.0 及以上版本以使用 Mock Provider 功能)。
十一、注意事项
- Mock Provider 语法要求 Terraform 1.7.0 及以上版本,低版本用户需跳过该部分改用真实 Provider 做集成测试
- 集成测试模式(
command = apply)会创建真实资源,需自行承担对应云成本,文档建议优先用单元测试(plan模式)覆盖大部分场景 - 面向编写基础设施配置测试的普通 Terraform 使用者,与面向 Provider 开发者的测试类技能(如同仓库 provider-test-patterns)服务对象不同,不可互相替代
- 目前仅验证了与 Claude Code 的兼容性,其余 Agent 生态尚未获得直接证据