openclaw-skills/terraform-engineer/SKILL.md
Use when designing Terraform IaC, reviewing modules, managing state, planning provider upgrades, or improving repeatable infrastructure deployment workflows.
npx skillsauth add seaworld008/commonly-used-high-value-skills terraform-engineerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
variable, output, locals 实现参数化和跨模块数据传递。data 源查询已存在或动态生成的云资源。dynamic "block_name" 配合 for_each 处理列表或映射,减少重复冗余。validation 块增强配置健壮性。terraform state mv, rm, import 等命令手动干预状态映射。terraform plan 发现手动修改或自动伸缩导致的实际状态与代码差异。import 块(或旧式 terraform import 命令)将手动创建的资源纳入代码管控。terraform 块中明确指定 Provider 版本,防止自动升级导致的兼容性破坏。alias 管理多区域(Multi-region)或多账号部署。# 初始化并拉取所有模块/插件
terraform init -upgrade
# 生成变更计划并保存到文件(CI/CD 常用)
terraform plan -out=tfplan
# 应用之前保存的计划,跳过确认
terraform apply "tfplan"
# 强行同步特定资源状态
terraform apply -replace="aws_instance.web"
# 图形化展示资源依赖关系
terraform graph | dot -Tsvg > graph.svg
# modules/vpc/main.tf
resource "aws_vpc" "this" {
cidr_block = var.vpc_cidr
tags = {
Name = var.project_name
}
}
resource "aws_subnet" "public" {
for_each = var.public_subnets
vpc_id = aws_vpc.this.id
cidr_block = each.value
map_public_ip_on_launch = true
}
# modules/vpc/variables.tf
variable "vpc_cidr" {
description = "VPC CIDR block"
type = string
}
variable "public_subnets" {
type = map(string)
default = {
"us-east-1a" = "10.0.1.0/24"
"us-east-1b" = "10.0.2.0/24"
}
}
terraform {
required_version = ">= 1.5.0"
backend "s3" {
bucket = "my-tf-state-bucket"
key = "prod/terraform.tfstate"
region = "us-east-1"
dynamodb_table = "terraform-lock"
encrypt = true
}
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
refresh=false 加速检测。development
Enumerating failure modes via pre-mortem analysis. Systematically identifies failure scenarios for plans, designs, and features, scoring them with RPN/AP. Does not write code.
testing
Orchestrating specialist AI agent teams as a meta-coordinator. Decomposes requests into minimum viable chains, spawns each as an independent session in AUTORUN modes, and drives to final output. Use when a task spans multiple specialist domains, requires parallel agent execution, or needs hub-and-spoke routing across the skill ecosystem.
development
Converting document formats (Markdown/Word/Excel/PDF/HTML). Converts specs from Scribe and reports from Harvest into distributable formats; generates reusable conversion scripts. Use when converting documents, building accessibility-compliant PDFs, or creating Pandoc/LibreOffice pipelines.
testing
Curating cross-agent knowledge and guarding institutional memory. Extracts patterns from agent journals into METAPATTERNS.md, detects knowledge decay, propagates best practices, prevents organizational forgetting. Use when consolidating cross-agent insights, curating memory, or auditing knowledge decay.