{
  "schemaVersion": "1.0",
  "item": {
    "slug": "senior-devops",
    "name": "Senior Devops",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/alirezarezvani/senior-devops",
    "canonicalUrl": "https://clawhub.ai/alirezarezvani/senior-devops",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/senior-devops",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=senior-devops",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/cicd_pipeline_guide.md",
      "references/deployment_strategies.md",
      "references/infrastructure_as_code.md",
      "scripts/deployment_manager.py",
      "scripts/pipeline_generator.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/senior-devops"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/senior-devops",
    "agentPageUrl": "https://openagent3.xyz/skills/senior-devops/agent",
    "manifestUrl": "https://openagent3.xyz/skills/senior-devops/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/senior-devops/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Senior Devops",
        "body": "Complete toolkit for senior devops with modern tools and best practices."
      },
      {
        "title": "Main Capabilities",
        "body": "This skill provides three core capabilities through automated scripts:\n\n# Script 1: Pipeline Generator — scaffolds CI/CD pipelines for GitHub Actions or CircleCI\npython scripts/pipeline_generator.py ./app --platform=github --stages=build,test,deploy\n\n# Script 2: Terraform Scaffolder — generates and validates IaC modules for AWS/GCP/Azure\npython scripts/terraform_scaffolder.py ./infra --provider=aws --module=ecs-service --verbose\n\n# Script 3: Deployment Manager — orchestrates container deployments with rollback support\npython scripts/deployment_manager.py deploy --env=production --image=app:1.2.3 --strategy=blue-green"
      },
      {
        "title": "1. Pipeline Generator",
        "body": "Scaffolds CI/CD pipeline configurations for GitHub Actions or CircleCI, with stages for build, test, security scan, and deploy.\n\nExample — GitHub Actions workflow:\n\n# .github/workflows/ci.yml\nname: CI/CD 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/checkout@v4\n      - name: Set up Node.js\n        uses: actions/setup-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/codecov-action@v4\n\n  build-docker:\n    needs: build-and-test\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - name: Build and push image\n        uses: docker/build-push-action@v5\n        with:\n          push: ${{ github.ref == 'refs/heads/main' }}\n          tags: ghcr.io/${{ github.repository }}:${{ github.sha }}\n\n  deploy:\n    needs: build-docker\n    if: github.ref == 'refs/heads/main'\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\nUsage:\n\npython scripts/pipeline_generator.py <project-path> --platform=github|circleci --stages=build,test,deploy"
      },
      {
        "title": "2. Terraform Scaffolder",
        "body": "Generates, validates, and plans Terraform modules. Enforces consistent module structure and runs terraform validate + terraform plan before any apply.\n\nExample — AWS ECS service module:\n\n# modules/ecs-service/main.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         = \"/ecs/${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\nUsage:\n\npython scripts/terraform_scaffolder.py <target-path> --provider=aws|gcp|azure --module=ecs-service|gke-deployment|aks-service [--verbose]"
      },
      {
        "title": "3. Deployment Manager",
        "body": "Orchestrates deployments with blue/green or rolling strategies, health-check gates, and automatic rollback on failure.\n\nExample — Kubernetes blue/green deployment (blue-slot specific elements):\n\n# k8s/deployment-blue.yaml\napiVersion: apps/v1\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/org/app:1.2.3\n          readinessProbe:       # gate: pod must pass before traffic switches\n            httpGet:\n              path: /healthz\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\nUsage:\n\npython scripts/deployment_manager.py deploy \\\n  --env=staging|production \\\n  --image=app:1.2.3 \\\n  --strategy=blue-green|rolling \\\n  --health-check-url=https://app.example.com/healthz\n\npython scripts/deployment_manager.py rollback --env=production --to-version=1.2.2\npython scripts/deployment_manager.py --analyze --env=production   # audit current state"
      },
      {
        "title": "Resources",
        "body": "Pattern Reference: references/cicd_pipeline_guide.md — detailed CI/CD patterns, best practices, anti-patterns\nWorkflow Guide: references/infrastructure_as_code.md — IaC step-by-step processes, optimization, troubleshooting\nTechnical Guide: references/deployment_strategies.md — deployment strategy configs, security considerations, scalability\nTool Scripts: scripts/ directory"
      },
      {
        "title": "1. Infrastructure Changes (Terraform)",
        "body": "# Scaffold or update module\npython scripts/terraform_scaffolder.py ./infra --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}'"
      },
      {
        "title": "2. Application Deployment",
        "body": "# Generate or update pipeline config\npython scripts/pipeline_generator.py . --platform=github --stages=build,test,security,deploy\n\n# Build and tag image\ndocker build -t ghcr.io/org/app:$(git rev-parse --short HEAD) .\ndocker push ghcr.io/org/app:$(git rev-parse --short HEAD)\n\n# Deploy with health-check gate\npython scripts/deployment_manager.py deploy \\\n  --env=production \\\n  --image=app:$(git rev-parse --short HEAD) \\\n  --strategy=blue-green \\\n  --health-check-url=https://app.example.com/healthz\n\n# Verify pods are running\nkubectl get pods -n production -l app=myapp\nkubectl rollout status deployment/app-blue -n production\n\n# Switch traffic after verification\nkubectl patch service app-svc -n production \\\n  -p '{\"spec\":{\"selector\":{\"slot\":\"blue\"}}}'"
      },
      {
        "title": "3. Rollback Procedure",
        "body": "# Immediate rollback via deployment manager\npython scripts/deployment_manager.py rollback --env=production --to-version=1.2.2\n\n# Or via kubectl\nkubectl rollout undo deployment/app -n production\nkubectl rollout status deployment/app -n production\n\n# Verify rollback succeeded\nkubectl get pods -n production -l app=myapp\ncurl -sf https://app.example.com/healthz || echo \"ROLLBACK FAILED — escalate\""
      },
      {
        "title": "Troubleshooting",
        "body": "Check the comprehensive troubleshooting section in references/deployment_strategies.md."
      }
    ],
    "body": "Senior Devops\n\nComplete toolkit for senior devops with modern tools and best practices.\n\nQuick Start\nMain Capabilities\n\nThis skill provides three core capabilities through automated scripts:\n\n# Script 1: Pipeline Generator — scaffolds CI/CD pipelines for GitHub Actions or CircleCI\npython scripts/pipeline_generator.py ./app --platform=github --stages=build,test,deploy\n\n# Script 2: Terraform Scaffolder — generates and validates IaC modules for AWS/GCP/Azure\npython scripts/terraform_scaffolder.py ./infra --provider=aws --module=ecs-service --verbose\n\n# Script 3: Deployment Manager — orchestrates container deployments with rollback support\npython scripts/deployment_manager.py deploy --env=production --image=app:1.2.3 --strategy=blue-green\n\nCore Capabilities\n1. Pipeline Generator\n\nScaffolds CI/CD pipeline configurations for GitHub Actions or CircleCI, with stages for build, test, security scan, and deploy.\n\nExample — GitHub Actions workflow:\n\n# .github/workflows/ci.yml\nname: CI/CD 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/checkout@v4\n      - name: Set up Node.js\n        uses: actions/setup-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/codecov-action@v4\n\n  build-docker:\n    needs: build-and-test\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - name: Build and push image\n        uses: docker/build-push-action@v5\n        with:\n          push: ${{ github.ref == 'refs/heads/main' }}\n          tags: ghcr.io/${{ github.repository }}:${{ github.sha }}\n\n  deploy:\n    needs: build-docker\n    if: github.ref == 'refs/heads/main'\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\nUsage:\n\npython scripts/pipeline_generator.py <project-path> --platform=github|circleci --stages=build,test,deploy\n\n2. Terraform Scaffolder\n\nGenerates, validates, and plans Terraform modules. Enforces consistent module structure and runs terraform validate + terraform plan before any apply.\n\nExample — AWS ECS service module:\n\n# modules/ecs-service/main.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         = \"/ecs/${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\nUsage:\n\npython scripts/terraform_scaffolder.py <target-path> --provider=aws|gcp|azure --module=ecs-service|gke-deployment|aks-service [--verbose]\n\n3. Deployment Manager\n\nOrchestrates deployments with blue/green or rolling strategies, health-check gates, and automatic rollback on failure.\n\nExample — Kubernetes blue/green deployment (blue-slot specific elements):\n\n# k8s/deployment-blue.yaml\napiVersion: apps/v1\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/org/app:1.2.3\n          readinessProbe:       # gate: pod must pass before traffic switches\n            httpGet:\n              path: /healthz\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\nUsage:\n\npython scripts/deployment_manager.py deploy \\\n  --env=staging|production \\\n  --image=app:1.2.3 \\\n  --strategy=blue-green|rolling \\\n  --health-check-url=https://app.example.com/healthz\n\npython scripts/deployment_manager.py rollback --env=production --to-version=1.2.2\npython scripts/deployment_manager.py --analyze --env=production   # audit current state\n\nResources\nPattern Reference: references/cicd_pipeline_guide.md — detailed CI/CD patterns, best practices, anti-patterns\nWorkflow Guide: references/infrastructure_as_code.md — IaC step-by-step processes, optimization, troubleshooting\nTechnical Guide: references/deployment_strategies.md — deployment strategy configs, security considerations, scalability\nTool Scripts: scripts/ directory\nDevelopment Workflow\n1. Infrastructure Changes (Terraform)\n# Scaffold or update module\npython scripts/terraform_scaffolder.py ./infra --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\n2. Application Deployment\n# Generate or update pipeline config\npython scripts/pipeline_generator.py . --platform=github --stages=build,test,security,deploy\n\n# Build and tag image\ndocker build -t ghcr.io/org/app:$(git rev-parse --short HEAD) .\ndocker push ghcr.io/org/app:$(git rev-parse --short HEAD)\n\n# Deploy with health-check gate\npython scripts/deployment_manager.py deploy \\\n  --env=production \\\n  --image=app:$(git rev-parse --short HEAD) \\\n  --strategy=blue-green \\\n  --health-check-url=https://app.example.com/healthz\n\n# Verify pods are running\nkubectl get pods -n production -l app=myapp\nkubectl rollout status deployment/app-blue -n production\n\n# Switch traffic after verification\nkubectl patch service app-svc -n production \\\n  -p '{\"spec\":{\"selector\":{\"slot\":\"blue\"}}}'\n\n3. Rollback Procedure\n# Immediate rollback via deployment manager\npython scripts/deployment_manager.py rollback --env=production --to-version=1.2.2\n\n# Or via kubectl\nkubectl rollout undo deployment/app -n production\nkubectl rollout status deployment/app -n production\n\n# Verify rollback succeeded\nkubectl get pods -n production -l app=myapp\ncurl -sf https://app.example.com/healthz || echo \"ROLLBACK FAILED — escalate\"\n\nTroubleshooting\n\nCheck the comprehensive troubleshooting section in references/deployment_strategies.md."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/alirezarezvani/senior-devops",
    "publisherUrl": "https://clawhub.ai/alirezarezvani/senior-devops",
    "owner": "alirezarezvani",
    "version": "2.1.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/senior-devops",
    "downloadUrl": "https://openagent3.xyz/downloads/senior-devops",
    "agentUrl": "https://openagent3.xyz/skills/senior-devops/agent",
    "manifestUrl": "https://openagent3.xyz/skills/senior-devops/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/senior-devops/agent.md"
  }
}