
Iac Scaffold
- 4 installs
- 12 repo stars
- Updated June 8, 2026
- aws-samples/sample-claude-code-plugins-for-startups
iac-scaffold is a Claude Code skill that scaffolds new AWS infrastructure-as-code projects using CDK, Terraform, SAM, or CloudFormation.
About
This skill scaffolds new AWS infrastructure-as-code projects using CDK, Terraform, SAM or CloudFormation. It generates the project structure, an example resource, environment-specific config, a README and a CI/CD pipeline, following framework-specific patterns and gotchas. A developer uses it to start a new IaC project or add a stack.
- Scaffolds CDK, Terraform, SAM or CloudFormation projects
- Framework-specific structure and remote-state / secrets gotchas
- Generates README and GitHub Actions CI/CD config
Iac Scaffold by the numbers
- 4 all-time installs (skills.sh)
- Ranked #1,101 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
- Data as of Jul 28, 2026 (Skillselion catalog sync)
iac-scaffold capabilities & compatibility
Free skill; deploying the generated IaC provisions AWS resources that incur usage costs.
- Capabilities
- iac scaffold · customer ideation · cloudfront
- Works with
- aws · terraform · github
- Use cases
- devops · ci cd
- Pricing
- Free
What iac-scaffold says it does
Scaffold new AWS infrastructure-as-code projects using CDK, Terraform, SAM, or CloudFormation.
Terraform: never commit `.tfstate` — configure remote backend first
All frameworks: tag everything with at minimum `Environment`, `Project`, `Owner`
npx skills add https://github.com/aws-samples/sample-claude-code-plugins-for-startups --skill iac-scaffoldAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 4 |
|---|---|
| repo stars | ★ 12 |
| Last updated | June 8, 2026 |
| Repository | aws-samples/sample-claude-code-plugins-for-startups ↗ |
What it does
Scaffold a new AWS IaC project (CDK, Terraform, SAM or CloudFormation) with structure, example resource and CI/CD.
Who is it for?
Starting a new AWS IaC project or adding a stack with the right structure and CI/CD for CDK, Terraform, SAM or CloudFormation.
Skip if: Non-AWS infrastructure or deep application code beyond the IaC scaffold.
When should I use this skill?
Creating new IaC projects, adding new stacks or modules, or setting up deployment pipelines for AWS infrastructure.
What you get
A complete IaC project with entry point, example resource, environment config, README and CI/CD pipeline.
- Entry point / main config
- Example resource
- Environment config
By the numbers
- 4 supported frameworks
- 4-step process
- 5-part output
Files
Scaffold a new AWS IaC project.
Framework: $ARGUMENTS[0] (cdk, terraform, sam, or cfn) Description: $ARGUMENTS[1]
Process
1. Ask clarifying questions if the framework or description is unclear 2. Use the aws-iac MCP tools to validate resource configurations and check for security issues 3. Use the awsknowledge MCP tools (mcp__plugin_aws-dev-toolkit_awsknowledge__aws___search_documentation, mcp__plugin_aws-dev-toolkit_awsknowledge__aws___read_documentation, mcp__plugin_aws-dev-toolkit_awsknowledge__aws___recommend) to look up current best practices for the chosen framework 4. Generate the project structure following the patterns in templates/
Framework-Specific Guidance
CDK (TypeScript default)
- Use
cdk init app --language typescriptpatterns - Separate stacks by lifecycle (networking, data, compute)
- Use
cdk-nagfor compliance checks - Outputs for cross-stack references
Terraform
- Module-per-service structure
- Remote state in S3 + DynamoDB locking
- Use
terraform-aws-moduleswhere they exist - Separate tfvars per environment
SAM
- template.yaml at root
- Globals section for shared Lambda config
- Use SAM Accelerate for fast iteration
CloudFormation
- Nested stacks for reuse
- Parameters with AllowedValues for guardrails
- Conditions for multi-environment templates
Gotchas
- Always include a
.gitignoreappropriate for the framework - CDK: don't put secrets in context — use SSM Parameter Store or Secrets Manager
- Terraform: never commit
.tfstate— configure remote backend first - SAM:
sam localneeds Docker — mention this in the README - All frameworks: tag everything with at minimum
Environment,Project,Owner - Include a Makefile or justfile with common commands (deploy, destroy, diff, synth)
Output
Generate the complete project structure with: 1. Entry point / main config file 2. At least one example resource 3. Environment-specific configuration 4. README with setup instructions 5. CI/CD pipeline config (GitHub Actions default, ask if different)
CDK Project Structure Pattern
my-cdk-app/
├── bin/
│ └── app.ts # App entry point, stack instantiation
├── lib/
│ ├── networking-stack.ts # VPC, subnets, security groups
│ ├── data-stack.ts # Databases, caches, storage
│ └── compute-stack.ts # Lambda, ECS, API Gateway
├── test/
│ └── *.test.ts # Snapshot + fine-grained assertion tests
├── cdk.json # CDK config
├── tsconfig.json
├── package.json
├── Makefile # deploy, diff, synth, destroy shortcuts
└── README.mdKey Conventions
- One stack per lifecycle boundary (networking changes rarely, compute changes often)
- Cross-stack references via stack outputs, not hardcoded ARNs
- Use
cdk-nagin test suite for compliance - Environment config via CDK context (
cdk.jsonor-cflags), not env vars - Tag all resources:
Tags.of(app).add('Project', 'my-project')
IaC Scaffold Templates
This directory contains reference patterns for each supported framework. Claude reads these when scaffolding new projects.
Frameworks
- cdk/: CDK TypeScript project structure patterns
- terraform/: Terraform module structure patterns
- sam/: SAM application patterns
- cfn/: CloudFormation template patterns
These are reference files, not runnable templates. They show Claude the expected structure and conventions for each framework.
Terraform Project Structure Pattern
my-terraform-project/
├── main.tf # Provider config, module calls
├── variables.tf # Input variables
├── outputs.tf # Stack outputs
├── versions.tf # Required providers and versions
├── backend.tf # Remote state config (S3 + DynamoDB)
├── modules/
│ ├── networking/ # VPC, subnets, security groups
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ └── outputs.tf
│ └── compute/ # Lambda, ECS, etc.
│ ├── main.tf
│ ├── variables.tf
│ └── outputs.tf
├── environments/
│ ├── dev.tfvars
│ ├── staging.tfvars
│ └── prod.tfvars
├── Makefile # plan, apply, destroy per environment
└── README.mdKey Conventions
- Pin provider versions in
versions.tf - Remote state in S3 with DynamoDB locking from day one
- One module per logical grouping, not per resource
- Use
terraform-aws-modulesfor common patterns (VPC, EKS, etc.) terraform fmtandterraform validatein CI- Tag all resources via
default_tagsin provider block
Related skills
FAQ
Which frameworks does it support?
CDK (TypeScript default), Terraform, SAM and CloudFormation, each with framework-specific structure and gotchas.
How does it handle Terraform state?
It configures remote state in S3 with DynamoDB locking and warns never to commit .tfstate.