refactor-module
Break monolithic Terraform configurations into reusable, well-structured modules with clear contracts and migration paths.
- Analyzes existing code to identify refactoring candidates, groups resources by logical function, and assesses complexity before design
- Generates module interfaces with typed variables, validation rules, and descriptive outputs following HashiCorp best practices
- Provides state migration strategies using
movedblocks (Terraform 1.1+) or manualterraform state mvcommands to preserve existing state - Includes testing frameworks, documentation templates, and common patterns for resource grouping, configuration layering, and module composition
- Identifies pitfalls like over-abstraction, tight coupling, and state migration errors with concrete examples and remediation guidance
Skill: Refactor Module
Overview
This skill guides AI agents in transforming monolithic Terraform configurations into reusable, maintainable modules following HashiCorp's module design principles and community best practices.
Capability Statement
The agent will analyze existing Terraform code and systematically refactor it into well-structured modules with:
- Clear interface contracts (variables and outputs)
- Proper encapsulation and abstraction
- Versioning and documentation
- Testing frameworks
- Migration path for existing state
Prerequisites
- Existing Terraform configuration to refactor
- Understanding of resource dependencies
- Access to current state file (for migration planning)
- Knowledge of module registry patterns
More from hashicorp/agent-skills
terraform-style-guide
Generate Terraform HCL code following HashiCorp's official style conventions and best practices. Use when writing, reviewing, or generating Terraform configurations.
4.5Kterraform-test
Comprehensive guide for writing and running Terraform tests. Use when creating test files (.tftest.hcl), writing test scenarios with run blocks, validating infrastructure behavior with assertions, mocking providers and data sources, testing module outputs and resource configurations, or troubleshooting Terraform test syntax and execution.
2.8Kterraform-stacks
Comprehensive guide for working with HashiCorp Terraform Stacks. Use when creating, modifying, or validating Terraform Stack configurations (.tfcomponent.hcl, .tfdeploy.hcl files), working with stack components and deployments from local modules, public registry, or private registry sources, managing multi-region or multi-environment infrastructure, or troubleshooting Terraform Stacks syntax and structure.
2.1Kprovider-resources
Implement Terraform Provider resources and data sources using the Plugin Framework. Use when developing CRUD operations, schema design, state management, and acceptance testing for provider resources.
1.4Kterraform-search-import
Discover existing cloud resources using Terraform Search queries and bulk import them into Terraform management. Use when bringing unmanaged infrastructure under Terraform control, auditing cloud resources, or migrating to IaC.
1.4Knew-terraform-provider
Use this when scaffolding a new Terraform provider.
1.3K