Terraform 计划分析器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/terraform-plan-analyzer-agent。
技能介绍
它解决什么问题
Terraform plan 是人类可读但机器难以稳定消费的输出。一次 terraform plan 可能覆盖数十个模块、上百条变更,人工 review 容易漏掉破坏性操作、成本突增或策略违规。这个技能用于在 apply 前把 plan 变成结构化、可检查的风险信号,尤其适合 CI 中作为变更门禁。
它如何工作
它读取 Terraform 计划,核心链路是:
- 通过
terraform show -json获取结构化 plan/state; - 用 HCL2 parser 解析配置,识别资源、模块和变更上下文;
- 检测 destroy / replace / force-new / dangerous diff 等破坏性变更;
- 调用 Infracost API 估算新增或修改资源的成本影响;
- 将计划结果交给 Open Policy Agent(OPA)规则,检查是否违反 policy。
最终输出应该能指出“哪个资源会删/换、预计影响多少钱、哪条 policy 不通过”,而不是只重述 plan 文本。
适用边界与注意点
它不是自动审批器,也不是 terraform apply 的替代。它依赖完整且可解析的 plan JSON;-refresh=false、外部数据源、provider 不支持的场景可能缺上下文。成本估算来自 Infracost,可能受定价模型、区域和时间影响;OPA 需要已有且可访问的 policy;破坏性检测受 provider schema 与 plan 粒度限制。请把输出作为风险提示,保留人工确认和审批流程。
使用场景
- 在 CI 流水线中,对包含 `terraform plan` 输出的 PR 进行自动化审查,拦截潜在的 `replace` 操作。
- 在部署新环境前,利用 Infracost 估算新增计算资源的月度开销,确认是否符合项目预算。
- 当团队使用 Open Policy Agent 定义了“禁止开启公开访问”等规则时,对变更计划进行合规性扫描。
- 在合并包含 IaC 变更的代码分支前,快速识别是否存在因配置修改导致的资源 `destroy` 风险。
适合人员
- 负责维护生产环境稳定性的平台工程师,需要在变更上线前确认不存在意外的资源替换。
- 关注云资源支出的云财务分析师,希望在预算审批前获得 Terraform 变更的详细成本估算。
- 负责 DevOps 流程优化的自动化工程师,正在寻找方案将策略合规检查集成到 GitOps 工作流中。