Skillshub generating-infrastructure-as-code
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/jeremylongshore/claude-code-plugins-plus-skills/generating-infrastructure-as-code" ~/.claude/skills/comeonoliver-skillshub-generating-infrastructure-as-code && rm -rf "$T"
manifest:
skills/jeremylongshore/claude-code-plugins-plus-skills/generating-infrastructure-as-code/SKILL.mdsource content
Generating Infrastructure as Code
Overview
Generate production-ready infrastructure as code for Terraform, CloudFormation, Pulumi, ARM templates, and AWS CDK. Produce modular, well-structured configurations with proper variable definitions, outputs, remote state management, and deployment guidance for AWS, GCP, and Azure cloud stacks.
Prerequisites
- Target cloud provider CLI installed and authenticated (
,aws
,gcloud
)az - IaC tool installed: Terraform 1.0+, Pulumi 3+, AWS CDK, or relevant SDK
- Cloud credentials configured with permissions to create the target resources
- Understanding of the desired infrastructure architecture (compute, networking, storage, database)
- Version control repository for storing IaC configurations
Instructions
- Identify the IaC tool and cloud provider based on the project requirements and existing codebase
- Scan the project for existing IaC files to understand current patterns and conventions
- Define the modular file structure: separate files for providers, networking, compute, storage, and databases
- Generate the provider configuration with version pinning and remote backend for state storage
- Define input variables with types, descriptions, defaults, and validation rules for all configurable values
- Write resource definitions following cloud provider best practices: encryption enabled, logging configured, least-privilege IAM
- Add outputs for resource identifiers, endpoints, and connection strings needed by other modules or applications
- Configure remote state backend: S3 + DynamoDB for Terraform, Pulumi Cloud, or CloudFormation stack exports
- Create environment-specific variable files (
,terraform.tfvars
,dev.tfvars
) for multi-environment deploymentprod.tfvars - Validate with
,terraform validate
, or equivalent tool-specific lintingterraform plan
Output
- IaC configuration files organized by resource type or module
- Variable definition files with documented inputs and sensible defaults
- Output definitions for cross-module references and application configuration
- Backend configuration for remote state storage
- Environment-specific variable files for dev, staging, and production
- Deployment instructions with prerequisite setup and apply commands
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Malformed Terraform configuration | Run to identify the error; check bracket matching and attribute syntax |
| Missing or expired credentials | Run , , or to refresh credentials |
| Trying to create a resource that exists outside of IaC management | Use to bring the existing resource under management |
| Another process holding the state lock | Wait for the other process to finish; use if the lock is stale |
| Resources referencing each other circularly | Refactor to remove the cycle; use data sources or to establish explicit ordering |
Examples
- "Generate Terraform for a production VPC on AWS with public/private subnets across 3 AZs, NAT gateways, VPC flow logs, and an EKS cluster."
- "Create a CloudFormation template for an S3 bucket with versioning, server-side encryption (KMS), public access block, and lifecycle rules."
- "Write Pulumi TypeScript code for a GCP Cloud Run service with a custom domain, Cloud SQL database, and Secret Manager integration."
Resources
- Terraform documentation: https://developer.hashicorp.com/terraform/docs
- AWS CloudFormation: https://docs.aws.amazon.com/cloudformation/
- Pulumi: https://www.pulumi.com/docs/
- AWS CDK: https://docs.aws.amazon.com/cdk/v2/guide/
- Azure ARM/Bicep: https://learn.microsoft.com/en-us/azure/azure-resource-manager/