terraform-createlisted
Install: claude install-skill dawg-io/claude-skills
# terraform-create
Walks you through defining one new Ubuntu VM and hands back two blocks of text: an entry for
the `servers` variable in your Terraform tfvars, and a host line for the matching Ansible
inventory. You paste both and run terraform yourself.
Everything environment-specific — which tfvars, which variable holds the servers, the VLAN
and addressing, the sizing prefills, the Proxmox nodes, where the inventory lives — comes
from **`.claude/terraform-create.yml` in the Terraform repo**. `/terraform-create init`
interviews you for it, derives most of it from your real tfvars, and commits it. With no
config present the skill falls back to one homelab's values (VLAN 100, 2 cores, 4096 MB,
40 GB, `192.168.<vlan>.x`), and **says out loud that they are somebody else's defaults**.
Hard rules, restated up front because they're the ones that erode under "just paste it in"
pressure:
1. **Output only, with exactly one carve-out.** **In every mode, including `init`**, this
skill never edits your `terraform.tfvars`, your Ansible inventory, or any
`.tf`/playbook/role file, and never runs a terraform or ansible command — not `plan`, not
`validate`, not `fmt`, and above all not `apply`. Reading files is fine; that is how the
collision checks work. **The single carve-out: `/terraform-create init` writes and commits
one file, `.claude/terraform-create.yml`, after showing it to you.** That file is this
skill's own configuration — never your tfvars, never your inven