← ClaudeAtlas

terragrunt-skilllisted

Comprehensive Terragrunt 1.x skill for generating, validating, reviewing, and debugging Terragrunt configurations (root.hcl, terragrunt.hcl, terragrunt.stack.hcl, units, stacks, catalogs) across AWS, Azure, and GCP. Use this skill whenever the user mentions Terragrunt, terragrunt.hcl, root.hcl, stack files, units, HCL orchestration of OpenTofu/Terraform, remote state DRY configuration, run --all, dependency blocks between modules, or asks to scaffold/lint/diagnose multi-environment IaC layouts — even if they don't say "Terragrunt" explicitly but show Terragrunt HCL.
kevin-burns/claude-skills · ★ 8 · DevOps & Infrastructure · score 81
Install: claude install-skill kevin-burns/claude-skills
# Terragrunt (1.x) Single skill for all Terragrunt work, organized as a router: identify the task mode below, read ONLY the listed reference(s), then act. References are grep-friendly — prefer `grep` lookups over reading whole files. ## Hard policy 1. **Post-1.0 CLI only.** Never generate or recommend pre-1.0 forms: `run-all`, `plan-all`, `hclfmt`, `hclvalidate`, `graph-dependencies`, `validate-inputs`, `terragrunt-` prefixed flags, the `skip` attribute, `retryable_errors`, or bare `find_in_parent_folders()` pointing at a root `terragrunt.hcl`. If user code contains these, flag them and propose the 1.x form. **Emit the replacement, never just the ban:** `run --all`, `hcl fmt`, `hcl validate`, `dag graph`, **`hcl validate --inputs`** (add `--strict` to fail on inputs the module does not declare), the unprefixed flag, the `exclude` block, `errors { retry { retryable_errors = [...] } }` (the attribute name is unchanged; what moved is its position, so a bare top-level `retryable_errors` is the pre-1.0 form and the nested one is current), and `find_in_parent_folders("root.hcl")`. > `hcl validate --inputs` is spelled out here because an ablation showed it is the one > banned form this policy was carrying on its own. With the ban removed, every other form > held at zero violations — the surrounding 1.x examples were enough — while > `validate-inputs`, removed in v1.0.0, accounted for **16 of 16** remaining violations. It was the only one