Terraform Module Best Practices

Design reusable Terraform modules with input validation and Terratest testing.

6|Updated Oct 25, 2025
One-click install
npx skills add https://github.com/williamzujkowski/cognitive-toolworks --skill terraform-module-best-practices
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Terraform Module Best Practices
Source: https://github.com/williamzujkowski/cognitive-toolworks/tree/main/skills/terraform-module-patterns
Command: npx skills add https://github.com/williamzujkowski/cognitive-toolworks --skill terraform-module-best-practices

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Design reusable Terraform modules with variable validation, output schemas, module composition, and Terratest integration to enable robust, testable infrastructure as code.

Core Features & Use Cases

  • Basic module structure with validated inputs and clear outputs to simplify module consumption.
  • Tiered patterns for composition and publishing to registry, plus Terraform testing with Terratest.
  • Guidance for end-to-end module development, versioning, and documentation for hosting on registries.

Quick Start

Use the patterns to scaffold a Terraform module and run Terratest validations.

Frequently Asked Questions about Terraform Module Best Practices

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure Terraform modules for registry publishing and reuse?

Structure Terraform modules using validated inputs, clear output contracts, and tiered composition patterns to enable robust infrastructure-as-code reuse and registry hosting.

What's the best way to validate Terraform module variables across cloud providers?

Apply robust input validation directly within variable definitions to enforce type safety and cross-provider compatibility before module composition and deployment.

How do I test Terraform modules with Terratest?

Implement end-to-end Terratest validation by scaffolding module patterns and running automated tests to verify infrastructure-as-code behavior across cloud providers.

Does this approach to Terraform module design support CI/CD pipelines?

Yes, the module design provides CI/CD-ready guidance for end-to-end development, incorporating versioning, documentation, and Terratest integration for automated validation.

Why do my Terraform module outputs lack clear documentation?

Define explicit output schemas and document output contracts within the module structure to ensure consumers understand the returned values and usage patterns.

When should I not use tiered composition for Terraform modules?

Avoid complex tiered composition when a simple module layout suffices; tiered patterns are intended for advanced registry publishing and multi-provider scenarios.