
Deployment Engineer
Design CI/CD pipelines, pick a deployment strategy, and scaffold GitHub Actions or Kubernetes configs with validation scripts.
Overview
Deployment Engineer is an agent skill most often used in Ship (also Operate infra and monitoring) that designs CI/CD pipelines, deployment strategies, and validation for solo releases.
Install
npx skills add https://github.com/charon-fan/agent-playbook --skill deployment-engineerWhat is this skill?
- Three deployment strategies documented: blue-green, rolling, and canary
- Python helpers generate_deploy.py by environment and validate_deploy.py for pre-flight checks
- Kubernetes Deployment skeleton with 2 replicas and containerPort 8080
- Monitoring checklist: request rate, error rate, latency p50/p95/p99, structured logs, SLO-based alerts
- Natural-language triggers: set up CI/CD, create deployment pipeline, configure GitHub Actions
- 3 documented deployment strategies: blue-green, rolling, canary
- Kubernetes skeleton specifies 2 replicas and containerPort 8080
- Monitoring checklist lists 3 metric classes and structured logging with request IDs
Adoption & trust: 563 installs on skills.sh; 58 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You can build locally but lack a documented pipeline, rollback story, and observability baseline for production deploys.
Who is it for?
Indie SaaS and API builders moving from manual deploys to GitHub Actions or Kubernetes with clear strategy tradeoffs.
Skip if: Teams needing fully managed PaaS one-click deploy with no YAML, or regulated environments requiring vendor-specific compliance templates not in the skill.
When should I use this skill?
Set up CI/CD, create a deployment pipeline, or configure GitHub Actions.
What do I get? / Deliverables
You leave with strategy-aligned pipeline config, optional K8s skeleton, and a monitoring checklist ready to wire in GitHub Actions or your orchestrator.
- CI/CD pipeline configuration guidance
- Environment-specific deploy config via generate_deploy.py
- Kubernetes Deployment starter manifest and monitoring checklist
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Deployment automation is the canonical Ship shelf because it turns built artifacts into repeatable releases. Launch subphase covers pipelines, environments, and go-live mechanics before traffic hits production.
Where it fits
Draft a GitHub Actions workflow and pick rolling versus blue-green before your first paying-user release.
Extend the K8s Deployment skeleton with resources limits and health probes for your API.
Turn the metrics and alert bullets into dashboards and SLO rules after deploy.
How it compares
Skill playbook for pipeline design and checklists, not a running CI SaaS or Terraform module registry.
Common Questions / FAQ
Who is deployment-engineer for?
Solo and indie developers who own release engineering and want agent-guided CI/CD, K8s starters, and monitoring norms.
When should I use deployment-engineer?
In Ship when configuring GitHub Actions or release pipelines; in Operate when adding infra manifests, metrics, logs, and SLO alerts after go-live.
Is deployment-engineer safe to install?
It suggests scripts and cloud configs you run in your environment; review the Security Audits panel on this page and validate generated YAML before applying to production.
SKILL.md
READMESKILL.md - Deployment Engineer
# Deployment Engineer > A Claude Code skill for CI/CD pipelines and deployment automation. ## Installation This skill is part of the [agent-playbook](../../README.md) collection. ## Usage ``` You: Set up CI/CD You: Create deployment pipeline You: Configure GitHub Actions ``` ## Deployment Strategies | Strategy | Description | |----------|-------------| | **Blue-Green** | Zero downtime, instant rollback | | **Rolling** | Gradual replacement | | **Canary** | Test with small traffic first | ## Scripts Generate deployment config: ```bash python scripts/generate_deploy.py <environment> ``` Validate deployment: ```bash python scripts/validate_deploy.py ``` ## Resources - [GitHub Actions Docs](https://docs.github.com/en/actions) - [CI/CD Best Practices](https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment) # Kubernetes Deployment Skeleton ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: app spec: replicas: 2 selector: matchLabels: app: app template: metadata: labels: app: app spec: containers: - name: app image: example/app:latest ports: - containerPort: 8080 ``` # Monitoring Checklist ## Metrics - Request rate - Error rate - Latency (p50/p95/p99) ## Logs - Structured logs with request IDs - Include error context and stack traces ## Alerts - Define SLO-based alerts - Avoid noisy, low-signal alerts # CI/CD Pipeline Patterns ## Recommended Stages - lint - test - build - security - deploy ## Notes - Keep pipelines fast and deterministic - Fail fast on lint and unit tests #!/usr/bin/env python3 # Template generator for deployment plan. from pathlib import Path import argparse import textwrap def write_output(path: Path, content: str, force: bool) -> bool: if path.exists() and not force: print(f"{path} already exists (use --force to overwrite)") return False path.parent.mkdir(parents=True, exist_ok=True) path.write_text(content, encoding="utf-8") return True def main() -> int: parser = argparse.ArgumentParser(description="Generate a deployment plan.") parser.add_argument("--output", default="deploy-plan.md", help="Output file path") parser.add_argument("--name", default="example", help="Service or app name") parser.add_argument("--env", default="production", help="Target environment") parser.add_argument("--owner", default="team", help="Owning team") parser.add_argument("--force", action="store_true", help="Overwrite existing file") args = parser.parse_args() content = textwrap.dedent( f"""\ # Deployment Plan ## Overview - Service: {args.name} - Environment: {args.env} - Owner: {args.owner} ## Preconditions - Release approved - Change window confirmed - Backups verified ## Steps 1. Build and publish artifacts 2. Deploy to staging and run smoke tests 3. Run migrations (if needed) 4. Deploy to {args.env} 5. Verify health checks and dashboards ## Verification - Health endpoint returns 200 - Key metrics within baseline - Error budget stable ## Rollback - Revert to last known good release - Disable feature flags - Communicate rollback status ## Observability - Dashboard links - Alert channels """ ).strip() + "\n" output = Path(args.output) if not write_output(output, content, args.force): return 1 print(f"Wrote {output}") return 0 if __name__ == "__main__": raise SystemExit(main()) #!/usr/bin/env python3 # Template validator for deployment plan. from pathlib import Path import argparse DEFAULT_REQUIRED = [ "## Overview", "## Preconditions", "## Steps", "## Verification", "## Rollback", "## Observability", ] def