[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CWJDZ3PC873BAEND9HX79E":3,"skill-same:01M6CWJDZ3PC873BAEND9HX79E":52},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":32,"commitSha":33,"skillDirectory":5,"forksCount":34,"repositoryHtmlUrl":35,"repositoryHomepageUrl":6,"ownerHtmlUrl":36,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":37,"install":38,"resources":51},"01M6CWJDZ3PC873BAEND9HX79E","blue-green",null,"Blue-green deployment patterns","ffsshhttiikk\u002Fopencode-agents-skills","ffsshhttiikk","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F226346827?v=4","01M6CWD9RR3Y7VRQX3MXYC8FYH","01M6CWD9WVPYAZW0J82G1VKGHY",3,"MIT","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fblue-green\u002FSKILL.md",[],[18,19,20,21,22,23,24],"green","blue green","deployment","devops","opencode","engineer","patterns","2026-11-10 10:12:30",false,"---\nname: blue-green\ndescription: Blue-green deployment patterns\nlicense: MIT\ncompatibility: opencode\nmetadata:\n  audience: devops-engineer, platform-engineer\n  category: devops\n---\n\n## What I do\n\n- Design and implement blue-green deployment architectures\n- Manage environment switching and traffic routing\n- Create automated rollback procedures\n- Build deployment automation pipelines\n- Monitor environment health during transitions\n- Coordinate database and state changes across environments\n\n## When to use me\n\n- When deploying applications requiring zero downtime\n- When you need quick rollback capabilities\n- When testing in production-equivalent environments\n- When managing stateful applications with complex data requirements\n- When implementing disaster recovery strategies\n- When performing infrastructure migrations\n\n## Key Concepts\n\n### Environment Setup\n\n```yaml\n# Terraform example for blue-green infrastructure\nresource \"aws_lb\" \"main\" {\n  name               = \"main-lb\"\n  load_balancer_type = \"application\"\n  subnets            = aws_subnet.public[*].id\n}\n\nresource \"aws_lb_target_group\" \"blue\" {\n  name     = \"blue-tg\"\n  port     = 80\n  protocol = \"HTTP\"\n  vpc_id   = aws_vpc.main.id\n}\n\nresource \"aws_lb_target_group\" \"green\" {\n  name     = \"green-tg\"\n  port     = 80\n  protocol = \"HTTP\"\n  vpc_id   = aws_vpc.main.id\n}\n```\n\n### Deployment Workflow\n\n1. **Deploy** new version to inactive environment (green)\n2. **Verify** green environment passes health checks\n3. **Route** traffic from blue to green\n4. **Monitor** green environment under production load\n5. **Keep** blue environment running for rollback\n6. **Decommission** old environment after verification\n\n### Key Patterns\n\n- **Immutable Infrastructure**: Recreate environments from scratch each deployment\n- **Feature Flags**: Toggle features independently of deployments\n- **Database Migrations**: Use backward-compatible schemas\n- **Connection Draining**: Gracefully move connections during switch\n- **Canary Analysis**: Start with small traffic percentage before full switch\n","## What I do\n\n- Design and implement blue-green deployment architectures\n- Manage environment switching and traffic routing\n- Create automated rollback procedures\n- Build deployment automation pipelines\n- Monitor environment health during transitions\n- Coordinate database and state changes across environments\n\n## When to use me\n\n- When deploying applications requiring zero downtime\n- When you need quick rollback capabilities\n- When testing in production-equivalent environments\n- When managing stateful applications with complex data requirements\n- When implementing disaster recovery strategies\n- When performing infrastructure migrations\n\n## Key Concepts\n\n### Environment Setup\n\n```yaml\n# Terraform example for blue-green infrastructure\nresource \"aws_lb\" \"main\" {\n  name               = \"main-lb\"\n  load_balancer_type = \"application\"\n  subnets            = aws_subnet.public[*].id\n}\n\nresource \"aws_lb_target_group\" \"blue\" {\n  name     = \"blue-tg\"\n  port     = 80\n  protocol = \"HTTP\"\n  vpc_id   = aws_vpc.main.id\n}\n\nresource \"aws_lb_target_group\" \"green\" {\n  name     = \"green-tg\"\n  port     = 80\n  protocol = \"HTTP\"\n  vpc_id   = aws_vpc.main.id\n}\n```\n\n### Deployment Workflow\n\n1. **Deploy** new version to inactive environment (green)\n2. **Verify** green environment passes health checks\n3. **Route** traffic from blue to green\n4. **Monitor** green environment under production load\n5. **Keep** blue environment running for rollback\n6. **Decommission** old environment after verification\n\n### Key Patterns\n\n- **Immutable Infrastructure**: Recreate environments from scratch each deployment\n- **Feature Flags**: Toggle features independently of deployments\n- **Database Migrations**: Use backward-compatible schemas\n- **Connection Draining**: Gracefully move connections during switch\n- **Canary Analysis**: Start with small traffic percentage before full switch\n",{"name":5,"license":14,"metadata":30,"description":7,"compatibility":22},{"audience":31,"category":21},"devops-engineer, platform-engineer","main","5f7a3e453c98261f93d19a6a7de44ad8f7b72d41",2,"https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk","2026-03-01 06:55:40",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add ffsshhttiikk\u002Fopencode-agents-skills --skill blue-green",{"tool":44,"command":45},"bunx","bunx skills add ffsshhttiikk\u002Fopencode-agents-skills --skill blue-green",{"tool":47,"command":48},"pnpm","pnpm dlx skills add ffsshhttiikk\u002Fopencode-agents-skills --skill blue-green","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fblue-green\u002FSKILL.md",true,[],[53,64,74,83,93,102],{"skillNo":54,"name":55,"nameZh":6,"description":56,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":57,"categories":58,"keywords":59,"publishedAt":25},"01M6CXT9TXDF79BWJTMQAPB49G","xamarin","Xamarin cross-platform development","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fxamarin\u002FSKILL.md",[],[55,60,61,62,22,63],"platform","cross-platform","mobile","development",{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":25},"01M6CXT8AD04MFYDA32VW3FKAG","wrangling","Data wrangling fundamentals","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwrangling\u002FSKILL.md",[],[66,71,22,72,73],"data wrangling","science","data",{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":25},"01M6CXT717GCN7SRRNPBDP4508","windows","Windows operating system administration and scripting","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwindows\u002FSKILL.md",[],[76,81,22,82],"system","scripting",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":25},"01M6CXT54K794NMEM3XAPZZDKT","wide-column","Wide-column data model","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwide-column\u002FSKILL.md",[],[90,91,22,92,73],"wide column","databases","model",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":25},"01M6CXT28FMT2P4V9GZE67WA8E","wide-column-stores","Wide-column database stores","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwide-column-stores\u002FSKILL.md",[],[100,91,22,101],"wide column stores","database",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":25},"01M6CXT0D0M0Q4T2N7C2RX7DSN","websockets","WebSocket implementation and best practices","https:\u002F\u002Fgithub.com\u002Fffsshhttiikk\u002Fopencode-agents-skills\u002Fblob\u002Fmain\u002Fwebsockets\u002FSKILL.md",[],[104,109,110,111,22,112,113],"websocket","real-time","time","best practices","implementation"]