Sep 26, 2026
terraform-skill:让你的编程 agent 真正照着做的 Terraform 与 OpenTofu 最佳实践
安装这个 2k 星的最佳实践技能:给任何兼容 Agent Skills 的编程 agent 配上 Terraform 与 OpenTofu 的测试策略、模块结构、远端状态与 CI/CD 模式。
编程 agent 会很乐意给你写一个能跑的 Terraform 模块——顺便违反五六条你在评审时才会发现的生产约定。terraform-skill,一个 2k 星、Apache-2.0 协议的仓库,把这些模式固化下来,让 agent 在写代码时就照着执行。README 写明了它的来源:terraform-best-practices.com 上的模式,以及 terraform-aws-modules 合集中使用的方法。
为什么这个 Skill 重要
按 README 的说法,这个技能提供六方面指导:测试框架——包括原生 Terraform 测试与 Terratest 的决策矩阵——模块开发的命名与版本约定、状态管理、CI/CD 集成、安全与合规,以及一份 DO 与 DON'T 对照的快速参考。状态管理覆盖 S3、Azure、GCS 和 Terraform Cloud 后端、锁定、多团队隔离、迁移与恢复流程。CI/CD 部分记录了 GitHub Actions 和 GitLab CI 工作流,外加 Atlantis 与 Infracost 成本估算;安全指导覆盖 Trivy 与 Checkov 扫描以及 policy-as-code 模式。
README 还有一条适用范围说明:AWS、Azure、GCP 三朵云都是一等公民,只是示例默认用 AWS——任何模式都可以要 Azure 或 GCP 的对应版本,技能会自行映射。
安装
快速安装适用于任何兼容 Agent Skills 的工具:
npx skills add https://github.com/antonbabenko/terraform-skill
在 Claude Code 上也可以走插件市场:
/plugin marketplace add antonbabenko/agent-plugins
/plugin install terraform-skill@antonbabenko
注意 README 明确警告的一个冲突:不要再把 antonbabenko/terraform-skill 添加为市场——两者注册的市场名相同,会撞名。
要求是 Terraform 1.0+ 或 OpenTofu 1.6+。部分指导按版本设门槛,README 给出了具体线:原生测试要 1.6+,原生 use_lockfile 锁定要 1.10+,write_only 参数要 1.11+。
实战:交付一个带测试、带 CI 的模块
用 README 自带的验证提示确认安装成功:「Create a Terraform module with testing for an S3 bucket.」只要工作涉及 Terraform 或 OpenTofu 代码,Claude 会自动挂载这个技能。
接下来完整跑一个真实任务。先要一个带测试的模块:
Create a Terraform module for an AWS VPC with native tests
再接上状态与交付——两条都是 README 快速开始里的提示:
Configure an S3 backend with native use_lockfile locking and encryption for Terraform state
Create a GitHub Actions workflow for Terraform with cost estimation
面对既有代码库,评审提示负责审计存量:「Review this Terraform configuration following best practices.」
技巧
- 测试方案拿不准时,直接问 README 建议的决策问题:「Help me choose between native tests and Terratest for my modules.」
- 技能可选使用 HashiCorp 官方语言服务器 terraform-ls 按语义定位定义;没有它,技能回退到文本搜索,一切照常。语言服务器需要本地
terraform或tofu二进制,且工作区跑过terraform init。 - 重命名有自己的规则:terraform-ls 不能替你重命名——先找出所有引用再逐个手工改;资源或模块地址的变更要用
moved块,而不是文本替换。 - README 推荐从同一市场安装
code-intelligence插件作为通用搭档;同时也提醒这个名字并不唯一——确认启用的是 antonbabenko/agent-plugins 的那一个。
何时不用这个 Skill
这是给 agent 读的指导,不是 terraform plan 或 apply 的包装——工具仍要你自己跑,它也替代不了策略流水线或状态后端。如果你的技术栈钉死在 Terraform 1.6 以下,原生测试指导有一部分按版本设了门槛。而如果 agent 宿主完全不支持 Agent Skills,这里没有东西可装。
查看 排行榜 了解更多 skill。