deployment-checklist-generator

Deployment Checklist Generator

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "deployment-checklist-generator" with this command: npx skills add monkey1sai/openai-cli/monkey1sai-openai-cli-deployment-checklist-generator

Deployment Checklist Generator

Ensure safe, reliable deployments with comprehensive checklists.

Pre-Deployment Checklist

Pre-Deployment Checklist

Code Quality

  • All CI checks passing
  • Code review approved (2+ reviewers)
  • No known critical bugs
  • Security scan passed
  • Performance tests passed

Dependencies

  • All dependencies up to date
  • No high/critical vulnerabilities
  • Bundle size within budget
  • Third-party services operational

Database

  • Migrations tested in staging
  • Backup completed
  • Rollback plan documented
  • Data migration scripts reviewed

Infrastructure

  • Servers have capacity
  • CDN cache invalidation plan
  • Load balancer configured
  • SSL certificates valid

Documentation

  • Changelog updated
  • API docs updated (if changed)
  • Deployment notes prepared
  • Rollback instructions ready

Communication

  • Stakeholders notified
  • Maintenance window scheduled (if needed)
  • Support team briefed
  • Status page prepared

Deployment Window

  • Off-peak hours selected
  • Team available for monitoring
  • Emergency contacts confirmed

Deployment Workflow with Checks

.github/workflows/deploy.yml

name: Deploy to Production

on: workflow_dispatch:

jobs: pre-deploy-checks: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4

  - name: Check branch
    run: |
      if [ "${{ github.ref }}" != "refs/heads/main" ]; then
        echo "❌ Can only deploy from main branch"
        exit 1
      fi

  - name: Verify CI passed
    uses: actions/github-script@v7
    with:
      script: |
        const checks = await github.rest.checks.listForRef({
          owner: context.repo.owner,
          repo: context.repo.repo,
          ref: context.sha,
        });

        const failed = checks.data.check_runs.filter(
          check => check.conclusion === 'failure'
        );

        if (failed.length > 0) {
          throw new Error(`CI checks failed: ${failed.map(c => c.name).join(', ')}`);
        }

  - name: Check deployment window
    run: |
      HOUR=$(date +%H)
      if [ $HOUR -ge 9 ] && [ $HOUR -le 17 ]; then
        echo "⚠️ Deploying during business hours"
      else
        echo "✅ Deploying outside business hours"
      fi

  - name: Verify staging deployment
    run: |
      if ! curl -f https://staging.myapp.com/health; then
        echo "❌ Staging is not healthy"
        exit 1
      fi

deploy: needs: pre-deploy-checks runs-on: ubuntu-latest environment: name: production url: https://myapp.com steps: - uses: actions/checkout@v4

  - name: Backup database
    run: ./scripts/backup-db.sh

  - name: Deploy
    run: ./scripts/deploy.sh production

  - name: Run smoke tests
    run: ./scripts/smoke-tests.sh production

  - name: Update status page
    run: |
      curl -X POST https://statuspage.io/api/v1/incidents \
        -H "Authorization: Bearer ${{ secrets.STATUSPAGE_TOKEN }}" \
        -d '{"name":"Deployment Complete","status":"resolved"}'

  - name: Create deployment record
    uses: actions/github-script@v7
    with:
      script: |
        github.rest.repos.createDeployment({
          owner: context.repo.owner,
          repo: context.repo.repo,
          ref: context.sha,
          environment: 'production',
          description: 'Production deployment',
        });

Smoke Test Script

#!/bin/bash

scripts/smoke-tests.sh

ENVIRONMENT=$1 BASE_URL="https://${ENVIRONMENT}.myapp.com"

echo "🔍 Running smoke tests for $ENVIRONMENT..."

FAILED=0

Test 1: Health endpoint

echo "Test 1: Health check" if curl -f "$BASE_URL/health" | grep -q "ok"; then echo "✅ Health check passed" else echo "❌ Health check failed" FAILED=1 fi

Test 2: User authentication

echo "Test 2: User login" TOKEN=$(curl -s -X POST "$BASE_URL/api/auth/login"
-H "Content-Type: application/json"
-d '{"email":"test@example.com","password":"test123"}'
| jq -r '.token')

if [ -n "$TOKEN" ] && [ "$TOKEN" != "null" ]; then echo "✅ Login passed" else echo "❌ Login failed" FAILED=1 fi

Test 3: Critical API endpoints

echo "Test 3: API endpoints" ENDPOINTS=("/api/users" "/api/products" "/api/orders")

for endpoint in "${ENDPOINTS[@]}"; do STATUS=$(curl -s -o /dev/null -w "%{http_code}"
-H "Authorization: Bearer $TOKEN"
"$BASE_URL$endpoint")

if [ "$STATUS" == "200" ]; then echo "✅ $endpoint: $STATUS" else echo "❌ $endpoint: $STATUS" FAILED=1 fi done

Test 4: Database connectivity

echo "Test 4: Database check" if curl -f "$BASE_URL/api/health/db" | grep -q "connected"; then echo "✅ Database connected" else echo "❌ Database connection failed" FAILED=1 fi

Test 5: External services

echo "Test 5: External services" SERVICES=("stripe" "sendgrid" "aws")

for service in "${SERVICES[@]}"; do if curl -f "$BASE_URL/api/health/$service" | grep -q "ok"; then echo "✅ $service: connected" else echo "❌ $service: connection failed" FAILED=1 fi done

if [ $FAILED -eq 1 ]; then echo "❌ Smoke tests failed" exit 1 fi

echo "✅ All smoke tests passed" exit 0

Post-Deployment Verification

Post-Deployment Verification

Immediate Checks (0-5 minutes)

  • Deployment completed successfully
  • All smoke tests passed
  • Health checks returning 200
  • No 5xx errors in logs
  • Application responding

Short-term Monitoring (5-30 minutes)

  • Error rate <1%
  • Response time p95 <500ms
  • CPU usage normal (<70%)
  • Memory usage stable
  • Database queries performing well

Feature Verification

  • Login/authentication working
  • Checkout flow functional
  • Search returning results
  • Email notifications sending
  • Payment processing working

Metrics Dashboard

  • Request volume normal
  • Success rate >99%
  • Latency within SLA
  • No spike in errors
  • User engagement stable

Long-term Monitoring (1-24 hours)

  • No user complaints
  • Support tickets normal
  • Revenue tracking normal
  • All scheduled jobs running
  • No memory leaks detected

Sign-off Template

  • name: Request deployment approval uses: trstringer/manual-approval@v1 with: secret: ${{ secrets.GITHUB_TOKEN }} approvers: tech-lead,ops-manager minimum-approvals: 2 issue-title: "Approve Production Deployment" issue-body: | ## Deployment Details

    **Version:** ${{ github.ref_name }}
    **Commit:** ${{ github.sha }}
    **Changes:** See [changelog](CHANGELOG.md)
    
    ## Pre-deployment Checklist
    - ✅ All CI checks passed
    - ✅ Code review completed
    - ✅ Security scan passed
    - ✅ Staging verified
    
    ## Approval Required
    This deployment requires approval from tech lead and ops manager.
    
    **Approve:** Comment "approve" or "lgtm"
    **Reject:** Comment "reject" or "block"
    

Monitoring Dashboard

Deployment Monitoring Dashboard

Key Metrics

Health

  • API Health: ✅ UP
  • Database: ✅ Connected
  • Cache: ✅ Connected

Performance

  • Requests/min: 1,234
  • Error rate: 0.2%
  • p50 latency: 120ms
  • p95 latency: 450ms
  • p99 latency: 1,200ms

Infrastructure

  • CPU: 45%
  • Memory: 62%
  • Disk: 38%

Business Metrics

  • Active users: 523
  • Successful checkouts: 89/hour
  • Revenue: $15,234/hour

Alerts

No active alerts

Recent Deployments

  • v1.3.0: Deployed 5 minutes ago ✅
  • v1.2.9: Deployed 2 days ago ✅
  • v1.2.8: Rolled back 3 days ago ⚠️

Best Practices

  • Automated checks: Enforce via CI/CD

  • Manual review: Critical deployments need approval

  • Smoke tests: Verify key functionality

  • Gradual rollout: Canary or blue-green

  • Monitoring: Watch metrics for 30 minutes

  • Communication: Keep stakeholders informed

  • Rollback ready: One-click rollback available

Output Checklist

  • Pre-deployment checklist

  • Deployment workflow with gates

  • Smoke test script

  • Post-deployment verification

  • Sign-off workflow

  • Monitoring dashboard

  • Communication templates

  • Rollback instructions

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

responsive-design-system

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

modal-drawer-system

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

bruno-collection-generator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

multi-tenant-safety-checker

No summary provided by upstream source.

Repository SourceNeeds Review