# Terraform Style Guide

> Generate and review Terraform code using HashiCorp style conventions, structure, and security defaults.

- Skill: `kieksme/terraform-style-guide` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add kieksme/terraform-style-guide`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kieksme/terraform-style-guide/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: kieksme (https://skillmd.com/u/kieksme)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kieksme/terraform-style-guide

---


# Terraform Style Guide

Use this skill when writing or reviewing Terraform HCL to keep formatting, naming, and file structure consistent.

## When to Use

- New Terraform modules or stacks
- PR reviews for Terraform style and maintainability
- Refactors that change file structure and naming

## Core Rules

1. Keep module files predictable (`terraform.tf`, `providers.tf`, `main.tf`, `variables.tf`, `outputs.tf`, `locals.tf`).
2. Use lowercase snake_case for identifiers.
3. Add `description` and `type` for every variable.
4. Add `description` for every output and mark sensitive outputs.
5. Prefer `for_each` over `count` for non-boolean fan-out.
6. Do not hardcode secrets; prefer variables and secure secret delivery.
7. Run `terraform fmt -recursive` and `terraform validate`.

## Security Defaults

- Encryption at rest when available
- Private networking defaults
- Least-privilege network and IAM policies
- Logging/monitoring enabled where possible

## Reference

- https://developer.hashicorp.com/terraform/language/style
- Source adapted from HashiCorp skill: https://raw.githubusercontent.com/hashicorp/agent-skills/main/terraform/code-generation/skills/terraform-style-guide/SKILL.md

