[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CF5VXPJR5N1CFEP2E56XKD":3,"skill-same:01M6CF5VXPJR5N1CFEP2E56XKD":128},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":59,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":61,"install":62,"resources":75},"01M6CF5VXPJR5N1CFEP2E56XKD","automating-devops",null,"DevOps knowledge reference covering Git workflows, testing strategies, DevSecOps, release pipeline orchestration (release.yml, multi-arch images, cosign integration), CI\u002FCD pipelines, database management, observability, and performance optimization. Use when working with Git, CI\u002FCD, release pipelines, ghcr image publishing, testing, monitoring, or infrastructure automation.","telagod\u002Fcode-abyss","telagod","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F39987513?v=4","01M6CF4EH93PP5CWH3J34Z66DP","01M6CF4EN6W4QFXK3PRE9W29X8",244,"MIT","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002Fautomating-devops\u002FSKILL.md",[17,22,25],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"automating devops","devops","observability","images","publishing","knowledge","pipeline","Optimization","ci","monitoring","testing","database","git","release","infrastructure","workflows","orchestration","performance","devsecops","image","2026-11-10 10:12:30",false,"---\nname: automating-devops\ndescription: DevOps knowledge reference covering Git workflows, testing strategies, DevSecOps, release pipeline orchestration (release.yml, multi-arch images, cosign integration), CI\u002FCD pipelines, database management, observability, and performance optimization. Use when working with Git, CI\u002FCD, release pipelines, ghcr image publishing, testing, monitoring, or infrastructure automation.\nuser-invocable: false\n---\n\n# 炼器秘典 · DevOps\n\n> **判断先于执行**：决定「是否做 \u002F 选什么 \u002F 如何取舍」（栈、方案、架构、权衡）前，先读领域判断内核 `skills\u002F_kernel\u002Fbackend\u002FSKILL.md`——它管 judgment，本秘典管 execution；冲突时以内核判断为准。\n\n## 路由\n\n| 意图 | 秘典 | 核心 |\n|------|------|------|\n| 版本控制 | [git-workflow](git-workflow.md) | Git 分支策略、PR 流程、rebase vs merge |\n| 测试 | [testing](testing.md) | 单元\u002F集成\u002FE2E、TDD、覆盖率 |\n| 安全开发 | [devsecops](devsecops.md) | CI\u002FCD 安全、SAST\u002FDAST、供应链 |\n| Release 编排 | [release-pipelines](release-pipelines.md) | release.yml 多 job 骨架、metadata tag、cosign 集成、踩坑字典 |\n| 数据库 | [database](database.md) | SQL\u002FNoSQL 选型、索引优化、迁移 |\n| 性能 | [performance](performance.md) | Profiling、火焰图、基准\u002F负载测试 |\n| 可观测 | [observability](observability.md) | 日志\u002F指标\u002F追踪三支柱、SLO\u002FSLI |\n| 成本 | [cost-optimization](cost-optimization.md) | FinOps、右尺寸、Spot、自动伸缩 |\n\n## CI\u002FCD 管道模式\n\n| 阶段 | 动作 | 工具示例 |\n|------|------|----------|\n| Commit | lint + unit test + SAST | ESLint、pytest、Semgrep |\n| Build | 构建 + 镜像打包 | Docker、Buildpacks |\n| Test | 集成测试 + E2E | Playwright、k6 |\n| Security | DAST + 依赖扫描 + 密钥检测 | OWASP ZAP、Trivy、gitleaks |\n| Deploy | 渐进发布(canary\u002Fblue-green) | ArgoCD Rollouts、Flagger |\n| Verify | 冒烟测试 + SLO 校验 | Prometheus、Grafana |\n| Rollback | 自动回滚(SLO 违约) | ArgoCD、Helm rollback |\n\n## 原则\n\n```\n自动化一切 | 快速反馈(\u003C10min) | 主干开发短分支 | 不可变制品 | 环境即代码\n```","# 炼器秘典 · DevOps\n\n> **判断先于执行**：决定「是否做 \u002F 选什么 \u002F 如何取舍」（栈、方案、架构、权衡）前，先读领域判断内核 `skills\u002F_kernel\u002Fbackend\u002FSKILL.md`——它管 judgment，本秘典管 execution；冲突时以内核判断为准。\n\n## 路由\n\n| 意图 | 秘典 | 核心 |\n|------|------|------|\n| 版本控制 | [git-workflow](git-workflow.md) | Git 分支策略、PR 流程、rebase vs merge |\n| 测试 | [testing](testing.md) | 单元\u002F集成\u002FE2E、TDD、覆盖率 |\n| 安全开发 | [devsecops](devsecops.md) | CI\u002FCD 安全、SAST\u002FDAST、供应链 |\n| Release 编排 | [release-pipelines](release-pipelines.md) | release.yml 多 job 骨架、metadata tag、cosign 集成、踩坑字典 |\n| 数据库 | [database](database.md) | SQL\u002FNoSQL 选型、索引优化、迁移 |\n| 性能 | [performance](performance.md) | Profiling、火焰图、基准\u002F负载测试 |\n| 可观测 | [observability](observability.md) | 日志\u002F指标\u002F追踪三支柱、SLO\u002FSLI |\n| 成本 | [cost-optimization](cost-optimization.md) | FinOps、右尺寸、Spot、自动伸缩 |\n\n## CI\u002FCD 管道模式\n\n| 阶段 | 动作 | 工具示例 |\n|------|------|----------|\n| Commit | lint + unit test + SAST | ESLint、pytest、Semgrep |\n| Build | 构建 + 镜像打包 | Docker、Buildpacks |\n| Test | 集成测试 + E2E | Playwright、k6 |\n| Security | DAST + 依赖扫描 + 密钥检测 | OWASP ZAP、Trivy、gitleaks |\n| Deploy | 渐进发布(canary\u002Fblue-green) | ArgoCD Rollouts、Flagger |\n| Verify | 冒烟测试 + SLO 校验 | Prometheus、Grafana |\n| Rollback | 自动回滚(SLO 违约) | ArgoCD、Helm rollback |\n\n## 原则\n\n```\n自动化一切 | 快速反馈(\u003C10min) | 主干开发短分支 | 不可变制品 | 环境即代码\n```",{"name":5,"description":7,"user-invocable":50},"main","2544577cf03a67522466450000731e52c64a5184","skills\u002Fautomating-devops",35,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss","https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fcode-abyss","https:\u002F\u002Fgithub.com\u002Ftelagod","2026-07-19 23:15:32",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add telagod\u002Fcode-abyss --skill automating-devops",{"tool":68,"command":69},"bunx","bunx skills add telagod\u002Fcode-abyss --skill automating-devops",{"tool":71,"command":72},"pnpm","pnpm dlx skills add telagod\u002Fcode-abyss --skill automating-devops","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002Fautomating-devops\u002FSKILL.md",true,[76,82,86,90,94,98,104,108,112,116,120,124],{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"agents\u002Fopenai.yaml","REFERENCE","参考文档",226,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002F1139030773-cmd\u002Fagent-workflow-system\u002Fskills\u002Fagent-newbie-guide\u002Fagents\u002Fopenai.yaml",{"path":83,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":84,"sourceHtmlUrl":85},"cost-optimization.md",6431,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002Fautomating-devops\u002Fcost-optimization.md",{"path":87,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":88,"sourceHtmlUrl":89},"database.md",4280,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002Fautomating-devops\u002Fdatabase.md",{"path":91,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":92,"sourceHtmlUrl":93},"devsecops.md",4071,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002Fautomating-devops\u002Fdevsecops.md",{"path":95,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":96,"sourceHtmlUrl":97},"git-workflow.md",3779,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002Fautomating-devops\u002Fgit-workflow.md",{"path":99,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":102,"sourceHtmlUrl":103},"icon.svg","ASSET","资产文件",255,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002F1139030773-cmd\u002Fagent-workflow-system\u002Fskills\u002Fagent-newbie-guide\u002Ficon.svg",{"path":105,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":106,"sourceHtmlUrl":107},"manifest.json",285,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002F1139030773-cmd\u002Fagent-workflow-system\u002Fskills\u002Fagent-newbie-guide\u002Fmanifest.json",{"path":109,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":110,"sourceHtmlUrl":111},"observability.md",7277,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002Fautomating-devops\u002Fobservability.md",{"path":113,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":114,"sourceHtmlUrl":115},"performance.md",7918,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002Fautomating-devops\u002Fperformance.md",{"path":117,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":118,"sourceHtmlUrl":119},"README.md",336,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002F1139030773-cmd\u002Fagent-workflow-system\u002Fskills\u002Fagent-newbie-guide\u002FREADME.md",{"path":121,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":122,"sourceHtmlUrl":123},"release-pipelines.md",17847,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002Fautomating-devops\u002Frelease-pipelines.md",{"path":125,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":126,"sourceHtmlUrl":127},"testing.md",6430,"https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Fskills\u002Fautomating-devops\u002Ftesting.md",[129,136,144,151,162,172],{"skillNo":130,"name":131,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":134,"publishedAt":49},"01M6CF94Y2R0JYCS270NC9BKM5","parse-error","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fskill-contract\u002Fparse-error\u002Ftools\u002Fparse-error\u002FSKILL.md",[],[135],"parse error",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":49},"01M6CF925B128W5YAHWVYSJQTG","multi-script","too many scripts","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fskill-contract\u002Fmulti-script\u002Ftools\u002Fmulti-script\u002FSKILL.md",[],[143],"multi script",{"skillNo":145,"name":146,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":149,"publishedAt":49},"01M6CF8ZYT3KZ4ZZAATFJH0DV4","missing-description","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fskill-contract\u002Fmissing-description\u002Ftools\u002Fmissing-description\u002FSKILL.md",[],[150],"missing description",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":49},"01M6CF8XB2Z8NAPYW3W7S7KW1S","invalid-tools","invalid tool name","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fskill-contract\u002Finvalid-tools\u002Ftools\u002Finvalid-tools\u002FSKILL.md",[],[158,159,160,161],"Tools","invalid tools","Bash","tool",{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":169,"publishedAt":49},"01M6CF8TTPYFV83HSF057F95QM","clash-skill","first duplicate","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fskill-contract\u002Fduplicate\u002Ftools\u002Falpha\u002FSKILL.md",[168],{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},[170,171],"clash skill","first",{"skillNo":173,"name":164,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":178,"publishedAt":49},"01M6CF8RAHFEPXNB6SWBR2T49M","second duplicate","https:\u002F\u002Fgithub.com\u002Ftelagod\u002Fcode-abyss\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fskill-contract\u002Fduplicate\u002Fdomains\u002Falpha\u002FSKILL.md",[177],{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},[170]]