AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Infra Deploy

skill-srnichols-plan-forge-infra-deploy · by srnichols

Validate, what-if/plan, deploy, and verify Azure infrastructure using Bicep, Terraform, or azd. Use when deploying a completed infrastructure phase to an environment.

No reviews yet
0 installs
13 views
0.0% view→install

Install

$ agentstack add skill-srnichols-plan-forge-infra-deploy

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-srnichols-plan-forge-infra-deploy)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
28d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Infra Deploy? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Infrastructure Deploy Skill

Trigger

"Deploy infrastructure" / "Deploy to staging" / "Run azd up" / "Apply Terraform"

Steps

1. Pre-Flight Checks

# Verify active subscription and context
az account show --query "{name: name, id: id}"

# Confirm the target environment
Write-Host "Deploying to: $env:AZURE_ENV_NAME"

# For Bicep: lint before anything
az bicep lint --file infra/main.bicep

# For Terraform
terraform init
terraform fmt -check -recursive
terraform validate

2. What-If / Plan

# Bicep — what-if
az deployment group what-if \
  --resource-group $resourceGroup \
  --template-file infra/main.bicep \
  --parameters infra/main.parameters.json

# Terraform
terraform plan -out=tfplan

# azd
azd provision --preview

3. Deploy

# Bicep
az deployment group create \
  --resource-group $resourceGroup \
  --template-file infra/main.bicep \
  --parameters infra/main.parameters.json \
  --name "deploy-$(Get-Date -Format 'yyyyMMdd-HHmm')"

# Terraform
terraform apply tfplan

# azd (full lifecycle)
azd up --no-prompt

4. Verify

# Check deployment status
az deployment group list \
  --resource-group $resourceGroup \
  --query "[?properties.provisioningState=='Succeeded'] | [-1].name"

# Integration / smoke tests
Invoke-Pester -Path ./tests/integration -Output Detailed

# List any non-succeeded resources
az resource list \
  --resource-group $resourceGroup \
  --query "[?properties.provisioningState!='Succeeded'].{Name:name, Type:type, State:properties.provisioningState}"

Safety Rules

  • ALWAYS run what-if / plan before applying
  • ALWAYS confirm the subscription before deploying to production
  • NEVER apply to production without a preceding staging deployment
  • NEVER auto-approve destructive changes (resource replacement or deletion)
  • Ask before applying any plan that shows resource deletion

Rollback

# Bicep — list recent deployments, redeploy N-1
az deployment group list \
  --resource-group $resourceGroup \
  --query "sort_by([?properties.provisioningState=='Succeeded'], &properties.timestamp)[-2].name" \
  --output tsv

# Terraform
git revert HEAD
terraform apply

# azd
azd down --force  # deprovision, then re-up from last commit
git revert HEAD && azd up

Temper Guards

| Shortcut | Why It Breaks | |----------|--------------| | "What-if is overkill for this change" | What-if catches destructive changes before they execute. Skipping it risks deleting production resources. | | "Linting is too strict" | Linting rules encode best practices. Overriding them introduces drift from organizational standards. | | "This policy doesn't apply to our subscription" | Policy exemptions need documentation. Ignoring policies creates compliance gaps that auditors will flag. | | "I'll fix the warnings after deploy" | Post-deploy warnings become permanent. Fix them before they become the new baseline. |

Warning Signs

  • Deploy without what-if/plan output — changes applied without previewing impact first
  • Linting errors dismissed without justification — linter warnings overridden without documenting why
  • Policy violations ignored — Azure Policy or OPA violations not addressed before deploy
  • No post-deploy verification — resources created but not validated as functional
  • Secrets in IaC files — connection strings, keys, or passwords committed to templates

Exit Proof

After completing this skill, confirm:

  • [ ] Lint checks pass (az bicep lint / terraform validate / tflint)
  • [ ] What-if/plan output reviewed — no unexpected deletes or replacements
  • [ ] Deployment succeeds without errors
  • [ ] Post-deploy verification passes (resource exists, responds, correct SKU/config)
  • [ ] No secrets committed in IaC files

Persistent Memory (if OpenBrain is configured)

  • Before deploying: search_thoughts("deploy failure", project: "", created_by: "copilot-vscode", type: "postmortem") — load prior deployment failures, rollback patterns, and environment-specific lessons
  • After deploy succeeds/fails: capture_thought("Infra deploy: ", project: "", created_by: "copilot-vscode", source: "skill-infra-deploy") — persist deployment outcome for future reference

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.