1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | provider-configuration-hashicorp-agent-skills |
| 作者/维护者 | HashiCorp(现为 IBM 旗下) |
| 来源链接 | https://github.com/hashicorp/agent-skills/tree/main/plugins/terraform/skills/provider-configuration |
| 许可证 | MPL-2.0(数据来自 GitHub API) |
| GitHub Stars | 800(数据来自 GitHub API;该数字属整个 hashicorp/agent-skills 合集仓库,不代表本技能自身热度) |
| Forks | 119(同上,合集整体数字,数据来自 GitHub API) |
| 最新版本 | 0.0.1(SKILL.md 内声明) |
| 安装方式 | npx skills add 单条命令,或 Claude Code / Codex 官方插件市场安装产品插件包 |
2. 功能介绍与亮点
provider-configuration 教你在用 HashiCorp Plugin Framework 开发 Terraform Provider 时,设计一套生产级的认证与凭据解析逻辑。核心内容包括:
- Provider Schema 设计规范:认证相关字段一律标记
Optional(而非Required),敏感字段标记Sensitive以便 Terraform 在 plan 输出中自动脱敏; - 四级凭据解析链:静态配置 → 环境变量 → 共享凭据文件 → 平台身份(实例元数据/工作负载身份/OIDC),优先级从高到低,并给出“按集合而非逐字段回退”的关键设计原则;
- Configure 方法的完整实现范式:unknown-value 防护、哨兵错误区分“源为空”与“源损坏”、凭据来源日志记录(只记来源不记明文);
- 凭据脱敏与文件权限检查:
String()/GoString()方法脱敏、非 Windows 平台的凭据文件权限告警; - 配置期主动校验:在
Configure阶段就调用身份接口验证凭据有效性,避免故障延后到 apply 阶段; - 完整的单元测试指南:逐来源测试、优先级测试、失败聚合测试、脱敏测试。
亮点:内容直接参考 AWS 官方 Provider(aws-sdk-go-base)在生产环境中验证过的凭据链设计模式,并附带两份配套参考文档——一份是可直接编译运行的完整凭据链实现,另一份是多个真实 Provider(含 AWS)的凭据链结构案例研究。全文自带一份 12 项检查清单,可直接用作代码评审依据。
3. 适用场景
所属分类:工程效率与代码质量(该技能围绕“如何编写 Terraform Provider 代码”这一具体编码任务展开,产出是 Go 源码变更,属于技术栈编码指南范畴)。
适用于正在用 Plugin Framework 开发或维护 Terraform Provider 的开发者:新建 Provider 时设计其 Configure 方法与认证 Schema;为已有 Provider 增加新的认证方式(API Key、Token、Profile、Assume-Role 等);排查“未找到有效凭据来源”一类的报错;或为凭据解析逻辑编写单元测试。受益人群是 Terraform Provider 的开发者与维护者,而非普通使用 Terraform 编写 .tf 配置做基础设施部署的工程师——这是一个专业开发者向的技能。
4. 跨 Agent 兼容性
- Claude Code:原生支持 ✅——可通过 Claude Code 官方插件市场安装
terraform@hashicorp产品插件包,或用npx skills add单独安装该技能。 - Codex:原生支持 ✅——仓库自带专属
.agents/plugins/marketplace.json清单,可作为仓库市场添加后安装terraform插件,与 Claude Code 插件市场暴露相同的产品包与技能目录。 - OpenClaw:未验证 ❓——官方文档未点名支持,技能本体是标准 SKILL.md 格式。
- Hermes Agent:未验证 ❓——同上。
5. 推荐理由
认证与凭据解析是每个 Terraform Provider 开发者第一个要面对、也最容易踩坑的环节,但相关资料一直稀缺,多数人只能照抄 SDKv2 时代的旧模式或从零摸索。这份技能把 AWS 官方 Provider 在生产环境验证过的凭据链设计经验,浓缩成可直接套用的 Schema 范式、Configure 实现骨架与 12 项检查清单,并配一份完整可编译的参考实现,能显著减少因凭据处理不当导致的认证 bug 与调试成本。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | HashiCorp 是 Terraform 与 Packer 的官方所有者;合集仓库 800 stars 属整个 hashicorp/agent-skills 仓库,不代表本技能自身热度;该子技能于 2026-08-10 新增,尚无独立于官方身份之外的第三方证据(媒体报道、独立评测、采用数据) |
| 可用性 | 9 | npx skills add 单条命令即可安装,亦可通过 Claude Code / Codex 官方插件市场一键装入产品包;SKILL.md 含完整代码示例、12 项检查清单与两份配套参考文档;2026-08-10 创建,近期有维护;无付费依赖 |
| 安全性 | 9 | 纯 Go 代码范例与实践指南,技能本体不执行任何 shell 命令、不联网外发数据;License 清晰(MPL-2.0);由 Terraform/Packer 的官方所有者 HashiCorp 发布,完全开源 |
安全检查清单逐项结果:
① Shell 命令执行:无,技能只提供代码范例,不会自动执行任何命令 ② 联网外发:无 ③ API Key/凭据存储:技能教你如何在自己的 Provider 中设计凭据解析逻辑,但技能本体不索取、不存储任何用户凭据 ④ 可疑指令(Prompt Injection 迹象):未发现 ⑤ 作者/组织信誉:HashiCorp,Terraform/Packer 生态的官方所有者 ⑥ License:MPL-2.0,明确 ⑦ 最近维护时间:2026-08-10(近期,随仓库结构重组新增)
7. 跟同类 Skills 相比的优势
| 技能 | 定位 | 与本技能的差异 |
|---|---|---|
| new-terraform-provider(HashiCorp) | Provider 从零脚手架搭建 | 覆盖整个 Provider 初始化流程,认证只是其中一个小节,不深入凭据链设计与测试方法 |
| provider-resources(HashiCorp) | Provider 内资源 CRUD 实现模式 | 聚焦资源增删改查与 finder/waiter 模式,不涉及 Provider 级别的认证与凭据解析 |
| terraform-skill(antonbabenko) | 面向 Terraform/OpenTofu 使用者的测试、模块化、CI/CD 实践 | 服务对象是编写 .tf 配置做基础设施部署的 IaC 工程师,而不是用 Go 开发 Terraform Provider 本身的开发者,受众完全不同 |
8. 用户评价
该技能于 2026-08-10 随仓库结构重组新增,目前在第三方平台尚无具名用户评价。所属 HashiCorp Agent Skills 合集本身已有官方博客文章介绍,并被多个第三方技能市场(如 awesomeskill.ai)收录,但均未针对本技能单独置评。
9. 其他补充
SKILL.md 原文建议配合以下技能一起使用:用 new-terraform-provider 技能搭建本技能所服务的 Provider 骨架,用 provider-resources 技能实现消费已配置好的 client 的资源逻辑。
10. 安装使用方式
方式一(单独安装该技能):
npx skills add hashicorp/agent-skills/plugins/terraform/skills/provider-configuration
方式二(Claude Code 插件市场,安装整个 Terraform 产品包):
claude plugin marketplace add hashicorp/agent-skills
claude plugin install terraform@hashicorp
方式三(Codex):将仓库的 .agents/plugins/marketplace.json 添加为仓库市场,再安装其中的 terraform 插件。
安装后无需重启;在 Terraform Provider 项目中实现或修改 Configure 方法、Provider Schema 或凭据解析逻辑时,技能会按 SKILL.md 描述的场景自动触发。如需完整可编译示例,可查阅技能自带的 references/credential-chain.md;references/case-studies.md 提供真实 Provider 的凭据链案例研究。
11. 注意事项
- 服务对象是 Terraform Provider 开发者(用 Go 语言基于 Plugin Framework 开发 Provider 本体),不是普通编写
.tf文件做基础设施部署的 Terraform 使用者——用错受众不会有帮助。 - 技能于 2026-08-10 随仓库路径结构重组新增,安装时请使用当前的
plugins/terraform/skills/路径前缀,旧路径(如terraform/code-generation/skills/)已失效。 - 示例代码基于虚构的
examplecloudProvider,实际接入需替换为自己 Provider 的 client 类型与 Schema 字段。