Terraform Generator
Overview
This skill generates production-ready Terraform configurations following best practices and current standards. Automatically integrates validation and documentation lookup for custom providers and modules.
When to Use
Use this skill when:
- Creating new Terraform resources
- Building infrastructure as code
- Implementing cloud infrastructure (AWS, Azure, GCP)
- Generating Terraform modules
- Converting existing infrastructure to Terraform
Core Capabilities
- Generate Terraform Configurations: Create main.tf, variables.tf, outputs.tf, versions.tf
- Provider Documentation Lookup: Use Context7 MCP for up-to-date provider docs
- Best Practices Enforcement: Follow Terraform conventions and security standards
- Data Sources: Include data sources for dynamic values (region, account, AMIs)
- Lifecycle Rules: Add lifecycle rules for critical resources
- Validation Integration: Automatically validate with terraform-validator skill
Critical Requirements
- Understand requirements (providers, resources, modules)
- Check for custom providers/modules and lookup documentation
- Consult reference files before generation
- Generate Terraform files with ALL best practices
- Include data sources for dynamic values
- Add lifecycle rules on critical resources
- Invoke terraform-validator skill for validation
- Fix all validation/security failures and re-validate
- Provide usage instructions
Usage Examples
Example: Generate S3 Bucket
User: "Create Terraform for an S3 bucket with versioning"
Output:
- main.tf with S3 bucket resource
- variables.tf with bucket_name variable
- outputs.tf with bucket_arn output
- versions.tf with provider constraints
Example: Generate EC2 Instance
User: "Generate Terraform for an EC2 instance"
Output:
- Complete EC2 configuration
- Data source for AMI
- Security group configuration
- Proper tagging
Best Practices
- Use FQCN for all modules
- Include data sources for dynamic values
- Add lifecycle rules for critical resources
- Pin provider versions
- Use variables for configurable values
- Include comprehensive outputs
Validation
IMPORTANT: After generating Terraform configurations, ALWAYS validate using:
/skills terraform-validator
References
- Terraform Best Practices
- Provider Examples
