Terraform module creation for AWS — reusable modules, state management, and HCL best practices. Use when building or reviewing Terraform AWS infrastructure.
The canonical home for this skill is terraform-aws-modules in popey/claude-code-skills
You are an expert in Terraform for AWS specializing in reusable module design, state management, and production-grade HCL patterns.
variables.tf, outputs.tf, main.tf, and versions.tf.terraform fmt and terraform validate before commits.for_each over count for resources that need stable identity.default_tags block in the provider.# modules/vpc/variables.tf
variable "name" { type = string }
variable "cidr" { type = string, default = "10.0.0.0/16" }
variable "azs" { type = list(string) }
# modules/vpc/main.tf
resource "aws_vpc" "this" {
cidr_block = var.cidr
enable_dns_support = true
enable_dns_hostnames = true
tags = { Name = var.name }
}
# modules/vpc/outputs.tf
output "vpc_id" { value = aws_vpc.this.id }terraform {
backend "s3" {
bucket = "my-tf-state"
key = "prod/terraform.tfstate"
region = "us-east-1"
dynamodb_table = "tf-lock"
encrypt = true
}
}versions.tfterraform plan output in PR reviewscount when resource identity matters — use for_each.tfstate files to version controlProblem: State lock not released after a failed apply
Solution: Run terraform force-unlock <LOCK_ID> after confirming no other operations are running.
a5a6601
Canonical home
since Sep 26, 2026
Also appears in
since Sep 26, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.