[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-82c9cc2a-e37f-41fc-861e-905d5ae75679":3,"$fPE-L_NYMGOS361XT2VJWmzQBfFSFIPNoe4XhNQ5jlf8":44},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"82c9cc2a-e37f-41fc-861e-905d5ae75679","senior-devops","全面的DevOps技能，涵盖CI\u002FCD、基础设施自动化、容器化和云平台（AWS、GCP、Azure）。包括管道设置、基础设施即代码、部署自动化和监控。用于设置管道、部署应用程序、管理基础设施、实施监控或优化部署流程时使用。","cat_coding_devops","mod_coding","alirezarezvani,coding","---\nname: \"senior-devops\"\ndescription: Comprehensive DevOps skill for CI\u002FCD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup, infrastructure as code, deployment automation, and monitoring. Use when setting up pipelines, deploying applications, managing infrastructure, implementing monitoring, or optimizing deployment processes.\n---\n\n# Senior Devops\n\nComplete toolkit for senior devops with modern tools and best practices.\n\n## Quick Start\n\n### Main Capabilities\n\nThis skill provides three core capabilities through automated scripts:\n\n```bash\n# Script 1: Pipeline Generator — scaffolds CI\u002FCD pipelines for GitHub Actions or CircleCI\npython scripts\u002Fpipeline_generator.py .\u002Fapp --platform=github --stages=build,test,deploy\n\n# Script 2: Terraform Scaffolder — generates and validates IaC modules for AWS\u002FGCP\u002FAzure\npython scripts\u002Fterraform_scaffolder.py .\u002Finfra --provider=aws --module=ecs-service --verbose\n\n# Script 3: Deployment Manager — orchestrates container deployments with rollback support\npython3 scripts\u002Fdeployment_manager.py .\u002Fdeploy --verbose --json\n```\n\n## Core Capabilities\n\n### 1. Pipeline Generator\n\nScaffolds CI\u002FCD pipeline configurations for GitHub Actions or CircleCI, with stages for build, test, security scan, and deploy.\n\n**Example — GitHub Actions workflow:**\n```yaml\n# .github\u002Fworkflows\u002Fci.yml\nname: CI\u002FCD Pipeline\non:\n  push:\n    branches: [main, develop]\n  pull_request:\n    branches: [main]\n\njobs:\n  build-and-test:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v4\n      - name: Set up Node.js\n        uses: actions\u002Fsetup-node@v4\n        with:\n          node-version: '20'\n          cache: 'npm'\n      - run: npm ci\n      - run: npm run lint\n      - run: npm test -- --coverage\n      - name: Upload coverage\n        uses: codecov\u002Fcodecov-action@v4\n\n  build-docker:\n    needs: build-and-test\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v4\n      - name: Build and push image\n        uses: docker\u002Fbuild-push-action@v5\n        with:\n          push: ${{ github.ref == 'refs\u002Fheads\u002Fmain' }}\n          tags: ghcr.io\u002F${{ github.repository }}:${{ github.sha }}\n\n  deploy:\n    needs: build-docker\n    if: github.ref == 'refs\u002Fheads\u002Fmain'\n    runs-on: ubuntu-latest\n    steps:\n      - name: Deploy to ECS\n        run: |\n          aws ecs update-service \\\n            --cluster production \\\n            --service app-service \\\n            --force-new-deployment\n```\n\n**Usage:**\n```bash\npython scripts\u002Fpipeline_generator.py \u003Cproject-path> --platform=github|circleci --stages=build,test,deploy\n```\n\n### 2. Terraform Scaffolder\n\nGenerates, validates, and plans Terraform modules. Enforces consistent module structure and runs `terraform validate` + `terraform plan` before any apply.\n\n**Example — AWS ECS service module:**\n```hcl\n# modules\u002Fecs-service\u002Fmain.tf\nresource \"aws_ecs_task_definition\" \"app\" {\n  family                   = var.service_name\n  requires_compatibilities = [\"FARGATE\"]\n  network_mode             = \"awsvpc\"\n  cpu                      = var.cpu\n  memory                   = var.memory\n\n  container_definitions = jsonencode([{\n    name      = var.service_name\n    image     = var.container_image\n    essential = true\n    portMappings = [{\n      containerPort = var.container_port\n      protocol      = \"tcp\"\n    }]\n    environment = [for k, v in var.env_vars : { name = k, value = v }]\n    logConfiguration = {\n      logDriver = \"awslogs\"\n      options = {\n        awslogs-group         = \"\u002Fecs\u002F${var.service_name}\"\n        awslogs-region        = var.aws_region\n        awslogs-stream-prefix = \"ecs\"\n      }\n    }\n  }])\n}\n\nresource \"aws_ecs_service\" \"app\" {\n  name            = var.service_name\n  cluster         = var.cluster_id\n  task_definition = aws_ecs_task_definition.app.arn\n  desired_count   = var.desired_count\n  launch_type     = \"FARGATE\"\n\n  network_configuration {\n    subnets          = var.private_subnet_ids\n    security_groups  = [aws_security_group.app.id]\n    assign_public_ip = false\n  }\n\n  load_balancer {\n    target_group_arn = aws_lb_target_group.app.arn\n    container_name   = var.service_name\n    container_port   = var.container_port\n  }\n}\n```\n\n**Usage:**\n```bash\npython scripts\u002Fterraform_scaffolder.py \u003Ctarget-path> --provider=aws|gcp|azure --module=ecs-service|gke-deployment|aks-service [--verbose]\n```\n\n### 3. Deployment Manager\n\nOrchestrates deployments with blue\u002Fgreen or rolling strategies, health-check gates, and automatic rollback on failure.\n\n**Example — Kubernetes blue\u002Fgreen deployment (blue-slot specific elements):**\n```yaml\n# k8s\u002Fdeployment-blue.yaml\napiVersion: apps\u002Fv1\nkind: Deployment\nmetadata:\n  name: app-blue\n  labels:\n    app: myapp\n    slot: blue      # slot label distinguishes blue from green\nspec:\n  replicas: 3\n  selector:\n    matchLabels:\n      app: myapp\n      slot: blue\n  template:\n    metadata:\n      labels:\n        app: myapp\n        slot: blue\n    spec:\n      containers:\n        - name: app\n          image: ghcr.io\u002Forg\u002Fapp:1.2.3\n          readinessProbe:       # gate: pod must pass before traffic switches\n            httpGet:\n              path: \u002Fhealthz\n              port: 8080\n            initialDelaySeconds: 10\n            periodSeconds: 5\n          resources:\n            requests:\n              cpu: \"250m\"\n              memory: \"256Mi\"\n            limits:\n              cpu: \"500m\"\n              memory: \"512Mi\"\n```\n\n**Usage:**\n```bash\npython scripts\u002Fdeployment_manager.py deploy \\\n  --env=staging|production \\\n  --image=app:1.2.3 \\\n  --strategy=blue-green|rolling \\\n  --health-check-url=https:\u002F\u002Fapp.example.com\u002Fhealthz\n\npython scripts\u002Fdeployment_manager.py rollback --env=production --to-version=1.2.2\npython scripts\u002Fdeployment_manager.py --analyze --env=production   # audit current state\n```\n\n## Resources\n\n- Pattern Reference: `references\u002Fcicd_pipeline_guide.md` — detailed CI\u002FCD patterns, best practices, anti-patterns\n- Workflow Guide: `references\u002Finfrastructure_as_code.md` — IaC step-by-step processes, optimization, troubleshooting\n- Technical Guide: `references\u002Fdeployment_strategies.md` — deployment strategy configs, security considerations, scalability\n- Tool Scripts: `scripts\u002F` directory\n\n## Development Workflow\n\n### 1. Infrastructure Changes (Terraform)\n\n```bash\n# Scaffold or update module\npython scripts\u002Fterraform_scaffolder.py .\u002Finfra --provider=aws --module=ecs-service --verbose\n\n# Validate and plan — review diff before applying\nterraform -chdir=infra init\nterraform -chdir=infra validate\nterraform -chdir=infra plan -out=tfplan\n\n# Apply only after plan review\nterraform -chdir=infra apply tfplan\n\n# Verify resources are healthy\naws ecs describe-services --cluster production --services app-service \\\n  --query 'services[0].{Status:status,Running:runningCount,Desired:desiredCount}'\n```\n\n### 2. Application Deployment\n\n```bash\n# Generate or update pipeline config\npython scripts\u002Fpipeline_generator.py . --platform=github --stages=build,test,security,deploy\n\n# Build and tag image\ndocker build -t ghcr.io\u002Forg\u002Fapp:$(git rev-parse --short HEAD) .\ndocker push ghcr.io\u002Forg\u002Fapp:$(git rev-parse --short HEAD)\n\n# Deploy with health-check gate\npython scripts\u002Fdeployment_manager.py deploy \\\n  --env=production \\\n  --image=app:$(git rev-parse --short HEAD) \\\n  --strategy=blue-green \\\n  --health-check-url=https:\u002F\u002Fapp.example.com\u002Fhealthz\n\n# Verify pods are running\nkubectl get pods -n production -l app=myapp\nkubectl rollout status deployment\u002Fapp-blue -n production\n\n# Switch traffic after verification\nkubectl patch service app-svc -n production \\\n  -p '{\"spec\":{\"selector\":{\"slot\":\"blue\"}}}'\n```\n\n### 3. Rollback Procedure\n\n```bash\n# Immediate rollback via deployment manager\npython scripts\u002Fdeployment_manager.py rollback --env=production --to-version=1.2.2\n\n# Or via kubectl\nkubectl rollout undo deployment\u002Fapp -n production\nkubectl rollout status deployment\u002Fapp -n production\n\n# Verify rollback succeeded\nkubectl get pods -n production -l app=myapp\ncurl -sf https:\u002F\u002Fapp.example.com\u002Fhealthz || echo \"ROLLBACK FAILED — escalate\"\n```\n\n## Multi-Cloud Cross-References\n\nUse these companion skills for cloud-specific deep dives:\n\n| Skill | Cloud | Use When |\n|-------|-------|----------|\n| **aws-solution-architect** | AWS | ECS\u002FEKS, Lambda, VPC design, cost optimization |\n| **azure-cloud-architect** | Azure | AKS, App Service, Virtual Networks, Azure DevOps |\n| **gcp-cloud-architect** | GCP | GKE, Cloud Run, VPC, Cloud Build *(coming soon)* |\n\n**Multi-cloud vs single-cloud decision:**\n- **Single-cloud** (default) — lower operational complexity, deeper managed-service integration, better cost leverage with committed-use discounts\n- **Multi-cloud** — required when mandated by compliance\u002Fdata residency, acquiring companies on different clouds, or needing best-of-breed services across providers (e.g., AWS for compute + GCP for ML)\n- **Hybrid** — on-prem + cloud; use when regulated workloads must stay on-prem while burst\u002Fnon-sensitive workloads run in the cloud\n\n> Start single-cloud. Add a second cloud only when there is a concrete business or compliance driver — not for theoretical redundancy.\n\n---\n\n## Cloud-Agnostic IaC\n\n### Terraform \u002F OpenTofu (Default Choice)\n\nTerraform (or its open-source fork OpenTofu) is the recommended IaC tool for most teams:\n- Single language (HCL) across AWS, Azure, GCP, and 3,000+ providers\n- State management with remote backends (S3, GCS, Azure Blob)\n- Plan-before-apply workflow prevents drift surprises\n- Cross-reference **terraform-patterns** for module structure, state isolation, and CI\u002FCD integration\n\n### Pulumi (Programming Language IaC)\n\nChoose Pulumi when the team strongly prefers TypeScript, Python, Go, or C# over HCL:\n- Full programming language — loops, conditionals, unit tests native\n- Same cloud provider coverage as Terraform\n- Easier onboarding for dev teams that resist learning HCL\n\n### When to Use Cloud-Native IaC\n\n| Tool | Use When |\n|------|----------|\n| **CloudFormation** | AWS-only shop; need native AWS support (StackSets, Service Catalog) |\n| **Bicep** | Azure-only shop; simpler syntax than ARM templates |\n| **Cloud Deployment Manager** | GCP-only; rare — most GCP teams prefer Terraform |\n\n> **Rule of thumb:** Use Terraform\u002FOpenTofu unless you are 100% committed to a single cloud AND the cloud-native tool offers a feature Terraform cannot replicate (e.g., AWS Service Catalog integration).\n\n---\n\n## Troubleshooting\n\nCheck the comprehensive troubleshooting section in `references\u002Fdeployment_strategies.md`.\n","","imported","https:\u002F\u002Fgithub.com\u002Falirezarezvani\u002Fclaude-skills","user_system_seed","SkillOPIC",true,136,1679,"2026-05-16 13:57:27",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"编程开发","coding","mdi-code-braces","代码生成、调试、审查，提升开发效率",2,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"DevOps","devops","mdi-cog-outline","CI\u002FCD、容器化、部署运维",3,162,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":43},"52b14db6-c0a2-4370-9efc-673d22aeebf2","1.0.0","senior-devops.zip",10345,"uploads\u002Fskills\u002F82c9cc2a-e37f-41fc-861e-905d5ae75679\u002Fsenior-devops.zip","09b7d6c9b5920a5f625541d15be66cdf9d2d44fa21671a850fa18abb405972d1","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":10547},{\"path\":\"references\u002Fcicd_pipeline_guide.md\",\"isDirectory\":false,\"size\":1610},{\"path\":\"references\u002Fdeployment_strategies.md\",\"isDirectory\":false,\"size\":1612},{\"path\":\"references\u002Finfrastructure_as_code.md\",\"isDirectory\":false,\"size\":1613},{\"path\":\"scripts\u002Fdeployment_manager.py\",\"isDirectory\":false,\"size\":3138},{\"path\":\"scripts\u002Fpipeline_generator.py\",\"isDirectory\":false,\"size\":3138},{\"path\":\"scripts\u002Fterraform_scaffolder.py\",\"isDirectory\":false,\"size\":3148}]","2026-05-16 13:57:28",{"code":45,"message":46,"data":47},200,"success",{"items":48,"stats":49,"page":52},[],{"averageRating":50,"totalRatings":50,"ratingCounts":51},0,[50,50,50,50,50],{"limit":53,"offset":50,"hasMore":54,"nextOffset":53,"ratedOnly":16},15,false]