Infra apply
Skill makigjuro/cloudstack-ai-plugins/plugins/cloud-infra/skills/infra-apply
Claude Code plugin marketplace — AI-powered full-stack cloud engineer for .NET 10 + React 19 + Azure/Terraform/Helm projects. 29 skills, 6 agents, 14 rules.
npx -y skills add makigjuro/cloudstack-ai-plugins --skill infra-applyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Run terraform plan for review and optionally apply infrastructure changes. Use when the user wants to preview or deploy infrastructure — always shows the plan before any apply.
SKILL.md
3.0 KB, as published. Nobody here has run it
Infrastructure Apply
Generate a Terraform plan for review. Optionally apply after user confirmation.
Arguments
{environment}— Target environment (e.g.,dev,staging,prod). Default:dev{module}— Specific module to plan (e.g.,aks-cluster,postgresql). If omitted, plan all.--apply— Apply after showing the plan (requires explicit user confirmation)
Configuration
Read cloudstack.json from the project root at the start of execution. Extract:
TF_PATH=infrastructure.terraformPath(default:infra/terraform/modules)TG_PATH=infrastructure.terragruntPath(default:infra/terragrunt)IAC_WRAPPER=infrastructure.iacWrapper(default:none)
If cloudstack.json does not exist, auto-detect by scanning the project structure.
Process
Step 1: Validate First
Run /infra-lint terraform to ensure all modules are valid before planning.
Step 2: Generate Plan
If IAC_WRAPPER = terragrunt:
Single module:
cd {TG_PATH}/{environment}/{module}
terragrunt plan -out=tfplan
All modules:
cd {TG_PATH}/{environment}
terragrunt run --all plan
If IAC_WRAPPER = none (plain Terraform):
Single module:
cd {TF_PATH}/{module}
terraform plan -var="environment={environment}" -out=tfplan
All modules — iterate over each module directory:
for dir in {TF_PATH}/*/; do
echo "=== Planning $(basename $dir) ==="
terraform -chdir="$dir" plan -var="environment={environment}" -out=tfplan
done
Note: With plain Terraform, you may need to pass additional -var-file or -backend-config flags depending on the project setup. Check for {environment}.tfvars files.
Step 3: Review Plan Output
Display the plan summary:
- Resources to add
- Resources to change
- Resources to destroy
CRITICAL: If any resources will be destroyed, highlight this prominently and require explicit user confirmation before proceeding.
Step 4: Apply (only if --apply and user confirms)
If IAC_WRAPPER = terragrunt:
Single module:
cd {TG_PATH}/{environment}/{module}
terragrunt apply tfplan
All modules:
cd {TG_PATH}/{environment}
terragrunt run --all apply
If IAC_WRAPPER = none:
Single module:
cd {TF_PATH}/{module}
terraform apply tfplan
All modules:
for dir in {TF_PATH}/*/; do
terraform -chdir="$dir" apply tfplan
done
Safety Rules
- NEVER apply to
prodwithout showing the plan first and getting explicit user confirmation - ALWAYS run plan before apply
- If the plan shows unexpected destroys, STOP and ask the user
- Clean up plan files after apply:
rm -f tfplan - For
--alloperations with Terragrunt, respect the dependency order defined in configs