Terraform 与 OpenTofu AI Agent 技能
面向生产基础设施的 Terraform 与 OpenTofu 实践指南
对高风险操作有明确的护栏:destroy 前必须先跑 plan -destroy 并展示全部将被删除的资源(含隐式依赖)、禁止对 destroy 使用 -auto-approve、生产环境 apply 前要求已审阅的 plan 产物——这是针对「不可逆基础设施变更」场景设计得比较到位的安全约束。
作者 Anton Babenko 是 Terraform 社区里有公开身份、可核实的活跃维护者(知名 Terraform 模块作者),版本号明确(1.17.1),license 字段声明 Apache-2.0(但仓库层面 license 抓取为 NOASSERTION,两处不一致)。
- 仓库层面 GitHub license 抓取显示为 NOASSERTION,与 SKILL.md frontmatter 里声明的 Apache-2.0 不一致,建议使用前核实
它能做什么 & 适用场景
该技能为 AI 编程代理提供 Terraform 和 OpenTofu 的实践指导,涵盖测试、模块、状态管理、CI/CD、安全与合规。它支持 AWS、Azure 和 GCP,其中示例默认使用 AWS。README 声称兼容 Claude Code、Cursor、Copilot、Gemini CLI、OpenCode、Codex、Kiro 等 Agent Skills 兼容工具。SKILL.md 未缓存,因此无法核实其实际前置元数据、正文结构或确切路径。
提供 Terraform 与 OpenTofu 的决策框架、模块结构建议、原生测试与 Terratest 对比、远程状态管理、GitHub Actions 和 GitLab CI 模式,以及 Trivy、Checkov 和策略即代码等安全合规实践。
- 为 AWS VPC、Azure VNet 或 GCP VPC 网络创建带原生测试的模块
- 配置 S3、Azure、GCS 或 Terraform Cloud 远程状态后端及锁定策略
- 生成包含 fmt、validate、TFLint、Trivy、成本估算和 OIDC 的 CI/CD 工作流
- 评审现有 Terraform 配置并检查模块、命名、状态管理和 provider 配置实践
- 在原生 terraform test 与 Go-based Terratest 之间选择测试策略
优缺点一览
- 覆盖测试、模块、远程状态、CI/CD、安全和合规等生产基础设施主题
- 同时面向 Terraform 与 OpenTofu,并提供 AWS、Azure、GCP 的跨云映射
- 包含决策矩阵、流程图和 DO/DON'T 模式,强调何时以及为何采用某种实践
- README 提供多个 Agent 主机的安装命令和具体提示词示例
- SKILL.md 未缓存,无法独立核实技能正文、frontmatter 或实际 skill path
- README 的仓库元数据标注 License 为 NOASSERTION,但 README 及徽章声称 Apache 2.0,许可证信息存在来源差异
- 部分能力依赖具体 Terraform/OpenTofu 版本、provider 支持和可选工具,例如 Terraform MCP server、terraform-ls、Trivy 或 Checkov
- README 没有提供实际测试结果、覆盖率或独立质量评估证据
如何安装
通用 Agent Skills 安装命令:npx skills add https://github.com/antonbabenko/terraform-skill。Codex 可执行:git clone https://github.com/antonbabenko/terraform-skill.git ~/.agents/skills/terraform-skill。README 还提供了 Claude Code、Gemini CLI、Cursor、Copilot、OpenCode、Kiro 和其他主机的安装方式。
如何使用
安装后,可以直接提出具体任务,例如“Create a Terraform module for an AWS VPC with native tests”“Configure an S3 backend with native use_lockfile locking and encryption for Terraform state”或“Review this Terraform configuration following best practices”。README 建议用 Terraform 1.6+ 原生测试,并指出 use_lockfile 需要 Terraform 1.10+、write_only 或 *_wo 参数需要 Terraform 1.11+(在 provider 支持时)。
对比同类
README 将原生 terraform test 与 Terratest 作为两种测试路线进行决策比较,并将 AWS 作为默认示例、同时提供 Azure 和 GCP 等价模式。它还推荐与 code-intelligence 插件搭配使用,但明确说明 terraform-skill 可以单独工作。