一、基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 正式名称 | new-terraform-provider-hashicorp-agent-skills | 合集仓库子目录名(见下方说明) |
| 所属合集仓库 | hashicorp/agent-skills(HashiCorp 官方 Agent Skills 合集,含 Terraform、Packer 两条产品线) | GitHub |
| 作者/维护者 | HashiCorp(现属 IBM),官方账号 hashicorp 发布;技能目录近期提交者可查证为 HashiCorp 员工 |
GitHub |
| 来源链接 | https://github.com/hashicorp/agent-skills/tree/main/terraform/provider-development/skills/new-terraform-provider | — |
| 许可证 | MPL-2.0(Mozilla Public License 2.0) | GitHub API |
| 所属仓库整体 Stars/Forks | 757 / 114(注:该数字属整个合集仓库,不代表本技能自身热度,仅作背景参考) | GitHub API |
| 最新版本 | 技能自身 metadata 版本号 0.0.1;目录最近一次提交 2026-07-09 | GitHub API |
| 安装方式 | npx skills add hashicorp/agent-skills/terraform/provider-development/skills/new-terraform-provider;或经 Claude Code 插件市场安装 terraform-provider-development@hashicorp |
官方 README |
二、功能介绍与亮点
本技能引导 Agent 从零脚手架一个全新的 Terraform Provider:先确认是否需要新建工作区,创建以 terraform-provider- 为前缀的目录,初始化 Go 模块并拉取官方 terraform-plugin-framework 依赖,按内置模板写出 main.go 入口文件并清理其中的 TODO 占位,最后依次执行 go mod tidy、go build、go test 完成自检,确保脚手架产物真的能编译通过,而不是“写完就交差”。
核心亮点:① HashiCorp(现属 IBM)官方一线 IaC 厂商出品;② 随包附带一份已经过验证的 main.go 模板资产,覆盖 Plugin Framework 的 ServeOpts 标准配置样板,减少从零手写入口代码时的低级错误;③ 流程末尾内置构建与测试自检步骤,脚手架阶段就能发现本地 Go 环境或依赖问题,而非等到后续开发才暴露;④ 技能目录 2026-07-09 仍有实质提交,另有一条围绕该技能的功能改进 PR 处于开放讨论中,显示并非一次性发布后即弃置。
三、适用场景
固定分类:DevOps 与基础设施
准备为内部平台、私有服务或尚无官方 Terraform Provider 覆盖的云 API 新建自定义 Provider 的平台工程师/SRE;刚接触 Terraform Plugin Framework、希望有一套标准起手流程而非从官方文档逐段摸索的 Provider 开发新手;需要在团队内部统一新 Provider 项目初始化方式、避免各人手写脚手架产生差异的团队。
四、跨 Agent 兼容性
| Agent | 结论 | 依据 |
|---|---|---|
| Claude Code | 原生支持 | 官方 README 明确列出 Claude Code,并提供插件市场安装命令 |
| Codex | 未验证 | README 仅点名 GitHub Copilot / Opencode / Cursor 等,未提及 Codex |
| OpenClaw | 未验证 | 同上,未提及 |
| Hermes Agent | 未验证 | 同上,未提及 |
五、推荐理由
HashiCorp(现属 IBM)官方出品,把新建 Terraform Provider 时最容易出错的脚手架搭建环节——初始化模块、正确编写 main.go 骨架、验证编译测试通过——标准化为一套带自检的可执行流程,尤其适合刚开始做 Provider 开发、还在摸索 Plugin Framework 起手式的开发者。
六、评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | HashiCorp(现属 IBM)官方出品;所属合集仓库整体 757 星、114 fork(背景参考,不计入本技能自身);仓库内 provider development 相关 issue 有 10 余条来自多位具名贡献者的讨论,本技能自身另有一条仍处于开放状态的功能改进 PR |
| 可用性 | 8 | npx 一条命令或 Claude Code 插件市场即可安装;SKILL.md 步骤清晰并自带可直接使用的 main.go 模板资产;流程内置 go build/go test 自检;目录最近一次提交为 2026-07-09;需要用户本机已具备 Go 开发环境 |
| 安全性 | 9 | 见下方安全检查清单 |
| 综合评分 | 8.0 | 三项均值 |
安全检查清单:
| 检查项 | 结果 |
|---|---|
| ① Shell 命令与权限范围 | 仅执行标准 Go 工具链命令(go get/go mod tidy/go build/go test),范围明确、可预期,无破坏性操作 |
| ② 运行时联网外发 | 联网行为限于 go get 从官方 Go 模块代理拉取 terraform-plugin-framework 依赖包,属标准包管理行为,目标透明 |
| ③ API Key/凭据 | 不涉及任何 API Key 或凭据索取 |
| ④ 可疑指令排查 | 已直接抓取 SKILL.md 与模板资产 main.go 源码核实,未发现 prompt injection 或隐藏指令,main.go 为标准 Provider 入口样板代码 |
| ⑤ 作者/组织信誉 | HashiCorp(现属 IBM),Terraform 官方开发商;近期提交者可查证为 HashiCorp 员工 |
| ⑥ License | MPL-2.0,条款清晰 |
| ⑦ 最近维护 | 目录最近一次提交 2026-07-09,且有开放中的改进 PR |
涉及的 shell 操作均为本地标准构建流程,脚本内容干净可审计,无任何外发风险,符合 7-8 档“有代码执行但范围明确、可审计”的标准;因作者身份可查证、License 清晰且无任何可疑迹象,定为 9 分。
七、跟同类 Skills 相比的优势
| 对比对象 | 定位 | 与本 skill 的差异 |
|---|---|---|
| terraform-provider-scaffolding-framework(HashiCorp 官方 GitHub 模板仓库,438 星) | 通过 “Use this template” 手动克隆改名的静态脚手架仓库 | 需要开发者自行 clone、手动重命名占位符、自行执行编译测试确认无误;本技能把这套操作交给 Agent 按 SKILL.md 流程自动完成,并在结尾自动跑 go build/go test 自检 |
| terraform-plugin-codegen-framework(HashiCorp 官方仓库,57 星) | 从 OpenAPI/Provider Code Spec 等结构化规格批量生成 Provider 资源代码的代码生成工具 | 面向已有 API 规格、批量生成资源/数据源代码的场景,是“从规格生成代码”;本技能面向从零新建一个空白 Provider 骨架的起手环节,两者处于 Provider 开发生命周期的不同阶段 |
| run-acceptance-tests(同仓库内技能) | 指导为已存在的 Provider 运行与诊断 TestAcc 前缀验收测试 |
作用于 Provider 已经建好之后的测试阶段;本技能作用于 Provider 诞生之前的脚手架阶段,两者是同一开发流程里前后相继的不同环节 |
八、用户评价
该技能目前在第三方独立评价平台尚无具名用户评价。GitHub 仓库 issue 区可查到 drewmullen、bbasata 等使用者围绕 provider development 技能族提出的具体改进建议(如按 SDKv2/Framework 场景拆分技能、纳入验收测试覆盖规范等),反映该技能族确有真实开发者在使用并给出反馈。
九、其他补充
该技能所属合集仓库同时覆盖 Terraform 与 Packer 两条 HashiCorp 产品线,仓库按“产品/插件/skills”三层结构组织。
十、安装使用方式
方式一:npx skills 通用安装
npx skills add hashicorp/agent-skills/terraform/provider-development/skills/new-terraform-provider
方式二:Claude Code 插件市场
claude plugin marketplace add hashicorp/agent-skills
claude plugin install terraform-provider-development@hashicorp
安装后无需重启;当用户提出“新建一个 Terraform Provider”或类似脚手架请求时,Agent 会自动加载本技能;需自行准备可用的本机 Go 开发环境。
十一、注意事项
- 技能 metadata 版本号为 0.0.1,仍处于早期迭代阶段,指令内容较为精简,未覆盖多 Provider 单仓库、CI 流水线搭建等进阶场景
- 生成的
main.go骨架中Address字段为占位符registry.terraform.io/example/demo,需要开发者自行替换为真实发布名称 - 目前仅验证了与 Claude Code 的兼容性,其余 Agent 生态尚未获得直接证据
- 依赖标准 Go 模块代理网络访问以拉取
terraform-plugin-framework依赖包,受限网络环境下需自行配置GOPROXY