Complete terragrunt toolkit with generation and validation capabilities
93
93%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
{
"instructions": [
{
"instruction": "Before writing any files, determine the architecture pattern (A, B, or C) and output the completed Architecture Pattern Selection checklist to the user.",
"relevant_when": "Any Terragrunt configuration generation request.",
"why_given": "The Generation Workflow Step 2 states 'MANDATORY: Before writing any files, complete and output this checklist to the user' with the specific checklist format shown."
},
{
"instruction": "Read the relevant template file(s) from assets/templates/ before generating any configuration. Use the correct template per type: root → assets/templates/root/terragrunt.hcl, child → assets/templates/child/terragrunt.hcl, stack → assets/templates/stack/terragrunt.stack.hcl.",
"relevant_when": "Generating any Terragrunt configuration file.",
"why_given": "Step 3 of the Generation Workflow lists specific templates to read per configuration type. Step 4 also contains per-type checklists that reference the templates."
},
{
"instruction": "Feature flag default values MUST be static literals (boolean, string, or number). They CANNOT reference local.* values.",
"relevant_when": "Generating configurations that include feature blocks.",
"why_given": "The Generate Feature Flags section has a CRITICAL callout: 'Feature flag default values MUST be static — they CANNOT reference local.* values' with an explicit FAILS example."
},
{
"instruction": "After generating all files, run validation: terragrunt hcl fmt --check for format validation and terragrunt dag graph for dependency graph validation.",
"relevant_when": "After generating a complete multi-file Terragrunt configuration.",
"why_given": "Step 4 of the Generation Workflow specifies 'Run batch validation after ALL files are generated' with exactly these two commands."
},
{
"instruction": "Root.hcl must be environment-agnostic when using Pattern A: do not call read_terragrunt_config(find_in_parent_folders(\"env.hcl\")) in root.hcl. Child modules read env.hcl directly.",
"relevant_when": "Generating Pattern A multi-environment infrastructure.",
"why_given": "Pattern A description states 'Key principle: root.hcl does NOT read env.hcl. Child modules read env.hcl directly.' Step 4 checklist item 1 explicitly checks for this."
},
{
"instruction": "Use include 'root' { path = find_in_parent_folders(\"root.hcl\") } in every child module (named include, explicit filename). Never use bare include {} blocks.",
"relevant_when": "Generating child module terragrunt.hcl files.",
"why_given": "Step 4 checklist item 3 checks 'include block uses find_in_parent_folders(\"root.hcl\")' and both the SKILL.md and best practices require named includes."
},
{
"instruction": "Every dependency block in a generated configuration MUST include mock_outputs and mock_outputs_allowed_terraform_commands = [\"validate\", \"plan\", \"destroy\"].",
"relevant_when": "Generating child modules that reference other modules via dependency blocks.",
"why_given": "Step 4 checklist item 4 checks that dependency blocks have mock_outputs and mock_outputs_allowed_terraform_commands. The Anti-Patterns section warns about mock output mismatches."
},
{
"instruction": "Present the final output with all five required sections: directory structure tree, files generated table, usage instructions, environment notes with prerequisites, and optional next steps.",
"relevant_when": "After successful generation and validation of Terragrunt configurations.",
"why_given": "The Presentation Requirements section lists exactly these five sections and marks several as required output after successful validation."
}
]
}