When to use this skill
Use this skill whenever the user wants to:
- Write or debug CloudFormation templates (YAML/JSON)
- Create and manage AWS resources (EC2, S3, RDS, Lambda, etc.)
- Configure CloudFormation stacks, nested stacks, or stack sets
- Implement infrastructure automation with CloudFormation best practices
- Use cross-stack references with Export/ImportValue
How to use this skill
Workflow
- Define template — write YAML with Parameters, Resources, and Outputs
- Create change set — preview changes before applying
- Deploy stack — create or update the stack
- Validate — check stack events and outputs
Quick Start Example
AWSTemplateFormatVersion: '2010-09-09'
Description: Simple S3 bucket with versioning
Parameters:
Environment:
Type: String
AllowedValues: [dev, staging, prod]
Default: dev
Resources:
AppBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub 'myapp-${Environment}-assets'
VersioningConfiguration:
Status: Enabled
Outputs:
BucketArn:
Value: !GetAtt AppBucket.Arn
Export:
Name: !Sub '${Environment}-AppBucketArn'
# Validate template
aws cloudformation validate-template --template-body file://template.yaml
# Create stack with change set preview
aws cloudformation deploy \
--template-file template.yaml \
--stack-name myapp-dev \
--parameter-overrides Environment=dev
Cross-Stack Reference Example
# In consuming stack — import the exported bucket ARN
Resources:
LambdaFunction:
Type: AWS::Lambda::Function
Properties:
Environment:
Variables:
BUCKET_ARN: !ImportValue dev-AppBucketArn
Best Practices
- Use YAML over JSON for readability and version control
- Store sensitive values with
Parameter+NoEchoor AWS Secrets Manager — never hardcode - Use Mappings and Conditions for environment-specific configuration
- Prefix stack names with environment (e.g.,
dev-,prod-) to avoid conflicts - Encapsulate reusable resources as nested stacks for composability
Troubleshooting
- Rollback on create: Check stack events in CloudFormation console for the specific resource failure
- Circular dependency: Refactor with
DependsOnor split resources across stacks - Drift detection: Run
aws cloudformation detect-stack-driftto find out-of-band changes
Keywords
cloudformation, aws, infrastructure as code, cloudformation template, aws iac, nested stacks, cross-stack references