terraform-module-patterns

Design reusable Terraform modules with naming conventions and version pinning.

28|3|Updated Feb 22, 2026
One-click install
npx skills add https://github.com/oborchers/fractional-cto --skill terraform-module-patterns
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: terraform-module-patterns
Source: https://github.com/oborchers/fractional-cto/tree/main/cloud-foundation-principles/skills/terraform-module-patterns
Command: npx skills add https://github.com/oborchers/fractional-cto --skill terraform-module-patterns

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and assets (resource) components.

What problem does it solve?

This Skill addresses the common pitfalls in Terraform module development, ensuring modules are reusable, maintainable, and prevent production incidents caused by poor design.

Core Features & Use Cases

  • Best Practices: Implements ten production-proven patterns for designing Terraform modules.
  • Quality Gates: Guides on setting up pre-commit hooks, linting (TFLint), and security scanning (Checkov).
  • Use Case: When designing a new Terraform module for managing AWS S3 buckets, this Skill provides patterns for naming conventions, conditional resource creation, and version pinning to ensure consistency and prevent future maintenance headaches.

Quick Start

Apply the 'wrap, don't rebuild' pattern when creating a new Terraform module.

Frequently Asked Questions about terraform-module-patterns

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

FAQPage Schema
What are the best practices for designing reusable Terraform modules?▼

Best practices for reusable Terraform modules include applying patterns like smart defaults, wrap-don't-rebuild, boundary validation, and version pinning. These patterns ensure modules remain maintainable and prevent production incidents.

How do I set up quality gates for Terraform infrastructure as code?▼

Set up quality gates for Terraform infrastructure as code by configuring pre-commit hooks, running TFLint for linting, and executing Checkov for security scanning to enforce code quality and prevent misconfigurations.

How do I handle conditional resource creation and environment variable injection in Terraform?▼

Handle conditional resource creation and environment variable injection in Terraform by implementing production-ready patterns that use locals for transformations and apply smart defaults to manage dynamic infrastructure deployments safely.

What's the best way to structure Terraform module outputs and naming conventions?▼

The best way to structure Terraform module outputs and naming conventions is using lookup-style outputs and modular substructure patterns, ensuring clarity and consistency across complex infrastructure as code deployments.

When should I wrap an existing Terraform module instead of rebuilding it?▼

You should wrap an existing Terraform module instead of rebuilding it when extending functionality, applying the 'wrap, don't rebuild' pattern to maintain upstream compatibility while adding custom logic safely.