[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F66HCWKGV6VTY265ESC7AS":3,"skill-same:01M6F66HCWKGV6VTY265ESC7AS":68},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M6F66HCWKGV6VTY265ESC7AS","cloudformation",null,"AWS CloudFormation infrastructure as code for stack management. Use when writing templates, deploying stacks, managing drift, troubleshooting deployments, or organizing infrastructure with nested stacks.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fitsmostafa\u002Faws-agent-skills\u002Fcloudformation\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"aws cloudformation","amazon","with","as","drift","nested","deployments","use","management","writing","troubleshooting","stack","templates","aws","https","infrastructure as code","code","infrastructure","docs","2026-11-10 10:12:30",false,"---\nname: cloudformation\ndescription: AWS CloudFormation infrastructure as code for stack management. Use when writing templates, deploying stacks, managing drift, troubleshooting deployments, or organizing infrastructure with nested stacks.\nlast_updated: \"2026-01-07\"\ndoc_source: https:\u002F\u002Fdocs.aws.amazon.com\u002FAWSCloudFormation\u002Flatest\u002FUserGuide\u002F\n---\n\n# AWS CloudFormation\n\nAWS CloudFormation provisions and manages AWS resources using templates. Define infrastructure as code, version control it, and deploy consistently across environments.\n\n## Table of Contents\n\n- [Core Concepts](#core-concepts)\n- [Common Patterns](#common-patterns)\n- [CLI Reference](#cli-reference)\n- [Best Practices](#best-practices)\n- [Troubleshooting](#troubleshooting)\n- [References](#references)\n\n## Core Concepts\n\n### Templates\n\nJSON or YAML files defining AWS resources. Key sections:\n- **Parameters**: Input values\n- **Mappings**: Static lookup tables\n- **Conditions**: Conditional resource creation\n- **Resources**: AWS resources (required)\n- **Outputs**: Return values\n\n### Stacks\n\nCollection of resources managed as a single unit. Created from templates.\n\n### Change Sets\n\nPreview changes before executing updates.\n\n### Stack Sets\n\nDeploy stacks across multiple accounts and regions.\n\n## Common Patterns\n\n### Basic Template Structure\n\n```yaml\nAWSTemplateFormatVersion: '2010-09-09'\nDescription: My infrastructure template\n\nParameters:\n  Environment:\n    Type: String\n    AllowedValues: [dev, staging, prod]\n    Default: dev\n\nMappings:\n  EnvironmentConfig:\n    dev:\n      InstanceType: t3.micro\n    prod:\n      InstanceType: t3.large\n\nConditions:\n  IsProd: !Equals [!Ref Environment, prod]\n\nResources:\n  MyBucket:\n    Type: AWS::S3::Bucket\n    Properties:\n      BucketName: !Sub 'my-app-${Environment}-${AWS::AccountId}'\n      VersioningConfiguration:\n        Status: !If [IsProd, Enabled, Suspended]\n\nOutputs:\n  BucketName:\n    Description: S3 bucket name\n    Value: !Ref MyBucket\n    Export:\n      Name: !Sub '${AWS::StackName}-BucketName'\n```\n\n### Deploy a Stack\n\n**AWS CLI:**\n\n```bash\n# Create stack\naws cloudformation create-stack \\\n  --stack-name my-stack \\\n  --template-body file:\u002F\u002Ftemplate.yaml \\\n  --parameters ParameterKey=Environment,ParameterValue=prod \\\n  --capabilities CAPABILITY_IAM\n\n# Wait for completion\naws cloudformation wait stack-create-complete --stack-name my-stack\n\n# Update stack\naws cloudformation update-stack \\\n  --stack-name my-stack \\\n  --template-body file:\u002F\u002Ftemplate.yaml \\\n  --parameters ParameterKey=Environment,ParameterValue=prod\n\n# Delete stack\naws cloudformation delete-stack --stack-name my-stack\n```\n\n### Use Change Sets\n\n```bash\n# Create change set\naws cloudformation create-change-set \\\n  --stack-name my-stack \\\n  --change-set-name my-changes \\\n  --template-body file:\u002F\u002Ftemplate.yaml \\\n  --parameters ParameterKey=Environment,ParameterValue=prod\n\n# Describe changes\naws cloudformation describe-change-set \\\n  --stack-name my-stack \\\n  --change-set-name my-changes\n\n# Execute change set\naws cloudformation execute-change-set \\\n  --stack-name my-stack \\\n  --change-set-name my-changes\n```\n\n### Lambda Function\n\n```yaml\nResources:\n  LambdaFunction:\n    Type: AWS::Lambda::Function\n    Properties:\n      FunctionName: !Sub '${AWS::StackName}-function'\n      Runtime: python3.12\n      Handler: index.handler\n      Role: !GetAtt LambdaRole.Arn\n      Code:\n        ZipFile: |\n          def handler(event, context):\n              return {'statusCode': 200, 'body': 'Hello'}\n      Environment:\n        Variables:\n          ENVIRONMENT: !Ref Environment\n\n  LambdaRole:\n    Type: AWS::IAM::Role\n    Properties:\n      AssumeRolePolicyDocument:\n        Version: '2012-10-17'\n        Statement:\n          - Effect: Allow\n            Principal:\n              Service: lambda.amazonaws.com\n            Action: sts:AssumeRole\n      ManagedPolicyArns:\n        - arn:aws:iam::aws:policy\u002Fservice-role\u002FAWSLambdaBasicExecutionRole\n```\n\n### VPC with Subnets\n\n```yaml\nResources:\n  VPC:\n    Type: AWS::EC2::VPC\n    Properties:\n      CidrBlock: 10.0.0.0\u002F16\n      EnableDnsHostnames: true\n      Tags:\n        - Key: Name\n          Value: !Sub '${AWS::StackName}-vpc'\n\n  PublicSubnet1:\n    Type: AWS::EC2::Subnet\n    Properties:\n      VpcId: !Ref VPC\n      AvailabilityZone: !Select [0, !GetAZs '']\n      CidrBlock: 10.0.1.0\u002F24\n      MapPublicIpOnLaunch: true\n\n  PrivateSubnet1:\n    Type: AWS::EC2::Subnet\n    Properties:\n      VpcId: !Ref VPC\n      AvailabilityZone: !Select [0, !GetAZs '']\n      CidrBlock: 10.0.10.0\u002F24\n\n  InternetGateway:\n    Type: AWS::EC2::InternetGateway\n\n  AttachGateway:\n    Type: AWS::EC2::VPCGatewayAttachment\n    Properties:\n      VpcId: !Ref VPC\n      InternetGatewayId: !Ref InternetGateway\n\n  PublicRouteTable:\n    Type: AWS::EC2::RouteTable\n    Properties:\n      VpcId: !Ref VPC\n\n  PublicRoute:\n    Type: AWS::EC2::Route\n    DependsOn: AttachGateway\n    Properties:\n      RouteTableId: !Ref PublicRouteTable\n      DestinationCidrBlock: 0.0.0.0\u002F0\n      GatewayId: !Ref InternetGateway\n\n  PublicSubnet1RouteTableAssociation:\n    Type: AWS::EC2::SubnetRouteTableAssociation\n    Properties:\n      SubnetId: !Ref PublicSubnet1\n      RouteTableId: !Ref PublicRouteTable\n```\n\n### DynamoDB Table\n\n```yaml\nResources:\n  OrdersTable:\n    Type: AWS::DynamoDB::Table\n    Properties:\n      TableName: !Sub '${AWS::StackName}-orders'\n      AttributeDefinitions:\n        - AttributeName: PK\n          AttributeType: S\n        - AttributeName: SK\n          AttributeType: S\n        - AttributeName: GSI1PK\n          AttributeType: S\n        - AttributeName: GSI1SK\n          AttributeType: S\n      KeySchema:\n        - AttributeName: PK\n          KeyType: HASH\n        - AttributeName: SK\n          KeyType: RANGE\n      GlobalSecondaryIndexes:\n        - IndexName: GSI1\n          KeySchema:\n            - AttributeName: GSI1PK\n              KeyType: HASH\n            - AttributeName: GSI1SK\n              KeyType: RANGE\n          Projection:\n            ProjectionType: ALL\n      BillingMode: PAY_PER_REQUEST\n      PointInTimeRecoverySpecification:\n        PointInTimeRecoveryEnabled: true\n```\n\n## CLI Reference\n\n### Stack Operations\n\n| Command | Description |\n|---------|-------------|\n| `aws cloudformation create-stack` | Create stack |\n| `aws cloudformation update-stack` | Update stack |\n| `aws cloudformation delete-stack` | Delete stack |\n| `aws cloudformation describe-stacks` | Get stack info |\n| `aws cloudformation list-stacks` | List stacks |\n| `aws cloudformation describe-stack-events` | Get events |\n| `aws cloudformation describe-stack-resources` | Get resources |\n\n### Change Sets\n\n| Command | Description |\n|---------|-------------|\n| `aws cloudformation create-change-set` | Create change set |\n| `aws cloudformation describe-change-set` | View changes |\n| `aws cloudformation execute-change-set` | Apply changes |\n| `aws cloudformation delete-change-set` | Delete change set |\n\n### Template\n\n| Command | Description |\n|---------|-------------|\n| `aws cloudformation validate-template` | Validate template |\n| `aws cloudformation get-template` | Get stack template |\n| `aws cloudformation get-template-summary` | Get template info |\n\n## Best Practices\n\n### Template Design\n\n- **Use parameters** for environment-specific values\n- **Use mappings** for static lookup tables\n- **Use conditions** for optional resources\n- **Export outputs** for cross-stack references\n- **Add descriptions** to parameters and outputs\n\n### Security\n\n- **Use IAM roles** instead of access keys\n- **Enable termination protection** for production\n- **Use stack policies** to protect resources\n- **Never hardcode secrets** — use Secrets Manager\n\n```bash\n# Enable termination protection\naws cloudformation update-termination-protection \\\n  --stack-name my-stack \\\n  --enable-termination-protection\n```\n\n### Organization\n\n- **Use nested stacks** for complex infrastructure\n- **Create reusable modules**\n- **Version control templates**\n- **Use consistent naming conventions**\n\n### Reliability\n\n- **Use DependsOn** for explicit dependencies\n- **Configure creation policies** for instances\n- **Use update policies** for Auto Scaling groups\n- **Implement rollback triggers**\n\n## Troubleshooting\n\n### Stack Creation Failed\n\n```bash\n# Get failure reason\naws cloudformation describe-stack-events \\\n  --stack-name my-stack \\\n  --query 'StackEvents[?ResourceStatus==`CREATE_FAILED`]'\n\n# Common causes:\n# - IAM permissions\n# - Resource limits\n# - Invalid property values\n# - Dependency failures\n```\n\n### Stack Stuck in DELETE_FAILED\n\n```bash\n# Identify resources that couldn't be deleted\naws cloudformation describe-stack-resources \\\n  --stack-name my-stack \\\n  --query 'StackResources[?ResourceStatus==`DELETE_FAILED`]'\n\n# Retry with resources to skip\naws cloudformation delete-stack \\\n  --stack-name my-stack \\\n  --retain-resources ResourceLogicalId1 ResourceLogicalId2\n```\n\n### Drift Detection\n\n```bash\n# Detect drift\naws cloudformation detect-stack-drift --stack-name my-stack\n\n# Check drift status\naws cloudformation describe-stack-drift-detection-status \\\n  --stack-drift-detection-id abc123\n\n# View drifted resources\naws cloudformation describe-stack-resource-drifts \\\n  --stack-name my-stack\n```\n\n### Rollback Failed\n\n```bash\n# Continue update rollback\naws cloudformation continue-update-rollback \\\n  --stack-name my-stack \\\n  --resources-to-skip ResourceLogicalId1\n```\n\n## References\n\n- [CloudFormation User Guide](https:\u002F\u002Fdocs.aws.amazon.com\u002FAWSCloudFormation\u002Flatest\u002FUserGuide\u002F)\n- [CloudFormation API Reference](https:\u002F\u002Fdocs.aws.amazon.com\u002FAWSCloudFormation\u002Flatest\u002FAPIReference\u002F)\n- [CloudFormation CLI Reference](https:\u002F\u002Fdocs.aws.amazon.com\u002Fcli\u002Flatest\u002Freference\u002Fcloudformation\u002F)\n- [Resource and Property Reference](https:\u002F\u002Fdocs.aws.amazon.com\u002FAWSCloudFormation\u002Flatest\u002FUserGuide\u002Faws-template-resource-type-ref.html)\n\n","# AWS CloudFormation\n\nAWS CloudFormation provisions and manages AWS resources using templates. Define infrastructure as code, version control it, and deploy consistently across environments.\n\n## Table of Contents\n\n- [Core Concepts](#core-concepts)\n- [Common Patterns](#common-patterns)\n- [CLI Reference](#cli-reference)\n- [Best Practices](#best-practices)\n- [Troubleshooting](#troubleshooting)\n- [References](#references)\n\n## Core Concepts\n\n### Templates\n\nJSON or YAML files defining AWS resources. Key sections:\n- **Parameters**: Input values\n- **Mappings**: Static lookup tables\n- **Conditions**: Conditional resource creation\n- **Resources**: AWS resources (required)\n- **Outputs**: Return values\n\n### Stacks\n\nCollection of resources managed as a single unit. Created from templates.\n\n### Change Sets\n\nPreview changes before executing updates.\n\n### Stack Sets\n\nDeploy stacks across multiple accounts and regions.\n\n## Common Patterns\n\n### Basic Template Structure\n\n```yaml\nAWSTemplateFormatVersion: '2010-09-09'\nDescription: My infrastructure template\n\nParameters:\n  Environment:\n    Type: String\n    AllowedValues: [dev, staging, prod]\n    Default: dev\n\nMappings:\n  EnvironmentConfig:\n    dev:\n      InstanceType: t3.micro\n    prod:\n      InstanceType: t3.large\n\nConditions:\n  IsProd: !Equals [!Ref Environment, prod]\n\nResources:\n  MyBucket:\n    Type: AWS::S3::Bucket\n    Properties:\n      BucketName: !Sub 'my-app-${Environment}-${AWS::AccountId}'\n      VersioningConfiguration:\n        Status: !If [IsProd, Enabled, Suspended]\n\nOutputs:\n  BucketName:\n    Description: S3 bucket name\n    Value: !Ref MyBucket\n    Export:\n      Name: !Sub '${AWS::StackName}-BucketName'\n```\n\n### Deploy a Stack\n\n**AWS CLI:**\n\n```bash\n# Create stack\naws cloudformation create-stack \\\n  --stack-name my-stack \\\n  --template-body file:\u002F\u002Ftemplate.yaml \\\n  --parameters ParameterKey=Environment,ParameterValue=prod \\\n  --capabilities CAPABILITY_IAM\n\n# Wait for completion\naws cloudformation wait stack-create-complete --stack-name my-stack\n\n# Update stack\naws cloudformation update-stack \\\n  --stack-name my-stack \\\n  --template-body file:\u002F\u002Ftemplate.yaml \\\n  --parameters ParameterKey=Environment,ParameterValue=prod\n\n# Delete stack\naws cloudformation delete-stack --stack-name my-stack\n```\n\n### Use Change Sets\n\n```bash\n# Create change set\naws cloudformation create-change-set \\\n  --stack-name my-stack \\\n  --change-set-name my-changes \\\n  --template-body file:\u002F\u002Ftemplate.yaml \\\n  --parameters ParameterKey=Environment,ParameterValue=prod\n\n# Describe changes\naws cloudformation describe-change-set \\\n  --stack-name my-stack \\\n  --change-set-name my-changes\n\n# Execute change set\naws cloudformation execute-change-set \\\n  --stack-name my-stack \\\n  --change-set-name my-changes\n```\n\n### Lambda Function\n\n```yaml\nResources:\n  LambdaFunction:\n    Type: AWS::Lambda::Function\n    Properties:\n      FunctionName: !Sub '${AWS::StackName}-function'\n      Runtime: python3.12\n      Handler: index.handler\n      Role: !GetAtt LambdaRole.Arn\n      Code:\n        ZipFile: |\n          def handler(event, context):\n              return {'statusCode': 200, 'body': 'Hello'}\n      Environment:\n        Variables:\n          ENVIRONMENT: !Ref Environment\n\n  LambdaRole:\n    Type: AWS::IAM::Role\n    Properties:\n      AssumeRolePolicyDocument:\n        Version: '2012-10-17'\n        Statement:\n          - Effect: Allow\n            Principal:\n              Service: lambda.amazonaws.com\n            Action: sts:AssumeRole\n      ManagedPolicyArns:\n        - arn:aws:iam::aws:policy\u002Fservice-role\u002FAWSLambdaBasicExecutionRole\n```\n\n### VPC with Subnets\n\n```yaml\nResources:\n  VPC:\n    Type: AWS::EC2::VPC\n    Properties:\n      CidrBlock: 10.0.0.0\u002F16\n      EnableDnsHostnames: true\n      Tags:\n        - Key: Name\n          Value: !Sub '${AWS::StackName}-vpc'\n\n  PublicSubnet1:\n    Type: AWS::EC2::Subnet\n    Properties:\n      VpcId: !Ref VPC\n      AvailabilityZone: !Select [0, !GetAZs '']\n      CidrBlock: 10.0.1.0\u002F24\n      MapPublicIpOnLaunch: true\n\n  PrivateSubnet1:\n    Type: AWS::EC2::Subnet\n    Properties:\n      VpcId: !Ref VPC\n      AvailabilityZone: !Select [0, !GetAZs '']\n      CidrBlock: 10.0.10.0\u002F24\n\n  InternetGateway:\n    Type: AWS::EC2::InternetGateway\n\n  AttachGateway:\n    Type: AWS::EC2::VPCGatewayAttachment\n    Properties:\n      VpcId: !Ref VPC\n      InternetGatewayId: !Ref InternetGateway\n\n  PublicRouteTable:\n    Type: AWS::EC2::RouteTable\n    Properties:\n      VpcId: !Ref VPC\n\n  PublicRoute:\n    Type: AWS::EC2::Route\n    DependsOn: AttachGateway\n    Properties:\n      RouteTableId: !Ref PublicRouteTable\n      DestinationCidrBlock: 0.0.0.0\u002F0\n      GatewayId: !Ref InternetGateway\n\n  PublicSubnet1RouteTableAssociation:\n    Type: AWS::EC2::SubnetRouteTableAssociation\n    Properties:\n      SubnetId: !Ref PublicSubnet1\n      RouteTableId: !Ref PublicRouteTable\n```\n\n### DynamoDB Table\n\n```yaml\nResources:\n  OrdersTable:\n    Type: AWS::DynamoDB::Table\n    Properties:\n      TableName: !Sub '${AWS::StackName}-orders'\n      AttributeDefinitions:\n        - AttributeName: PK\n          AttributeType: S\n        - AttributeName: SK\n          AttributeType: S\n        - AttributeName: GSI1PK\n          AttributeType: S\n        - AttributeName: GSI1SK\n          AttributeType: S\n      KeySchema:\n        - AttributeName: PK\n          KeyType: HASH\n        - AttributeName: SK\n          KeyType: RANGE\n      GlobalSecondaryIndexes:\n        - IndexName: GSI1\n          KeySchema:\n            - AttributeName: GSI1PK\n              KeyType: HASH\n            - AttributeName: GSI1SK\n              KeyType: RANGE\n          Projection:\n            ProjectionType: ALL\n      BillingMode: PAY_PER_REQUEST\n      PointInTimeRecoverySpecification:\n        PointInTimeRecoveryEnabled: true\n```\n\n## CLI Reference\n\n### Stack Operations\n\n| Command | Description |\n|---------|-------------|\n| `aws cloudformation create-stack` | Create stack |\n| `aws cloudformation update-stack` | Update stack |\n| `aws cloudformation delete-stack` | Delete stack |\n| `aws cloudformation describe-stacks` | Get stack info |\n| `aws cloudformation list-stacks` | List stacks |\n| `aws cloudformation describe-stack-events` | Get events |\n| `aws cloudformation describe-stack-resources` | Get resources |\n\n### Change Sets\n\n| Command | Description |\n|---------|-------------|\n| `aws cloudformation create-change-set` | Create change set |\n| `aws cloudformation describe-change-set` | View changes |\n| `aws cloudformation execute-change-set` | Apply changes |\n| `aws cloudformation delete-change-set` | Delete change set |\n\n### Template\n\n| Command | Description |\n|---------|-------------|\n| `aws cloudformation validate-template` | Validate template |\n| `aws cloudformation get-template` | Get stack template |\n| `aws cloudformation get-template-summary` | Get template info |\n\n## Best Practices\n\n### Template Design\n\n- **Use parameters** for environment-specific values\n- **Use mappings** for static lookup tables\n- **Use conditions** for optional resources\n- **Export outputs** for cross-stack references\n- **Add descriptions** to parameters and outputs\n\n### Security\n\n- **Use IAM roles** instead of access keys\n- **Enable termination protection** for production\n- **Use stack policies** to protect resources\n- **Never hardcode secrets** — use Secrets Manager\n\n```bash\n# Enable termination protection\naws cloudformation update-termination-protection \\\n  --stack-name my-stack \\\n  --enable-termination-protection\n```\n\n### Organization\n\n- **Use nested stacks** for complex infrastructure\n- **Create reusable modules**\n- **Version control templates**\n- **Use consistent naming conventions**\n\n### Reliability\n\n- **Use DependsOn** for explicit dependencies\n- **Configure creation policies** for instances\n- **Use update policies** for Auto Scaling groups\n- **Implement rollback triggers**\n\n## Troubleshooting\n\n### Stack Creation Failed\n\n```bash\n# Get failure reason\naws cloudformation describe-stack-events \\\n  --stack-name my-stack \\\n  --query 'StackEvents[?ResourceStatus==`CREATE_FAILED`]'\n\n# Common causes:\n# - IAM permissions\n# - Resource limits\n# - Invalid property values\n# - Dependency failures\n```\n\n### Stack Stuck in DELETE_FAILED\n\n```bash\n# Identify resources that couldn't be deleted\naws cloudformation describe-stack-resources \\\n  --stack-name my-stack \\\n  --query 'StackResources[?ResourceStatus==`DELETE_FAILED`]'\n\n# Retry with resources to skip\naws cloudformation delete-stack \\\n  --stack-name my-stack \\\n  --retain-resources ResourceLogicalId1 ResourceLogicalId2\n```\n\n### Drift Detection\n\n```bash\n# Detect drift\naws cloudformation detect-stack-drift --stack-name my-stack\n\n# Check drift status\naws cloudformation describe-stack-drift-detection-status \\\n  --stack-drift-detection-id abc123\n\n# View drifted resources\naws cloudformation describe-stack-resource-drifts \\\n  --stack-name my-stack\n```\n\n### Rollback Failed\n\n```bash\n# Continue update rollback\naws cloudformation continue-update-rollback \\\n  --stack-name my-stack \\\n  --resources-to-skip ResourceLogicalId1\n```\n\n## References\n\n- [CloudFormation User Guide](https:\u002F\u002Fdocs.aws.amazon.com\u002FAWSCloudFormation\u002Flatest\u002FUserGuide\u002F)\n- [CloudFormation API Reference](https:\u002F\u002Fdocs.aws.amazon.com\u002FAWSCloudFormation\u002Flatest\u002FAPIReference\u002F)\n- [CloudFormation CLI Reference](https:\u002F\u002Fdocs.aws.amazon.com\u002Fcli\u002Flatest\u002Freference\u002Fcloudformation\u002F)\n- [Resource and Property Reference](https:\u002F\u002Fdocs.aws.amazon.com\u002FAWSCloudFormation\u002Flatest\u002FUserGuide\u002Faws-template-resource-type-ref.html)\n\n",{"name":5,"doc_source":43,"description":7,"last_updated":44},"https:\u002F\u002Fdocs.aws.amazon.com\u002FAWSCloudFormation\u002Flatest\u002FUserGuide\u002F","2026-01-07","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fitsmostafa\u002Faws-agent-skills\u002Fcloudformation",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill cloudformation",{"tool":60,"command":61},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill cloudformation",{"tool":63,"command":64},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill cloudformation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fitsmostafa\u002Faws-agent-skills\u002Fcloudformation\u002FSKILL.md",true,[],[69,83,93,102,108,115],{"skillNo":70,"name":71,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":79,"publishedAt":38},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[74],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[80,81,82],"model","model hierarchy","model hierarchy skill",{"skillNo":84,"name":85,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":89,"publishedAt":38},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[88],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[90,91,92],"MCP","zoom","zoom mcp",{"skillNo":94,"name":95,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":38},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[99,100,101,91],"sdk","zoom apps sdk","apps",{"skillNo":103,"name":104,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":38},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[104],{"skillNo":109,"name":110,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":114,"publishedAt":38},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[113],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[110],{"skillNo":116,"name":117,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":38},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[117]]