Skip to content
Back to skills

Canary Deployment

ASecurity

Use when performing canary deployment — canary deployment template covering traffic percentage ramp-up, metrics gates at each stage, automated promotion criteria, and rollback triggers. Use for gradual, risk-controlled production releases with real traffic validation.

  • 6 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 8, 2026
devopsgorails

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add cloudthinker-ai/CloudSkills --skill canary-deployment --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Canary Deployment?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Canary Deployment
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cloudthinker-ai-canary-deployment/badge)](https://www.skillsdirectory.com/skills/cloudthinker-ai-canary-deployment)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: canary-deployment
enabled: true
description: |
  Use when performing canary deployment — canary deployment template covering
  traffic percentage ramp-up, metrics gates at each stage, automated promotion
  criteria, and rollback triggers. Use for gradual, risk-controlled production
  releases with real traffic validation.
required_connections:
  - prefix: datadog
    label: "Datadog (or monitoring platform)"
config_fields:
  - key: service_name
    label: "Service Name"
    required: true
    placeholder: "e.g., recommendation-engine"
  - key: version
    label: "Canary Version"
    required: true
    placeholder: "e.g., v2.1.0"
  - key: baseline_version
    label: "Baseline (Current) Version"
    required: true
    placeholder: "e.g., v2.0.3"
features:
  - DEPLOYMENT
---

# Canary Deployment Skill

Execute canary deployment of **{{ service_name }} {{ version }}** against baseline **{{ baseline_version }}**.

## Workflow

### Step 1 — Canary Configuration

```
CANARY SETUP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Service: {{ service_name }}
Canary version: {{ version }}
Baseline version: {{ baseline_version }}

Traffic ramp schedule:
  Stage 1:  1% canary  (10 min bake)
  Stage 2:  5% canary  (15 min bake)
  Stage 3: 25% canary  (30 min bake)
  Stage 4: 50% canary  (30 min bake)
  Stage 5: 100% canary (promotion)

Rollback trigger (any stage):
  - Error rate: canary > baseline + 1%
  - P95 latency: canary > baseline * 1.5
  - P99 latency: canary > baseline * 2.0
  - Custom metric threshold breach
```

### Step 2 — Pre-Canary Checks

```
PRE-CANARY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ ] Baseline metrics captured:
    - Error rate: ___%
    - P50 latency: ___ms
    - P95 latency: ___ms
    - P99 latency: ___ms
    - Throughput: ___ rps
[ ] Canary version deployed (0% traffic)
[ ] Canary pods/instances healthy
[ ] Canary version verified (version endpoint)
[ ] Monitoring dashboard with canary vs baseline comparison ready
[ ] Alerting configured for canary metrics
[ ] Traffic splitting mechanism configured (service mesh / LB / ingress)
```

### Step 3 — Stage 1: 1% Traffic (Smoke Test)

```
STAGE 1 — 1% TRAFFIC (10 min bake)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ ] Route 1% traffic to canary
[ ] Start time: ___

Metrics gate (at T+10min):
  [ ] Error rate:   canary ___% vs baseline ___% — PASS/FAIL
  [ ] P95 latency:  canary ___ms vs baseline ___ms — PASS/FAIL
  [ ] P99 latency:  canary ___ms vs baseline ___ms — PASS/FAIL
  [ ] No new error types in canary logs
  [ ] No panics, OOMs, or crashes

Decision: PROMOTE / ROLLBACK
```

### Step 4 — Stage 2: 5% Traffic

```
STAGE 2 — 5% TRAFFIC (15 min bake)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ ] Route 5% traffic to canary
[ ] Start time: ___

Metrics gate (at T+15min):
  [ ] Error rate:   canary ___% vs baseline ___% — PASS/FAIL
  [ ] P95 latency:  canary ___ms vs baseline ___ms — PASS/FAIL
  [ ] P99 latency:  canary ___ms vs baseline ___ms — PASS/FAIL
  [ ] Memory usage stable (no leak pattern)
  [ ] CPU usage proportional to traffic share

Decision: PROMOTE / ROLLBACK
```

### Step 5 — Stage 3: 25% Traffic

```
STAGE 3 — 25% TRAFFIC (30 min bake)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ ] Route 25% traffic to canary
[ ] Start time: ___

Metrics gate (at T+30min):
  [ ] Error rate:   canary ___% vs baseline ___% — PASS/FAIL
  [ ] P95 latency:  canary ___ms vs baseline ___ms — PASS/FAIL
  [ ] P99 latency:  canary ___ms vs baseline ___ms — PASS/FAIL
  [ ] Business metrics normal (conversion, success rates)
  [ ] Dependency health unaffected
  [ ] No customer-reported issues

Decision: PROMOTE / ROLLBACK
```

### Step 6 — Stage 4: 50% Traffic

```
STAGE 4 — 50% TRAFFIC (30 min bake)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ ] Route 50% traffic to canary
[ ] Start time: ___

Metrics gate (at T+30min):
  [ ] Error rate:   canary ___% vs baseline ___% — PASS/FAIL
  [ ] P95 latency:  canary ___ms vs baseline ___ms — PASS/FAIL
  [ ] P99 latency:  canary ___ms vs baseline ___ms — PASS/FAIL
  [ ] Autoscaling behaving correctly under load
  [ ] All downstream dependencies stable
  [ ] No data consistency issues

Decision: PROMOTE TO 100% / ROLLBACK
```

### Step 7 — Stage 5: Full Promotion

```
PROMOTION — 100% TRAFFIC
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ ] Route 100% traffic to {{ version }}
[ ] Scale down baseline ({{ baseline_version }}) instances
[ ] Update deployment to {{ version }} as new baseline
[ ] Monitor for 30 minutes post-promotion
[ ] Confirm all metrics stable at full traffic
[ ] Deployment marked as SUCCESSFUL
[ ] Stakeholders notified
```

### Rollback Procedure

```
ROLLBACK (any stage)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[ ] Route 100% traffic back to baseline ({{ baseline_version }})
[ ] Scale down canary instances
[ ] Verify baseline metrics return to normal
[ ] Create issue to investigate canary failure
[ ] Document: stage failed, metrics at failure, root cause hypothesis
```

## Counter-Rationalizations

| Shortcut | Counter | Why |
|----------|---------|-----|
| "We can skip some steps for this case" | Adapt the workflow steps, don't skip them | Skipped steps are where incidents and oversights originate |
| "The user seems to already know what to do" | Complete all workflow phases with the user | The workflow catches blind spots that experience alone misses |
| "This is a minor case, full process is overkill" | Scale the process down, don't turn it off | Minor cases become major when unstructured; the process scales, not disappears |
| "I'll fill in the details later" | Complete each section before moving on | Deferred details are forgotten; real-time capture is more accurate |
| "The template output isn't necessary" | Always produce the structured output format | Structured output enables comparison, audit trails, and handoff to other teams |

## Output Format

Produce a canary deployment report with:
1. **Canary configuration** (versions, ramp schedule, thresholds)
2. **Per-stage metrics** comparison (canary vs baseline)
3. **Promotion/rollback decision** at each stage with reasoning
4. **Final status** (PROMOTED / ROLLED BACK at stage X)
5. **Metrics summary** chart showing canary vs baseline over time

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…