[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6XG471T079CKFQDPVM2WBS9":3,"skill-same:01M6XG471T079CKFQDPVM2WBS9":61},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":14,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":46,"install":47,"resources":60},"01M6XG471T079CKFQDPVM2WBS9","deployment-procedures",null,"Production deployment principles and decision-making. Safe deployment workflows, rollback strategies, and verification. Teaches thinking, not scripts.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fdeployment-procedures\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"deployment","deployment procedures","safe","workflows","verification","Production","rollback","decision","community","thinking","decision-making","strategies","scripts","principles","unknown","2026","2026-11-10 10:12:30",false,"---\nname: deployment-procedures\ndescription: \"Production deployment principles and decision-making. Safe deployment workflows, rollback strategies, and verification. Teaches thinking, not scripts.\"\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# 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 \u002F JAMstack\n│   └── Vercel, Netlify, Cloudflare Pages\n│\n├── Simple web app\n│   ├── Managed → Railway, Render, Fly.io\n│   └── Control → VPS + PM2\u002FDocker\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\u002FNetlify** | Git push, auto-deploy |\n| **Railway\u002FRender** | 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\u002FNetlify** | Redeploy previous commit |\n| **Railway\u002FRender** | 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","# 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 \u002F JAMstack\n│   └── Vercel, Netlify, Cloudflare Pages\n│\n├── Simple web app\n│   ├── Managed → Railway, Render, Fly.io\n│   └── Control → VPS + PM2\u002FDocker\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\u002FNetlify** | Git push, auto-deploy |\n| **Railway\u002FRender** | 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\u002FNetlify** | Redeploy previous commit |\n| **Railway\u002FRender** | 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",{"name":5,"risk":33,"source":27,"date_added":40,"description":7},"2026-02-27","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fcopilot\u002Fdeployment-procedures","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill deployment-procedures",{"tool":53,"command":54},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill deployment-procedures",{"tool":56,"command":57},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill deployment-procedures","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fdeployment-procedures\u002FSKILL.md",true,[],[62,86,112,122,135,154],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":73,"publishedAt":35},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[68],{"categoryNo":69,"categoryName":70,"taxonomyType":71,"taxonomyTypeDesc":72},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[74,75,76,77,78,79,80,81,82,83,84,85],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":35},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[93,94,95,96,97,98,76,99,100,101,102,103,104,105,106,107,108,109,110,111],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","when","brew","live","data","google","install","read","across","api",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":35},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[119,120,93,104,105,106,107,97,76,109,121,110,111,103,101,100,99,108,98,96],"trend radar","radar","pulse",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":35},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[129,130,131,132,133,134],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":146,"publishedAt":35},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[141],{"categoryNo":142,"categoryName":143,"taxonomyType":144,"taxonomyTypeDesc":145},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[137,82,147,148,149,85,104,150,151,152,95,153,108],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":35},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[156,161,162,163,108,164,151,165,166,167,168,169],"status","play","go","latest","github","discover","control","cmd","volume"]