AGENT SKILL

generating-infrastructure-as-code

Use when generating infrastructure as code configurations. Trigger with phrases like "create Terraform config", "generate CloudFormation template", "write Pulumi code", or "IaC for AWS/GCP/Azure". Produces production-ready code for Terraform, CloudFormation, Pulumi, ARM templates, and CDK across multiple cloud providers.

适用职业开发工程师
使用场景运维与部署
License 许可
MIT
最近更新
2025-12-18
Stars
★ 29
Forks
9

01 前言 Front Matter

name
generating-infrastructure-as-code
license
MIT
version
1.0.0
description
Use when generating infrastructure as code configurations. Trigger with phrases like "create Terraform config", "generate CloudFormation template", "write Pulumi code", or "IaC for AWS/GCP/Azure". Produces production-ready code for Terraform, CloudFormation, Pulumi, ARM templates, and CDK across multiple cloud providers.
allowed-tools
[ "Read", "Write", "Edit", "Grep", "Glob", "Bash(terraform:*)", "Bash(aws:*)", "Bash(gcloud:*)", "Bash(az:*)" ]

02 资源文件 5

03 SKILL.md 正文

Prerequisites

Before using this skill, ensure:

  • Target cloud provider CLI is installed (aws-cli, gcloud, az)
  • IaC tool is installed (Terraform, Pulumi, AWS CDK)
  • Cloud credentials are configured locally
  • Understanding of target infrastructure architecture
  • Version control system for IaC storage

Instructions

  1. Identify Platform: Determine IaC tool (Terraform, CloudFormation, Pulumi, ARM, CDK)
  2. Define Resources: Specify cloud resources needed (compute, network, storage, database)
  3. Establish Structure: Create modular file structure for maintainability
  4. Generate Code: Write IaC configurations with proper syntax and formatting
  5. Add Variables: Define input variables for environment-specific values
  6. Configure Outputs: Specify outputs for resource references and integrations
  7. Implement State: Set up remote state storage for team collaboration
  8. Document Usage: Add README with deployment instructions and prerequisites

Output

Generates infrastructure as code files:

Terraform Example:

# {baseDir}/terraform/main.tf
terraform {
  required_version = ">= 1.0"
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

resource "aws_vpc" "main" {
  cidr_block = var.vpc_cidr
  enable_dns_hostnames = true

  tags = {
    Name = "${var.project}-vpc"
    Environment = var.environment
  }
}

CloudFormation Example:

# {baseDir}/cloudformation/template.yaml
AWSTemplateFormatVersion: '2010-09-09'
Description: Production VPC infrastructure

Parameters:
  VpcCidr:
    Type: String
    Default: 10.0.0.0/16

Resources:
  VPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: !Ref VpcCidr
      EnableDnsHostnames: true

Pulumi Example:

// {baseDir}/pulumi/index.ts
import * as aws from "@pulumi/aws";

const vpc = new aws.ec2.Vpc("main", {
    cidrBlock: "10.0.0.0/16",
    enableDnsHostnames: true,
    tags: {
        Name: "production-vpc"
    }
});

export const vpcId = vpc.id;

Error Handling

Common issues and solutions:

Syntax Errors

  • Error: "Invalid resource syntax in configuration"
  • Solution: Validate syntax with terraform validate or respective tool linter

Provider Authentication

  • Error: "Unable to authenticate with cloud provider"
  • Solution: Configure credentials via environment variables or CLI login

Resource Conflicts

  • Error: "Resource already exists"
  • Solution: Import existing resources or use data sources instead of creating new ones

State Lock Issues

  • Error: "Error acquiring state lock"
  • Solution: Ensure no other process is running, or force unlock if safe

Dependency Errors

  • Error: "Resource depends on resource that does not exist"
  • Solution: Check resource references and ensure proper dependency ordering

Resources

04 同仓库更多 Skills

BbgnsurfTech
BbgnsurfTech/claude-skills-collection

testing-visual-regression

Detect visual changes in UI components using screenshot comparison. Use when detecting unintended UI changes or pixel differences. Trigger with phrases like "test visual changes", "compare screenshots", or "detect UI regressions".

测试与质量
★ 29
BbgnsurfTech
BbgnsurfTech/claude-skills-collection

generating-unit-tests

Automatically generate comprehensive unit tests from source code covering happy paths, edge cases, and error conditions. Use when creating test coverage for functions, classes, or modules. Trigger with phrases like "generate unit tests", "create tests for", or "add test coverage".

测试与质量
★ 29
BbgnsurfTech
BbgnsurfTech/claude-skills-collection

generating-test-reports

Generate comprehensive test reports with metrics, coverage, and visualizations. Use when performing specialized testing. Trigger with phrases like "generate test report", "create test documentation", or "show test metrics".

行政与办公人员测试与质量
★ 29
BbgnsurfTech
BbgnsurfTech/claude-skills-collection

orchestrating-test-execution

Coordinate parallel test execution across multiple environments and frameworks. Use when performing specialized testing. Trigger with phrases like "orchestrate tests", "run parallel tests", or "coordinate test execution".

测试与质量
★ 29
BbgnsurfTech
BbgnsurfTech/claude-skills-collection

managing-test-environments

Provision and manage isolated test environments with configuration and data. Use when performing specialized testing. Trigger with phrases like "manage test environment", "provision test env", or "setup test infrastructure".

测试与质量
★ 29
BbgnsurfTech
BbgnsurfTech/claude-skills-collection

generating-test-doubles

Generate mocks, stubs, spies, and fakes for dependency isolation. Use when creating mocks, stubs, or test isolation fixtures. Trigger with phrases like "generate mocks", "create test doubles", or "setup stubs".

测试与质量
★ 29