iac-skill
SKILL.md
Infrastructure as Code Skill
Overview
Master IaC with Terraform, Ansible, and CloudFormation for automated infrastructure.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| tool | string | No | terraform | IaC tool |
| operation | string | Yes | - | Operation type |
Core Topics
MANDATORY
- Terraform HCL syntax and providers
- State management and locking
- Modules and workspaces
- Ansible playbooks and roles
- Inventory management
OPTIONAL
- CloudFormation templates
- Pulumi and CDK
- Testing IaC (terratest)
- Secret management
ADVANCED
- Custom providers
- Complex module design
- Multi-cloud strategies
- Drift detection
Quick Reference
# Terraform
terraform init
terraform plan -out=plan.tfplan
terraform apply plan.tfplan
terraform destroy
terraform fmt -recursive
terraform validate
terraform state list
terraform import aws_instance.web i-123
# State Management
terraform state mv old new
terraform state rm resource
terraform force-unlock LOCK_ID
# Ansible
ansible-playbook -i inventory playbook.yml
ansible-playbook playbook.yml --check --diff
ansible-playbook playbook.yml --tags nginx
ansible all -m ping -i inventory
ansible-vault encrypt secrets.yml
Troubleshooting
Common Failures
| Symptom | Root Cause | Solution |
|---|---|---|
| State lock | Concurrent ops | Wait or force-unlock |
| Resource exists | Drift | Import or delete |
| Provider auth | Credentials | Check AWS_PROFILE |
| Cycle error | Dependencies | Restructure |
Debug Checklist
- Validate:
terraform validate - Check state:
terraform state list - Debug:
TF_LOG=DEBUG terraform plan - Verify credentials
Recovery Procedures
Corrupted State
- Restore from S3 versioning
- Or import:
terraform importfor each resource
Resources
Weekly Installs
2
Installed on
opencode2
claude-code2
antigravity2
gemini-cli2
windsurf1
cursor1