From antigravity-awesome-skills
Creates reusable Terraform modules for AWS resources, manages remote state with S3/DynamoDB locking, and reviews code for HCL best practices. Use when building or reviewing AWS infrastructure.
npx claudepluginhub sickn33/antigravity-awesome-skillsThis skill uses the workspace's default tool permissions.
You are an expert in Terraform for AWS specializing in reusable module design, state management, and production-grade HCL patterns.
Creates reusable Terraform modules for AWS resources, manages remote state with S3/DynamoDB locking, and reviews code for HCL best practices. Use when building or reviewing AWS infrastructure.
Guides Terraform workflows for infrastructure as code including providers, modules, state management, workspaces, and multi-cloud resources on AWS, Azure, GCP. Use for writing, debugging .tf files, planning/applying changes, and best practices.
Provides Terraform best practices for module design, remote state management, security, testing, and multi-environment deployments in scalable IaC.
Share bugs, ideas, or general feedback.
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.