{"id":"17d47e22-a20e-439f-8e00-7d45ee816395","shortId":"BMKmEa","kind":"skill","title":"deployment-procedures","tagline":"Production deployment principles and decision-making. Safe deployment workflows, rollback strategies, and verification. Teaches thinking, not scripts.","description":"# Deployment Procedures\n\n> Deployment principles and decision-making for safe production releases.\n> **Learn to THINK, not memorize scripts.**\n\n---\n\n## ⚠️ How to Use This Skill\n\nThis skill teaches **deployment principles**, not bash scripts to copy.\n\n- Every deployment is unique\n- Understand the WHY behind each step\n- Adapt procedures to your platform\n\n---\n\n## 1. Platform Selection\n\n### Decision Tree\n\n```\nWhat are you deploying?\n│\n├── Static site / JAMstack\n│   └── Vercel, Netlify, Cloudflare Pages\n│\n├── Simple web app\n│   ├── Managed → Railway, Render, Fly.io\n│   └── Control → VPS + PM2/Docker\n│\n├── Microservices\n│   └── Container orchestration\n│\n└── Serverless\n    └── Edge functions, Lambda\n```\n\n### Each Platform Has Different Procedures\n\n| Platform | Deployment Method |\n|----------|------------------|\n| **Vercel/Netlify** | Git push, auto-deploy |\n| **Railway/Render** | Git push or CLI |\n| **VPS + PM2** | SSH + manual steps |\n| **Docker** | Image push + orchestration |\n| **Kubernetes** | kubectl apply |\n\n---\n\n## 2. Pre-Deployment Principles\n\n### The 4 Verification Categories\n\n| Category | What to Check |\n|----------|--------------|\n| **Code Quality** | Tests passing, linting clean, reviewed |\n| **Build** | Production build works, no warnings |\n| **Environment** | Env vars set, secrets current |\n| **Safety** | Backup done, rollback plan ready |\n\n### Pre-Deployment Checklist\n\n- [ ] All tests passing\n- [ ] Code reviewed and approved\n- [ ] Production build successful\n- [ ] Environment variables verified\n- [ ] Database migrations ready (if any)\n- [ ] Rollback plan documented\n- [ ] Team notified\n- [ ] Monitoring ready\n\n---\n\n## 3. Deployment Workflow Principles\n\n### The 5-Phase Process\n\n```\n1. PREPARE\n   └── Verify code, build, env vars\n\n2. BACKUP\n   └── Save current state before changing\n\n3. DEPLOY\n   └── Execute with monitoring open\n\n4. VERIFY\n   └── Health check, logs, key flows\n\n5. CONFIRM or ROLLBACK\n   └── All good? Confirm. Issues? Rollback.\n```\n\n### Phase Principles\n\n| Phase | Principle |\n|-------|-----------|\n| **Prepare** | Never deploy untested code |\n| **Backup** | Can't rollback without backup |\n| **Deploy** | Watch it happen, don't walk away |\n| **Verify** | Trust but verify |\n| **Confirm** | Have rollback trigger ready |\n\n---\n\n## 4. Post-Deployment Verification\n\n### What to Verify\n\n| Check | Why |\n|-------|-----|\n| **Health endpoint** | Service is running |\n| **Error logs** | No new errors |\n| **Key user flows** | Critical features work |\n| **Performance** | Response times acceptable |\n\n### Verification Window\n\n- **First 5 minutes**: Active monitoring\n- **15 minutes**: Confirm stable\n- **1 hour**: Final verification\n- **Next day**: Review metrics\n\n---\n\n## 5. Rollback Principles\n\n### When to Rollback\n\n| Symptom | Action |\n|---------|--------|\n| Service down | Rollback immediately |\n| Critical errors | Rollback |\n| Performance >50% degraded | Consider rollback |\n| Minor issues | Fix forward if quick |\n\n### Rollback Strategy by Platform\n\n| Platform | Rollback Method |\n|----------|----------------|\n| **Vercel/Netlify** | Redeploy previous commit |\n| **Railway/Render** | Rollback in dashboard |\n| **VPS + PM2** | Restore backup, restart |\n| **Docker** | Previous image tag |\n| **K8s** | kubectl rollout undo |\n\n### Rollback Principles\n\n1. **Speed over perfection**: Rollback first, debug later\n2. **Don't compound errors**: One rollback, not multiple changes\n3. **Communicate**: Tell team what happened\n4. **Post-mortem**: Understand why after stable\n\n---\n\n## 6. Zero-Downtime Deployment\n\n### Strategies\n\n| Strategy | How It Works |\n|----------|--------------|\n| **Rolling** | Replace instances one by one |\n| **Blue-Green** | Switch traffic between environments |\n| **Canary** | Gradual traffic shift |\n\n### Selection Principles\n\n| Scenario | Strategy |\n|----------|----------|\n| Standard release | Rolling |\n| High-risk change | Blue-green (easy rollback) |\n| Need validation | Canary (test with real traffic) |\n\n---\n\n## 7. Emergency Procedures\n\n### Service Down Priority\n\n1. **Assess**: What's the symptom?\n2. **Quick fix**: Restart if unclear\n3. **Rollback**: If restart doesn't help\n4. **Investigate**: After stable\n\n### Investigation Order\n\n| Check | Common Issues |\n|-------|--------------|\n| **Logs** | Errors, exceptions |\n| **Resources** | Disk full, memory |\n| **Network** | DNS, firewall |\n| **Dependencies** | Database, APIs |\n\n---\n\n## 8. Anti-Patterns\n\n| ❌ Don't | ✅ Do |\n|----------|-------|\n| Deploy on Friday | Deploy early in week |\n| Rush deployment | Follow the process |\n| Skip staging | Always test first |\n| Deploy without backup | Backup before deploy |\n| Walk away after deploy | Monitor for 15+ min |\n| Multiple changes at once | One change at a time |\n\n---\n\n## 9. Decision Checklist\n\nBefore deploying:\n\n- [ ] **Platform-appropriate procedure?**\n- [ ] **Backup strategy ready?**\n- [ ] **Rollback plan documented?**\n- [ ] **Monitoring configured?**\n- [ ] **Team notified?**\n- [ ] **Time to monitor after?**\n\n---\n\n## 10. Best Practices\n\n1. **Small, frequent deploys** over big releases\n2. **Feature flags** for risky changes\n3. **Automate** repetitive steps\n4. **Document** every deployment\n5. **Review** what went wrong after issues\n6. **Test rollback** before you need it\n\n---\n\n> **Remember:** Every deployment is a risk. Minimize risk through preparation, not speed.\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["deployment","procedures","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-deployment-procedures","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/deployment-procedures","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34831 github stars · SKILL.md body (5,778 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T06:51:03.241Z","embedding":null,"createdAt":"2026-04-18T21:35:58.265Z","updatedAt":"2026-04-24T06:51:03.241Z","lastSeenAt":"2026-04-24T06:51:03.241Z","tsv":"'1':70,209,318,382,470,584 '10':581 '15':314,547 '2':134,216,390,476,591 '3':201,223,400,482,597 '4':140,229,277,406,489,601 '5':206,236,310,326,605 '50':342 '6':414,612 '7':464 '8':511 '9':558 'accept':306 'action':333,643 'activ':312 'adapt':65 'alway':532 'anti':513 'anti-pattern':512 'api':510 'app':88 'appli':133 'applic':637 'appropri':565 'approv':182 'ask':681 'assess':471 'auto':115 'auto-deploy':114 'autom':598 'away':267,542 'backup':167,217,254,259,370,537,538,567 'bash':51 'behind':62 'best':582 'big':589 'blue':431,453 'blue-green':430,452 'boundari':689 'build':154,156,184,213 'canari':437,459 'categori':142,143 'chang':222,399,451,550,554,596 'check':146,232,285,495 'checklist':175,560 'clarif':683 'clean':152 'clear':656 'cli':121 'cloudflar':84 'code':147,179,212,253 'commit':362 'common':496 'communic':401 'compound':393 'configur':574 'confirm':237,242,272,316 'consid':344 'contain':97 'control':93 'copi':54 'criteria':692 'critic':300,338 'current':165,219 'dashboard':366 'databas':189,509 'day':323 'debug':388 'decis':9,28,73,559 'decision-mak':8,27 'degrad':343 'depend':508 'deploy':2,5,12,22,24,48,56,78,109,116,137,174,202,224,251,260,280,418,518,521,526,535,540,544,562,587,604,621 'deployment-procedur':1 'describ':644,660 'differ':106 'disk':502 'dns':506 'docker':127,372 'document':196,572,602 'doesn':486 'done':168 'downtim':417 'earli':522 'easi':455 'edg':100 'emerg':465 'endpoint':288 'env':161,214 'environ':160,186,436,672 'environment-specif':671 'error':292,296,339,394,499 'everi':55,603,620 'except':500 'execut':225,639 'expert':677 'featur':301,592 'final':320 'firewal':507 'first':309,387,534 'fix':348,478 'flag':593 'flow':235,299 'fly.io':92 'follow':527 'forward':349 'frequent':586 'friday':520 'full':503 'function':101 'git':112,118 'good':241 'gradual':438 'green':432,454 'happen':263,405 'health':231,287 'help':488 'high':449 'high-risk':448 'hour':319 'imag':128,374 'immedi':337 'input':686 'instanc':426 'investig':490,493 'issu':243,347,497,611 'jamstack':81 'k8s':376 'key':234,297 'kubectl':132,377 'kubernet':131 'lambda':102 'later':389 'learn':34 'limit':648 'lint':151 'log':233,293,498 'make':10,29 'manag':89 'manual':125 'match':657 'memor':38 'memori':504 'method':110,358 'metric':325 'microservic':96 'migrat':190 'min':548 'minim':625 'minor':346 'minut':311,315 'miss':694 'monitor':199,227,313,545,573,579 'mortem':409 'multipl':398,549 'need':457,617 'netlifi':83 'network':505 'never':250 'new':295 'next':322 'notifi':198,576 'one':395,427,429,553 'open':228 'orchestr':98,130 'order':494 'output':666 'overview':647 'page':85 'pass':150,178 'pattern':514 'perfect':385 'perform':303,341 'permiss':687 'phase':207,245,247 'plan':170,195,571 'platform':69,71,104,108,355,356,564 'platform-appropri':563 'pm2':123,368 'pm2/docker':95 'post':279,408 'post-deploy':278 'post-mortem':407 'practic':583 'pre':136,173 'pre-deploy':135,172 'prepar':210,249,628 'previous':361,373 'principl':6,25,49,138,204,246,248,328,381,442 'prioriti':469 'procedur':3,23,66,107,466,566 'process':208,529 'product':4,32,155,183 'push':113,119,129 'qualiti':148 'quick':351,477 'railway':90 'railway/render':117,363 'readi':171,191,200,276,569 'real':462 'redeploy':360 'releas':33,446,590 'rememb':619 'render':91 'repetit':599 'replac':425 'requir':685 'resourc':501 'respons':304 'restart':371,479,485 'restor':369 'review':153,180,324,606,678 'risk':450,624,626 'riski':595 'roll':424,447 'rollback':14,169,194,239,244,257,274,327,331,336,340,345,352,357,364,380,386,396,456,483,570,614 'rollout':378 'run':291 'rush':525 'safe':11,31 'safeti':166,688 'save':218 'scenario':443 'scope':659 'script':21,39,52 'secret':164 'select':72,441 'serverless':99 'servic':289,334,467 'set':163 'shift':440 'simpl':86 'site':80 'skill':44,46,635,651 'skill-deployment-procedures' 'skip':530 'small':585 'source-sickn33' 'specif':673 'speed':383,630 'ssh':124 'stabl':317,413,492 'stage':531 'standard':445 'state':220 'static':79 'step':64,126,600 'stop':679 'strategi':15,353,419,420,444,568 'substitut':669 'success':185,691 'switch':433 'symptom':332,475 'tag':375 'task':655 'teach':18,47 'team':197,403,575 'tell':402 'test':149,177,460,533,613,675 'think':19,36 'time':305,557,577 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'traffic':434,439,463 'treat':664 'tree':74 'trigger':275 'trust':269 'unclear':481 'understand':59,410 'undo':379 'uniqu':58 'untest':252 'use':42,633,649 'user':298 'valid':458,674 'var':162,215 'variabl':187 'vercel':82 'vercel/netlify':111,359 'verif':17,141,281,307,321 'verifi':188,211,230,268,271,284 'vps':94,122,367 'walk':266,541 'warn':159 'watch':261 'web':87 'week':524 'went':608 'window':308 'without':258,536 'work':157,302,423 'workflow':13,203,641 'wrong':609 'zero':416 'zero-downtim':415","prices":[{"id":"8619672d-87af-4adf-93a5-bec743462716","listingId":"17d47e22-a20e-439f-8e00-7d45ee816395","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:35:58.265Z"}],"sources":[{"listingId":"17d47e22-a20e-439f-8e00-7d45ee816395","source":"github","sourceId":"sickn33/antigravity-awesome-skills/deployment-procedures","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/deployment-procedures","isPrimary":false,"firstSeenAt":"2026-04-18T21:35:58.265Z","lastSeenAt":"2026-04-24T06:51:03.241Z"}],"details":{"listingId":"17d47e22-a20e-439f-8e00-7d45ee816395","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"deployment-procedures","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34831,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"4ef4c900ed6114c835048f0a7f799ed5fcda0eb0","skill_md_path":"skills/deployment-procedures/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/deployment-procedures"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"deployment-procedures","description":"Production deployment principles and decision-making. Safe deployment workflows, rollback strategies, and verification. Teaches thinking, not scripts."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/deployment-procedures"},"updatedAt":"2026-04-24T06:51:03.241Z"}}