Terraform module
Write clean, reusable Terraform modules and safe infrastructure changes. Use when the user asks to write Terraform/IaC, create a module, or review infrastructure code.From its SKILL.md
npx -y skills add minagayid/Agents --skill terraform-moduleAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
1.7 KB, as published. Nobody here has run it
Terraform Module
Author Terraform that is reusable, reviewable, and safe to apply.
Module structure
module/
├── main.tf # resources
├── variables.tf # typed inputs with descriptions + validation
├── outputs.tf # outputs consumers need
├── versions.tf # required_version + provider version constraints
└── README.md # purpose, inputs, outputs, example usage
Practices
- Typed variables with
description, sensibledefaults, andvalidationblocks; mark secretssensitive = true. - Pin versions —
required_versionand provider constraints; commit.terraform.lock.hcl. - Remote state with locking (e.g. S3 + DynamoDB, GCS, Terraform Cloud); never commit state or secrets.
- No hard-coded values — parameterize via variables; keep environments in separate workspaces/dirs.
- Least privilege IAM; tag resources; use
for_eachovercountfor stable addressing. - Composable — small modules with clear inputs/outputs; avoid provider config inside reusable modules.
Workflow (safe change)
terraform fmtandterraform validate.terraform plan— read the plan; confirm no unexpected destroy/replace.- Apply to non-prod first; use
-targetsparingly and only knowingly. - Review drift; keep applies small and reversible.
Guidelines
- Treat
planoutput as the review artifact — a resource being destroyed/recreated is a red flag. - Prefer data sources and outputs over duplicating values across modules.