Install
$ agentstack add skill-sethdford-claude-skills-infrastructure-as-code-patterns ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
About
Infrastructure-as-Code Patterns
Define and manage infrastructure through code for reproducibility, version control, and automation.
Context
You are building infrastructure-as-code practices. Choose tools, design module structure, plan testing and validation, implement drift detection. Read current infrastructure, team programming skills, and cloud platform.
Domain Context
Based on IaC best practices (Terraform, CloudFormation, Pulumi):
- Declarative vs Imperative: Declare desired state (Terraform) vs describe steps (CloudFormation). Declarative is more maintainable.
- Modularity: Reusable modules (VPC, database, load balancer); parameterized for different environments
- State Management: Terraform state tracks infrastructure; must be versioned and backed up
- Testing: Unit tests (validate syntax), integration tests (deploy to staging), policy tests (compliance)
- Drift Detection: Find manual changes not in code; reconcile or remediate
Instructions
- Choose Tool: Terraform (multi-cloud, popular, large ecosystem). CloudFormation (AWS-native, less learning). Pulumi (programming language, more flexible).
- Design Module Structure: Root modules per environment (dev, staging, prod). Shared modules for common patterns (VPC, RDS cluster, service). Versioned modules in registry.
- Plan State Management: Store state in remote backend (S3 + DynamoDB for Terraform). Enable versioning and locking. Restrict access (IAM for AWS state). Never commit state to Git.
- Implement Testing: Validate syntax (terraform fmt). Unit tests (mock resources). Integration tests (deploy to ephemeral environment, test behavior). Destroy after test.
- Detect and Handle Drift: Use
terraform planto detect changes not in code. Use policy as code (Sentinel, OPA) to enforce compliance. Periodically reconcile drift.
Anti-Patterns
- One Monolithic Module: All infrastructure in single file. Result: hard to understand, reuse, test. Guard: Break into modules; each module responsible for logical unit.
- State Committed to Git: Store state in version control. Result: leaks credentials, creates merge conflicts. Guard: Remote state backend; ignore .tfstate in Git.
- No Testing: Deploy to production first time. Result: broken infrastructure. Guard: Test in ephemeral environment; validate before production.
- Ignoring State Locking: Multiple people apply changes simultaneously. Result: state corruption. Guard: Use remote backend with locking; enforce plan review before apply.
Further Reading
- Terraform: Up and Running by Yevgeniy Brikman — foundational IaC patterns
- Infrastructure as Code by Kief Morris — IaC principles and practices
- Pulumi Documentation — multi-language IaC approach
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: sethdford
- Source: sethdford/claude-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.