[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71BBCC41PCZH5Y7HDJ9GRP5":3,"skill-same:01M71BBCC41PCZH5Y7HDJ9GRP5":53},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":26,"linkOnly":27,"markdownContent":28,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":35,"ownerHtmlUrl":36,"ownerBlogUrl":37,"ownerDescription":6,"updatedAt":38,"install":39,"resources":52},"01M71BBCC41PCZH5Y7HDJ9GRP5","deploy-runbook",null,"superMLdev\u002Fsmart-sdlc","superMLdev","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F214327565?v=4","01M71B92B8VKCZZ0YCSNAJ9CB1","superML.dev","01M71B92BVCWP4F23ANQ0ZKF6S",8,"MIT","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002F7-release\u002Fdeploy-runbook\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[23,24,25],"deploy","runbook","deploy runbook","2026-11-10 10:12:30",false,"# Skill: Deploy Runbook\n\n> **Activation**: `#file:_superml\u002Fskills\u002F7-release\u002Fdeploy-runbook\u002FSKILL.md`\n\n---\n\n## Purpose\n\nCreate a step-by-step deployment runbook that any engineer can follow to deploy the release safely. Must include a validated rollback plan.\n\n---\n\n## Inputs\n\nLoad before starting:\n- Release checklist: `{output_path}\u002Frelease\u002Frelease-checklist.md`\n- Architecture doc: `{output_path}\u002Fplanning\u002Farchitecture.md`\n- Deployment reference in `_superml\u002Freference\u002Frelease\u002F`\n\n---\n\n## Deliverable\n\n**`{output_path}\u002Frelease\u002Fdeploy-runbook.md`**\n\n---\n\n## Deploy Runbook Structure\n\n```markdown\n# Deploy Runbook — {project_name} v{version}\n\n**Date**: {date}\n**Release Manager**: {release_name}\n**Estimated deployment duration**: {N} minutes\n**Rollback duration**: {N} minutes\n\n---\n\n## Pre-Deployment Checklist\n\nRun immediately before starting:\n- [ ] Release checklist approved (GO decision)\n- [ ] On-call engineer standing by\n- [ ] Rollback procedure reviewed\n- [ ] Maintenance window communicated (if applicable)\n\n---\n\n## Deployment Steps\n\n### Phase 1: Preparation\n| Step | Action | Command \u002F Link | Owner | Expected Result |\n|------|--------|----------------|-------|----------------|\n| 1.1 | Take database backup | `{command}` | DevOps | Backup confirmed |\n| 1.2 | Check environment health | `{command}` | DevOps | All services green |\n\n### Phase 2: Deploy\n| Step | Action | Command \u002F Link | Owner | Expected Result |\n|------|--------|----------------|-------|----------------|\n| 2.1 | Deploy release tag | `{command}` | DevOps | Deployment complete |\n| 2.2 | Run database migrations | `{command}` | DevOps | Migrations applied |\n| 2.3 | Restart services | `{command}` | DevOps | Services healthy |\n\n### Phase 3: Smoke Tests\n| Step | Test | URL \u002F Command | Expected Result |\n|------|------|---------------|-----------------|\n| 3.1 | Health check | `{url}\u002Fhealth` | 200 OK |\n| 3.2 | Core user flow | {describe} | Success |\n\n### Phase 4: Post-Deploy Monitoring\n- Watch error rate in {monitoring tool} for {N} minutes\n- Confirm no alerts firing\n- Check logs for unexpected errors\n\n---\n\n## Rollback Procedure\n\nTrigger rollback if any rollback criteria from the Release Checklist are met.\n\n| Step | Action | Command \u002F Link | Expected Result |\n|------|--------|----------------|----------------|\n| R1 | Revert deployment | `{command}` | Previous version live |\n| R2 | Restore database (if needed) | `{command}` | Data restored |\n| R3 | Verify rollback | `{url}\u002Fhealth` | 200 OK on previous version |\n| R4 | Notify stakeholders | Email \u002F Slack | Team informed |\n\n---\n\n## Communication Plan\n\n| Event | Who to notify | Channel | Template |\n|-------|--------------|---------|---------|\n| Deployment started | Engineering team | Slack #deployments | \"Deploying v{version} now...\" |\n| Deployment complete | Stakeholders | Email | \"v{version} is live\" |\n| Rollback triggered | All | Slack #incidents | \"Rolling back v{version}...\" |\n\n---\n\n## Sign-off\n\n| Role | Name | Date |\n|------|------|------|\n| Release Manager | {release_name} | {date} |\n```\n\n---\n\n## Validation Checklist\n\n- [ ] All deployment steps have commands and expected results\n- [ ] Rollback procedure is complete and tested (at least on staging)\n- [ ] Rollback duration estimate is realistic\n- [ ] Communication plan filled in\n\n---\n\n## Next Skill\n\nAfter deployment complete → **Release Notes** (`#file:_superml\u002Fskills\u002F7-release\u002Frelease-notes\u002FSKILL.md`)\n",{},"master","86f9b15bf32a913d78f2dce364b9fe56e53ddf12","skills\u002F7-release\u002Fdeploy-runbook",1,"https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc","https:\u002F\u002Fsupermldev.github.io\u002Fsmart-sdlc\u002F","https:\u002F\u002Fgithub.com\u002FsuperMLdev","https:\u002F\u002Fsuperml.dev","2026-05-12 11:55:28",{"source":7,"skillName":5,"commands":40,"prompt":50,"zipAvailable":51},[41,44,47],{"tool":42,"command":43},"npx","npx skills add superMLdev\u002Fsmart-sdlc --skill deploy-runbook",{"tool":45,"command":46},"bunx","bunx skills add superMLdev\u002Fsmart-sdlc --skill deploy-runbook",{"tool":48,"command":49},"pnpm","pnpm dlx skills add superMLdev\u002Fsmart-sdlc --skill deploy-runbook","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002F7-release\u002Fdeploy-runbook\u002FSKILL.md",true,[],[54,74,87,99,117,130],{"skillNo":55,"name":56,"nameZh":6,"description":57,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":58,"categories":59,"keywords":60,"publishedAt":26},"01M71BD2HCRX8SP34Y37NZGVX2","jira-sync","Bulk sync all epics and stories from the local backlog to JIRA. Use when the user says 'sync to JIRA', 'push everything to JIRA', or 'create all JIRA tickets'.","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fjira\u002Fsync\u002FSKILL.md",[],[61,62,63,64,65,66,67,68,69,70,71,72,73],"jira sync","jira","sync","user","bulk","push","backlog","local","use","when","stories","create","tickets",{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":26},"01M71BD0C5A3A3J7WF4YCGJJPY","jira-create-story","Create a single story ticket in JIRA from a local story file. Use when the user says 'create this story in JIRA' or 'push story to JIRA'.","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fjira\u002Fcreate-story\u002FSKILL.md",[],[81,62,72,82,83,66,84,68,85,69,70,86,64],"Story","create story","jira create story","ticket","single","file",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":26},"01M71BCYVDM32DNS0XJAKTHRZ1","jira-create-epic","Create an epic in JIRA from a planning artifact. Use when the user says 'create this epic in JIRA' or 'push epic to JIRA'.","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fjira\u002Fcreate-epic\u002FSKILL.md",[],[72,94,62,95,96,64,70,69,97,66,98],"create epic","EPIC","jira create epic","planning","artifact",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":108,"publishedAt":26},"01M71BCWGYW8T1TD07JJ1G12G9","jira-connect","Set up and verify JIRA integration. Use when the user says 'connect to JIRA', 'set up JIRA', or 'configure JIRA'.","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fjira\u002Fconnect\u002FSKILL.md",[105],{"categoryNo":106,"categoryName":107,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[109,62,110,111,112,69,70,113,114,115,116,64],"jira connect","connect","SET","up","configure","verify","jira integration","integration",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":26},"01M71BCTZ1EW31JHP6AMBHEM9G","jira-conflict-detect","Check if a story is already being worked on by another team member. Use before starting any story implementation.","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fjira\u002Fconflict-detect\u002FSKILL.md",[],[124,62,125,126,127,69,128,129,81],"jira conflict detect","detect","conflict","check","team","implementation",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":26},"01M71BCRX4ZHQ60DXGRAEECHB9","gitlab-create-mr","Create a GitLab Merge Request for the current story branch. Use when the user says 'create an MR', 'open a merge request', or 'ready for review' in a GitLab project.","https:\u002F\u002Fgithub.com\u002FsuperMLdev\u002Fsmart-sdlc\u002Fblob\u002Fmaster\u002Fskills\u002Fintegrations\u002Fgitlab\u002Fcreate-mr\u002FSKILL.md",[],[72,137,138,139,140,141,142,143,144,145,69,70,146,147,148,81,64],"mr","gitlab create mr","create mr","gitlab","ready","branch","for","project","open","review","merge","request"]