Write a production deployment plan covering environment specs, deployment strategy (Blue-Green, Canary, Rolling, or Direct), step-by-step execution runsheet, go/no-go criteria, monitoring plan, and rollback procedure. Use before any non-trivial production release.
Produce a deployment plan that specifies exactly how, when, and by whom a release is deployed, what criteria determine success or failure, and what steps to take if something goes wrong.
A deployment without a rollback plan is a deployment without a safety net. This skill ensures every production change is made with eyes open and a clear path back.
Input
Works best with: The name of the service being deployed and a description of what is changing.
Also valuable: Current production environment specs, existing deployment pipeline, known risks or dependencies, SLA requirements.
Example invocation:Write a deployment plan for releasing PayFlow v2.4.0 to production. This release includes 3 database migrations (additive only), a new webhook delivery queue worker, and updates to the checkout templates. We use a single production server with PHP-FPM and MySQL. Zero downtime is required.
Key Concepts
Deployment Strategies
Direct Deploy: Replace running code in-place. Simple, but brief downtime risk.
Rolling Deploy: Update instances one at a time. No downtime. If failure occurs, some instances run old code while others run new.
Blue-Green: Maintain two identical environments (Blue = current, Green = new). Switch traffic at load balancer after validation. Zero downtime. Full instant rollback by switching back.
Canary: Deploy to small percentage of traffic first (e.g., 5%). Monitor. Gradually increase if metrics hold.
Feature Flag: Deploy code to all servers but enable via config. Decouple deployment from release.
Strategy Decision Matrix
Choose the deployment strategy based on three factors: risk tolerance, downtime tolerance, and infrastructure capability.
Risk Level
Downtime OK?
Infrastructure
Recommended Strategy
Low
Yes
Single server
Direct Deploy
Low
No
Multiple instances
Rolling Deploy
Medium
No
Load balancer available
Blue-Green
High
No
Load balancer + metrics pipeline
Canary
Any
No
Feature flag system in place
Feature Flag
High
No
Kubernetes / ECS
Canary with pod-level rollback
When risk is high and downtime is unacceptable but infrastructure is limited, invest in the infrastructure before deploying - do not paper over the gap with manual vigilance.
When deploying changes that span multiple services, document the dependency graph and deployment order explicitly:
Deployment ordering: Which service deploys first? Which depends on which? Use a directed acyclic graph (DAG) to visualize.
Backward compatibility window: During a multi-service rollout, both old and new versions of each service must coexist. Document the compatibility contract for each interface change.
Rollback coordination: If service A is rolled back, must services B and C also roll back? Define this before the deployment begins.
Shared schema changes: Database migrations that affect multiple services require a coordinated deployment sequence - typically: migrate schema (backward-compatible) -> deploy consumers -> deploy producers -> remove old columns.
Infrastructure-as-Code (IaC) Changes
When the deployment includes IaC changes (Terraform, Pulumi, CloudFormation, CDK), treat infrastructure changes with the same rigor as application code:
Plan before apply: Always run terraform plan (or equivalent) and review the diff before applying. Document the expected changes in the deployment plan.
Blast radius assessment: Which resources will be created, modified, or destroyed? Destroying and recreating a database is not the same as updating a security group rule.
State management: Ensure remote state is locked during the deployment window. Concurrent applies cause state corruption.
Rollback for IaC: Infrastructure rollbacks are often harder than code rollbacks. If a terraform apply creates a new load balancer, rolling back requires another apply, not just a symlink swap. Document the IaC rollback steps explicitly.
Drift detection: Before deploying, check for configuration drift between the IaC state and actual infrastructure. Drift means the plan may not apply cleanly.
DNS and TLS Certificate Management
DNS and certificate changes have unique timing characteristics that must be planned:
DNS TTL: If changing DNS records, lower TTL to 60-300 seconds at least 24 hours before the deployment. After the change is stable, raise TTL back. Document the TTL reduction step in the pre-deployment checklist.
Certificate provisioning: If deploying to a new domain or subdomain, ensure certificates are provisioned and validated before the deployment window. Automated provisioning (Let's Encrypt) can fail due to DNS propagation delays or rate limits.
Certificate expiry monitoring: Confirm no certificates in the deployment chain expire within 30 days. An expired certificate during a deployment window is a self-inflicted outage.
Multi-domain / SAN certificates: If the service serves multiple domains, verify all SANs are covered.
Canary Deployment Metrics Comparison
For canary deployments, define the metrics comparison methodology before the deployment:
Comparison tool: How will canary metrics be compared to baseline? (Prometheus queries, Datadog monitors, custom dashboard)
Comparison thresholds: What metric deltas trigger automatic rollback vs. manual review vs. automatic promotion?
Error rate: canary must not exceed baseline by more than [X%]
Latency: canary p99 must not exceed baseline p99 by more than [Y ms]
Business metrics: canary success rate must not drop below [Z%]
Promotion criteria: What is the exact decision logic?
Canary at 5% for 15 minutes, all metrics within thresholds -> promote to 25%
Canary at 25% for 30 minutes, all metrics within thresholds -> promote to 100%
Any threshold breach at any stage -> automatic rollback
Promotion authority: Who approves the final promotion from canary to full rollout? Automated, or requires human sign-off?
Deployment Freeze Windows
Define periods when deployments are prohibited or restricted:
Scheduled freeze windows: Holidays, end-of-quarter, major business events, audit periods. Document these in the deployment plan.
Incident-triggered freezes: After a SEV-1 or SEV-2 incident, enforce a deployment freeze for [N hours] while the team stabilizes and recovers.
Freeze exceptions: Who can authorize a deployment during a freeze? What is the approval process?
Freeze communication: How are freeze windows communicated to the team? (Shared calendar, Slack announcement, deployment tool enforcement)
Post-Deployment Verification Automation
Automate post-deployment verification to catch regressions faster than manual smoke tests:
Synthetic monitoring: Run automated user journey tests against production every [N minutes] post-deployment. Tools: Checkly, Datadog Synthetics, custom scripts.
Canary analysis automation: Automatically compare canary vs. baseline metrics and produce a pass/fail verdict.
Deployment health scorecard: A single dashboard that aggregates all post-deployment checks (health endpoint, error rate, latency, queue depth, business metrics) into a pass/fail status.
Automated rollback trigger: If verification automation detects a failure, it should trigger automatic rollback without waiting for human intervention (for deployments where this is safe).
Container/Orchestration Specifics
When deploying to containerized environments (Kubernetes, ECS), additional considerations apply:
Image tagging: Never deploy with the latest tag. Use immutable, version-specific tags (e.g., sha-abc1234 or v2.4.0).
Resource limits: Define CPU and memory requests/limits in the deployment manifest. Deploying without limits risks noisy-neighbor issues or OOM kills.
Readiness and liveness probes: Ensure the new image's health endpoints are compatible with the configured probes. A failed readiness probe means the pod never receives traffic; a failed liveness probe means the pod gets killed repeatedly.
Rolling update strategy: Configure maxSurge and maxUnavailable to control the rollout speed. Too aggressive risks capacity loss; too conservative wastes deployment window time.
Helm chart / Kustomize changes: If the deployment modifies Helm values or Kustomize overlays, treat these as infrastructure changes with the same plan-before-apply discipline.
ECS-specific: For ECS, document the task definition revision, service update configuration (minimum healthy percent, maximum percent), and whether the deployment uses rolling update or blue/green via CodeDeploy.
Go/No-Go Gate
Before deploying to production, verify a defined set of criteria. If any criterion fails, the deployment does not proceed. This is not optional.
DORA Metrics (What Good Looks Like)
Deployment Frequency: Elite teams deploy multiple times per day.
Lead Time for Change: Elite teams go from commit to production in less than 1 hour.
Change Failure Rate: Elite teams have < 5% deployments causing failures.
MTTR: Elite teams recover from failures in less than 1 hour.
Conflict Resolution
When your analysis conflicts with the user's stated preference:
Present both positions — show your analysis and their preference side by side
Explain the trade-off — what are the consequences of each choice?
Recommend with reasoning — state your recommendation and why
Respect the user's decision — they own the final call
Document the decision — record it as an [owner-specified] override with reasoning
Document Length
Target length: 5-10 pages (excluding appendices).
Shorter is better than longer. If the document exceeds the target, check for:
Redundant content that can be cut
Overly verbose explanations
Content that belongs in a separate reference document
Material the agent already knows (don't explain what HTTP is)
If the document is significantly shorter than the target, check for:
Interview Mechanism: Use tool calls (e.g., AskUserQuestion) to present questions — do NOT ask inline in the conversation. The user selects from options rather than typing responses. One question per tool call, multiple-choice options preferred, with "I don't know, you decide" as an escape hatch.
Context Loading: Before asking ANY questions, read ALL prior documents in .engineering-docs/ to extract already-known information. Look for:
If information exists in a prior document, USE IT — do not re-ask.
Maximum 2-3 questions per skill. Only ask about:
Skill-specific details not covered in prior documents
Technical decisions that affect this specific document
Clarifications on ambiguous requirements
Ask questions to resolve:
Current deployment workflow: What tools (GitHub Actions, manual rsync, Ansible) execute the deploy?
Downtime limits: Is any brief service interruption acceptable, or is a zero-downtime strategy (Blue-Green, Canary) mandatory?
Wait for the user's response to these questions before drafting the final deployment plan.
Phase 2: Document Generation
Choose the deployment strategy based on the risk profile and infrastructure.
Document the exact execution runsheet - every command, every verification step.
Define explicit go/no-go criteria with measurable thresholds.
Define the rollback procedure before you start.
Identify the on-call owner who will monitor the deployment.
Phase 3: Revision (After User Review)
If the user requests changes after reviewing the document:
Read the user's feedback carefully — understand what they want changed
Check for conflicts — does the requested change conflict with prior documents (e.g., technical specification, system architecture)?
Apply changes — update the deployment plan
Re-run consistency check — verify the change doesn't break cross-document consistency (e.g., rollback steps still match the architecture's infrastructure)
Update metadata — set last_updated to today's date
Confirm with user — show the changes and get approval
Gotchas
Deploying without a written rollback plan. If you cannot articulate the rollback steps before deploying, you are not ready to deploy. The rollback plan must be written, reviewed, and tested on staging before the deployment window opens.
Running database migrations after application code deployment. If the migration is backward-compatible, run it before the new code deploys so old code still works with the new schema. If it is not backward-compatible, it needs a multi-phase migration strategy - not a single deploy.
Skipping the post-deployment monitoring window. Declaring "deploy complete" and walking away means no one catches the slow-burn failure (memory leak, queue backup, gradual error rate increase). Monitor for at least 30 minutes after smoke tests pass.
Defining go/no-go criteria as subjective gut feelings. "Looks good" is not a go/no-go criterion. Use measurable thresholds: error rate below X%, p99 latency below Y ms, specific smoke test passes. If you cannot measure it, you cannot decide on it.
Forgetting to disable feature flags during rollback. If the deployment enabled feature flags, the rollback must disable them. A code rollback without flag rollback leaves the system in an inconsistent state where old code is running but new behavior is partially enabled.
Handoff
Reads from:
1-business-plan.md — business constraints, uptime requirements
5-technical-specification.md — performance and reliability requirements
18-disaster-recovery.md — infrastructure context for failover planning
19-slo-error-budget.md — deployment impact on reliability targets
Quality Gate
Before marking this document as final, verify:
The rollback procedure is complete with numbered steps, estimated time, and was tested on staging
Every go/no-go criterion is measurable and binary (pass/fail, not "looks okay")
The execution runsheet includes exact commands, not just descriptions of what to do
Monitoring thresholds are defined with specific numeric values and corresponding actions
A deployment lead and on-call backup are both named and confirmed available for the deployment window
If deploying to containers/Kubernetes: image uses an immutable tag, resource limits are defined, and readiness/liveness probes are verified
If canary strategy: promotion criteria are defined with specific metric thresholds and comparison tool
If multi-service: deployment order DAG is documented, backward compatibility window is defined, and coordinated rollback plan exists
If IaC changes: terraform plan output reviewed, blast radius assessed, and IaC-specific rollback steps documented
If DNS/TLS changes: TTL pre-lowered, certificate provisioning verified, and expiry checked
Deployment freeze windows checked and documented (or exception authorized)
Next Steps
After this document is complete, proceed to:
technical-runbook — document operational procedures for monitoring and responding to alerts post-deployment
disaster-recovery-plan — define RTO/RPO targets and failover procedures for the deployed system
slo-error-budget-document — formalize reliability targets and error budget policies
Or invoke using-engineering-docs to continue the pipeline
1---2name: deployment-plan3description: Write a production deployment plan covering environment specs, deployment strategy (Blue-Green, Canary, Rolling, or Direct), step-by-step execution runsheet, go/no-go criteria, monitoring plan, and rollback procedure. Use before any non-trivial production release.4license: MIT5---67## Purpose89Produce a deployment plan that specifies exactly how, when, and by whom a release is deployed, what criteria determine success or failure, and what steps to take if something goes wrong.1011**A deployment without a rollback plan is a deployment without a safety net.** This skill ensures every production change is made with eyes open and a clear path back.1213## Input1415**Works best with:** The name of the service being deployed and a description of what is changing.16**Also valuable:** Current production environment specs, existing deployment pipeline, known risks or dependencies, SLA requirements.1718**Example invocation:** `Write a deployment plan for releasing PayFlow v2.4.0 to production. This release includes 3 database migrations (additive only), a new webhook delivery queue worker, and updates to the checkout templates. We use a single production server with PHP-FPM and MySQL. Zero downtime is required.`1920## Key Concepts2122### Deployment Strategies23- **Direct Deploy:** Replace running code in-place. Simple, but brief downtime risk.24- **Rolling Deploy:** Update instances one at a time. No downtime. If failure occurs, some instances run old code while others run new.25- **Blue-Green:** Maintain two identical environments (Blue = current, Green = new). Switch traffic at load balancer after validation. Zero downtime. Full instant rollback by switching back.26- **Canary:** Deploy to small percentage of traffic first (e.g., 5%). Monitor. Gradually increase if metrics hold.27- **Feature Flag:** Deploy code to all servers but enable via config. Decouple deployment from release.2829### Strategy Decision Matrix3031Choose the deployment strategy based on three factors: risk tolerance, downtime tolerance, and infrastructure capability.3233| Risk Level | Downtime OK? | Infrastructure | Recommended Strategy |34| :--- | :--- | :--- | :--- |35| Low | Yes | Single server | Direct Deploy |36| Low | No | Multiple instances | Rolling Deploy |37| Medium | No | Load balancer available | Blue-Green |38| High | No | Load balancer + metrics pipeline | Canary |39| Any | No | Feature flag system in place | Feature Flag |40| High | No | Kubernetes / ECS | Canary with pod-level rollback |4142When risk is high and downtime is unacceptable but infrastructure is limited, invest in the infrastructure before deploying - do not paper over the gap with manual vigilance.4344### Multi-Service/Microservice Deployment Coordination4546When deploying changes that span multiple services, document the dependency graph and deployment order explicitly:47- **Deployment ordering:** Which service deploys first? Which depends on which? Use a directed acyclic graph (DAG) to visualize.48- **Backward compatibility window:** During a multi-service rollout, both old and new versions of each service must coexist. Document the compatibility contract for each interface change.49- **Rollback coordination:** If service A is rolled back, must services B and C also roll back? Define this before the deployment begins.50- **Shared schema changes:** Database migrations that affect multiple services require a coordinated deployment sequence - typically: migrate schema (backward-compatible) -> deploy consumers -> deploy producers -> remove old columns.5152### Infrastructure-as-Code (IaC) Changes5354When the deployment includes IaC changes (Terraform, Pulumi, CloudFormation, CDK), treat infrastructure changes with the same rigor as application code:55- **Plan before apply:** Always run `terraform plan` (or equivalent) and review the diff before applying. Document the expected changes in the deployment plan.56- **Blast radius assessment:** Which resources will be created, modified, or destroyed? Destroying and recreating a database is not the same as updating a security group rule.57- **State management:** Ensure remote state is locked during the deployment window. Concurrent applies cause state corruption.58- **Rollback for IaC:** Infrastructure rollbacks are often harder than code rollbacks. If a `terraform apply` creates a new load balancer, rolling back requires another `apply`, not just a symlink swap. Document the IaC rollback steps explicitly.59- **Drift detection:** Before deploying, check for configuration drift between the IaC state and actual infrastructure. Drift means the plan may not apply cleanly.6061### DNS and TLS Certificate Management6263DNS and certificate changes have unique timing characteristics that must be planned:64- **DNS TTL:** If changing DNS records, lower TTL to 60-300 seconds at least 24 hours before the deployment. After the change is stable, raise TTL back. Document the TTL reduction step in the pre-deployment checklist.65- **Certificate provisioning:** If deploying to a new domain or subdomain, ensure certificates are provisioned and validated before the deployment window. Automated provisioning (Let's Encrypt) can fail due to DNS propagation delays or rate limits.66- **Certificate expiry monitoring:** Confirm no certificates in the deployment chain expire within 30 days. An expired certificate during a deployment window is a self-inflicted outage.67- **Multi-domain / SAN certificates:** If the service serves multiple domains, verify all SANs are covered.6869### Canary Deployment Metrics Comparison7071For canary deployments, define the metrics comparison methodology before the deployment:72- **Comparison tool:** How will canary metrics be compared to baseline? (Prometheus queries, Datadog monitors, custom dashboard)73- **Comparison thresholds:** What metric deltas trigger automatic rollback vs. manual review vs. automatic promotion?74 - Error rate: canary must not exceed baseline by more than [X%]75 - Latency: canary p99 must not exceed baseline p99 by more than [Y ms]76 - Business metrics: canary success rate must not drop below [Z%]77- **Promotion criteria:** What is the exact decision logic?78 1. Canary at 5% for 15 minutes, all metrics within thresholds -> promote to 25%79 2. Canary at 25% for 30 minutes, all metrics within thresholds -> promote to 100%80 3. Any threshold breach at any stage -> automatic rollback81- **Promotion authority:** Who approves the final promotion from canary to full rollout? Automated, or requires human sign-off?8283### Deployment Freeze Windows8485Define periods when deployments are prohibited or restricted:86- **Scheduled freeze windows:** Holidays, end-of-quarter, major business events, audit periods. Document these in the deployment plan.87- **Incident-triggered freezes:** After a SEV-1 or SEV-2 incident, enforce a deployment freeze for [N hours] while the team stabilizes and recovers.88- **Freeze exceptions:** Who can authorize a deployment during a freeze? What is the approval process?89- **Freeze communication:** How are freeze windows communicated to the team? (Shared calendar, Slack announcement, deployment tool enforcement)9091### Post-Deployment Verification Automation9293Automate post-deployment verification to catch regressions faster than manual smoke tests:94- **Synthetic monitoring:** Run automated user journey tests against production every [N minutes] post-deployment. Tools: Checkly, Datadog Synthetics, custom scripts.95- **Canary analysis automation:** Automatically compare canary vs. baseline metrics and produce a pass/fail verdict.96- **Deployment health scorecard:** A single dashboard that aggregates all post-deployment checks (health endpoint, error rate, latency, queue depth, business metrics) into a pass/fail status.97- **Automated rollback trigger:** If verification automation detects a failure, it should trigger automatic rollback without waiting for human intervention (for deployments where this is safe).9899### Container/Orchestration Specifics100101When deploying to containerized environments (Kubernetes, ECS), additional considerations apply:102- **Image tagging:** Never deploy with the `latest` tag. Use immutable, version-specific tags (e.g., `sha-abc1234` or `v2.4.0`).103- **Resource limits:** Define CPU and memory requests/limits in the deployment manifest. Deploying without limits risks noisy-neighbor issues or OOM kills.104- **Readiness and liveness probes:** Ensure the new image's health endpoints are compatible with the configured probes. A failed readiness probe means the pod never receives traffic; a failed liveness probe means the pod gets killed repeatedly.105- **Rolling update strategy:** Configure `maxSurge` and `maxUnavailable` to control the rollout speed. Too aggressive risks capacity loss; too conservative wastes deployment window time.106- **Helm chart / Kustomize changes:** If the deployment modifies Helm values or Kustomize overlays, treat these as infrastructure changes with the same plan-before-apply discipline.107- **ECS-specific:** For ECS, document the task definition revision, service update configuration (minimum healthy percent, maximum percent), and whether the deployment uses rolling update or blue/green via CodeDeploy.108109### Go/No-Go Gate110Before deploying to production, verify a defined set of criteria. If any criterion fails, the deployment does not proceed. This is not optional.111112### DORA Metrics (What Good Looks Like)113- **Deployment Frequency:** Elite teams deploy multiple times per day.114- **Lead Time for Change:** Elite teams go from commit to production in less than 1 hour.115- **Change Failure Rate:** Elite teams have < 5% deployments causing failures.116- **MTTR:** Elite teams recover from failures in less than 1 hour.117118### Conflict Resolution119120When your analysis conflicts with the user's stated preference:1211221. **Present both positions** — show your analysis and their preference side by side1232. **Explain the trade-off** — what are the consequences of each choice?1243. **Recommend with reasoning** — state your recommendation and why1254. **Respect the user's decision** — they own the final call1265. **Document the decision** — record it as an `[owner-specified]` override with reasoning127128### Document Length129130Target length: **5-10 pages** (excluding appendices).131132Shorter is better than longer. If the document exceeds the target, check for:133- Redundant content that can be cut134- Overly verbose explanations135- Content that belongs in a separate reference document136- Material the agent already knows (don't explain what HTTP is)137138If the document is significantly shorter than the target, check for:139- Missing sections140- Insufficient detail in critical areas141- Unaddressed edge cases142143## Application144145### Phase 1: Socratic Clarification & Brainstorming (Mandatory Interview)146147**Interview Mechanism:** Use tool calls (e.g., `AskUserQuestion`) to present questions — do NOT ask inline in the conversation. The user selects from options rather than typing responses. One question per tool call, multiple-choice options preferred, with "I don't know, you decide" as an escape hatch.148149**Context Loading:** Before asking ANY questions, read ALL prior documents in `.engineering-docs/` to extract already-known information. Look for:150- Team size, budget, timeline (from business-plan)151- Tech stack, hosting (from system-architecture)152- Target users, JTBD (from user-personas)153- Constraints, regulatory requirements (from business-plan)154- Scope, features (from technical-specification)155156**If information exists in a prior document, USE IT — do not re-ask.**157158**Maximum 2-3 questions per skill.** Only ask about:159- Skill-specific details not covered in prior documents160- Technical decisions that affect this specific document161- Clarifications on ambiguous requirements162163Ask questions to resolve:1641. **Current deployment workflow**: What tools (GitHub Actions, manual rsync, Ansible) execute the deploy?1652. **Downtime limits**: Is any brief service interruption acceptable, or is a zero-downtime strategy (Blue-Green, Canary) mandatory?166167*Wait for the user's response to these questions before drafting the final deployment plan.*168169### Phase 2: Document Generation1701. Choose the deployment strategy based on the risk profile and infrastructure.1712. Document the exact execution runsheet - every command, every verification step.1723. Define explicit go/no-go criteria with measurable thresholds.1734. Define the rollback procedure before you start.1745. Identify the on-call owner who will monitor the deployment.175176### Phase 3: Revision (After User Review)177178If the user requests changes after reviewing the document:1791801. **Read the user's feedback carefully** — understand what they want changed1812. **Check for conflicts** — does the requested change conflict with prior documents (e.g., technical specification, system architecture)?1823. **Apply changes** — update the deployment plan1834. **Re-run consistency check** — verify the change doesn't break cross-document consistency (e.g., rollback steps still match the architecture's infrastructure)1845. **Update metadata** — set `last_updated` to today's date1856. **Confirm with user** — show the changes and get approval186187## Gotchas188189- **Deploying without a written rollback plan.** If you cannot articulate the rollback steps before deploying, you are not ready to deploy. The rollback plan must be written, reviewed, and tested on staging before the deployment window opens.190- **Running database migrations after application code deployment.** If the migration is backward-compatible, run it before the new code deploys so old code still works with the new schema. If it is not backward-compatible, it needs a multi-phase migration strategy - not a single deploy.191- **Skipping the post-deployment monitoring window.** Declaring "deploy complete" and walking away means no one catches the slow-burn failure (memory leak, queue backup, gradual error rate increase). Monitor for at least 30 minutes after smoke tests pass.192- **Defining go/no-go criteria as subjective gut feelings.** "Looks good" is not a go/no-go criterion. Use measurable thresholds: error rate below X%, p99 latency below Y ms, specific smoke test passes. If you cannot measure it, you cannot decide on it.193- **Forgetting to disable feature flags during rollback.** If the deployment enabled feature flags, the rollback must disable them. A code rollback without flag rollback leaves the system in an inconsistent state where old code is running but new behavior is partially enabled.194195## Handoff196197**Reads from:**198- `1-business-plan.md` — business constraints, uptime requirements199- `5-technical-specification.md` — performance and reliability requirements200- `7-system-architecture.md` — infrastructure topology, tech stack201- `15-test-strategy.md` — test gates that must pass before deployment202- `14-implementation-plan.md` — feature scope, migration requirements203204**Feeds into:**205- `17-technical-runbook.md` — post-deployment monitoring procedures206- `18-disaster-recovery.md` — infrastructure context for failover planning207- `19-slo-error-budget.md` — deployment impact on reliability targets208209---210211## Quality Gate212213Before marking this document as `final`, verify:214- [ ] The rollback procedure is complete with numbered steps, estimated time, and was tested on staging215- [ ] Every go/no-go criterion is measurable and binary (pass/fail, not "looks okay")216- [ ] The execution runsheet includes exact commands, not just descriptions of what to do217- [ ] Monitoring thresholds are defined with specific numeric values and corresponding actions218- [ ] A deployment lead and on-call backup are both named and confirmed available for the deployment window219- [ ] If deploying to containers/Kubernetes: image uses an immutable tag, resource limits are defined, and readiness/liveness probes are verified220- [ ] If canary strategy: promotion criteria are defined with specific metric thresholds and comparison tool221- [ ] If multi-service: deployment order DAG is documented, backward compatibility window is defined, and coordinated rollback plan exists222- [ ] If IaC changes: `terraform plan` output reviewed, blast radius assessed, and IaC-specific rollback steps documented223- [ ] If DNS/TLS changes: TTL pre-lowered, certificate provisioning verified, and expiry checked224- [ ] Deployment freeze windows checked and documented (or exception authorized)225226## Next Steps227228After this document is complete, proceed to:229- **`technical-runbook`** — document operational procedures for monitoring and responding to alerts post-deployment230- **`disaster-recovery-plan`** — define RTO/RPO targets and failover procedures for the deployed system231- **`slo-error-budget-document`** — formalize reliability targets and error budget policies232- Or invoke `using-engineering-docs` to continue the pipeline
Run npx skillmds@latest add fattain-naime/deployment-plan in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Write a production deployment plan covering environment specs, deployment strategy (Blue-Green, Canary, Rolling, or Direct), step-by-step execution runsheet, go/no-go criteria, monitoring plan, and rollback procedure. Use before any non-trivial production release. It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free. This skill is licensed under MIT.
fattain-naime (@fattain-naime) published this skill. Their other Agent Skills are listed on their SkillMD profile.