[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DY5FS2Z2XZ9B2H8PGMRJ4N":3,"skill-same:01M6DY5FS2Z2XZ9B2H8PGMRJ4N":126},{"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":17,"publishedAt":22,"linkOnly":23,"markdownContent":24,"markdownBody":24,"frontMatter":25,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":29,"repositoryHtmlUrl":30,"repositoryHomepageUrl":6,"ownerHtmlUrl":31,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":32,"install":33,"resources":46},"01M6DY5FS2Z2XZ9B2H8PGMRJ4N","ship-secure-code",null,"ship-it-ops\u002Fship-code","ship-it-ops","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F263837966?v=4","01M6DY56QHBFJWYGF9BDDW64MA","ShipIt Ops","01M6DY56V7WN9HAEV565N3E5C1",4,"MIT","https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fplugins\u002Fship-secure-code\u002Fskills\u002Fship-secure-code\u002FSKILL.md",[],[18,19,20,21],"secure","code","ship","ship secure code","2026-11-10 10:12:30",false,"..\u002F..\u002F..\u002F..\u002Fskills\u002Fship-secure-code\u002FSKILL.md",{},"main","c1e49d8a839ba1a3a183b1828f77f63547572068","plugins\u002Fship-secure-code\u002Fskills\u002Fship-secure-code",0,"https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code","https:\u002F\u002Fgithub.com\u002Fship-it-ops","2026-06-16 12:59:46",{"source":7,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add ship-it-ops\u002Fship-code --skill ship-secure-code",{"tool":39,"command":40},"bunx","bunx skills add ship-it-ops\u002Fship-code --skill ship-secure-code",{"tool":42,"command":43},"pnpm","pnpm dlx skills add ship-it-ops\u002Fship-code --skill ship-secure-code","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fplugins\u002Fship-secure-code\u002Fskills\u002Fship-secure-code\u002FSKILL.md",true,[47,53,59,63,67,71,75,78,82,86,90,94,98,102,106,110,114,118,122],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"examples","OTHER","其他",44,"https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fplugins\u002Fship-secure-code\u002Fskills\u002Fship-secure-code\u002Fexamples",{"path":54,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":57,"sourceHtmlUrl":58},"lang-java.md","REFERENCE","参考文档",48,"https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fplugins\u002Fship-secure-code\u002Fskills\u002Fship-secure-code\u002Flang-java.md",{"path":60,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":61,"sourceHtmlUrl":62},"lang-python.md",50,"https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fplugins\u002Fship-secure-code\u002Fskills\u002Fship-secure-code\u002Flang-python.md",{"path":64,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":65,"sourceHtmlUrl":66},"lang-typescript.md",54,"https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fplugins\u002Fship-secure-code\u002Fskills\u002Fship-secure-code\u002Flang-typescript.md",{"path":68,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":69,"sourceHtmlUrl":70},"overrides.example.md",56,"https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fplugins\u002Fship-secure-code\u002Fskills\u002Fship-secure-code\u002Foverrides.example.md",{"path":72,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":73,"sourceHtmlUrl":74},"reference-categories.md",59,"https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fplugins\u002Fship-secure-code\u002Fskills\u002Fship-secure-code\u002Freference-categories.md",{"path":76,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":57,"sourceHtmlUrl":77},"reference.md","https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fplugins\u002Fship-secure-code\u002Fskills\u002Fship-secure-code\u002Freference.md",{"path":79,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Faction-button.md",6360,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fhig-components-menus\u002Freferences\u002Faction-button.md",{"path":83,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fbuttons.md",26120,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fhig-components-menus\u002Freferences\u002Fbuttons.md",{"path":87,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fcontext-menus.md",10871,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fhig-components-menus\u002Freferences\u002Fcontext-menus.md",{"path":91,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fdisclosure-controls.md",6593,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fhig-components-menus\u002Freferences\u002Fdisclosure-controls.md",{"path":95,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fdock-menus.md",2994,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fhig-components-menus\u002Freferences\u002Fdock-menus.md",{"path":99,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Fedit-menus.md",7964,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fhig-components-menus\u002Freferences\u002Fedit-menus.md",{"path":103,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Fmenus.md",20061,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fhig-components-menus\u002Freferences\u002Fmenus.md",{"path":107,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":108,"sourceHtmlUrl":109},"references\u002Fpop-up-buttons.md",4919,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fhig-components-menus\u002Freferences\u002Fpop-up-buttons.md",{"path":111,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":112,"sourceHtmlUrl":113},"references\u002Fpull-down-buttons.md",6603,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fhig-components-menus\u002Freferences\u002Fpull-down-buttons.md",{"path":115,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":116,"sourceHtmlUrl":117},"references\u002Fthe-menu-bar.md",31839,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fhig-components-menus\u002Freferences\u002Fthe-menu-bar.md",{"path":119,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":120,"sourceHtmlUrl":121},"references\u002Ftoolbars.md",27187,"https:\u002F\u002Fgithub.com\u002Fagency-black\u002FSkills\u002Fblob\u002Fmain\u002Fhig-components-menus\u002Freferences\u002Ftoolbars.md",{"path":123,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":124,"sourceHtmlUrl":125},"tests",41,"https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fplugins\u002Fship-secure-code\u002Fskills\u002Fship-secure-code\u002Ftests",[127,161,182,205,225,244],{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":143,"publishedAt":22},"01M6DY6C8NF66XBN86QNPGQKQ0","ship-tested-code","Apply testing best practices (test design, TDD, test strategy, mocking, integration testing, CI\u002FCD testing) when writing or reviewing tests for Python, TypeScript\u002FJavaScript, or Java code. Invoke explicitly for test reviews or test strategy assessments. Do not invoke for shell scripts, config files, or one-off scripts.","https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fskills\u002Fship-tested-code\u002FSKILL.md",[133,138],{"categoryNo":134,"categoryName":135,"taxonomyType":136,"taxonomyTypeDesc":137},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":139,"categoryName":140,"taxonomyType":141,"taxonomyTypeDesc":142},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[19,20,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,123,159,160],"ship tested code","testing","design","writing","typescript","python","config","ci","shell scripts","testing best practices","read","strategy","test strategy","files","do","scripts","integration testing",{"skillNo":162,"name":5,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":170,"publishedAt":22},"01M6DY686PNJE1PG045A98VAWX","Apply application-security principles (auth, input validation, injection, XSS\u002Foutput encoding, CSRF\u002Forigin, crypto, secrets, supply chain, PII\u002Flogging, resource exhaustion, path traversal, deserialization\u002FSSRF) when writing or reviewing security-sensitive Python, TypeScript\u002FJavaScript, or Java code. Invoke explicitly for security reviews or as the delegation target from ship-reviewed-prs SC persona. Do not invoke for pure styling, shell scripts, one-off prototypes, or non-security code review (use ship-clean-code).","https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fskills\u002Fship-secure-code\u002FSKILL.md",[166,169],{"categoryNo":167,"categoryName":168,"taxonomyType":136,"taxonomyTypeDesc":137},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":139,"categoryName":140,"taxonomyType":141,"taxonomyTypeDesc":142},[18,19,20,21,171,147,172,148,173,174,175,176,177,178,152,179,154,180,181,159],"code review","review","auth","delegation","xss","pii","csrf","secrets","persona","clean","chain",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":22},"01M6DY62F7B02FM4FQWDE9M44Q","ship-reviewed-prs","Perform a thorough, multi-persona pull-request review (senior engineer, senior security engineer, senior infra\u002FSRE, conditional senior data engineer, plus test-coverage signal). Reads existing PR comment threads and suppresses findings that are already resolved, marked won't-fix, or addressed in a later commit. Computes a deterministic APPROVE \u002F REQUEST_CHANGES \u002F COMMENT decision and can submit the review via gh CLI (with confirmation gating in local mode and full automation in CI).","https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fskills\u002Fship-reviewed-prs\u002FSKILL.md",[],[20,189,172,190,191,151,192,193,179,194,195,196,197,198,199,200,201,202,203,204],"ship reviewed prs","cli","commit","data engineer","senior data engineer","Bash","decision","confirmation","coverage","fix","sre","auto","engineer","later","local","submit",{"skillNo":206,"name":207,"nameZh":6,"description":208,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":209,"categories":210,"keywords":214,"publishedAt":22},"01M6DY5X0RVY48QXJWV4NBZKM6","ship-devops","Apply DevOps and CI\u002FCD review principles (CI pipelines, infrastructure-as-code, container images, secrets\u002Fconfig sourcing, observability, release management, schema migrations, health\u002Freadiness, SLO\u002Fperformance, incident hygiene, and flow\u002Fbatch signals) when writing or reviewing pipeline YAML, IaC, Dockerfiles, k8s manifests, deploy scripts, and the application code that integrates with them. Invoke explicitly for DevOps\u002FCI\u002FCD reviews, or as the delegation target from the ship-reviewed-prs IN (Senior Infra \u002F SRE \u002F DevOps) persona. Do not invoke for pure styling, application-only logic, one-off prototypes, or test-design depth (use ship-clean-code, ship-secure-code, or ship-tested-code respectively).","https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fskills\u002Fship-devops\u002FSKILL.md",[211],{"categoryNo":212,"categoryName":213,"taxonomyType":136,"taxonomyTypeDesc":137},"01JBSEEDCAT000000000000011","运维与部署",[20,215,216,146,147,172,217,19,174,218,151,219,179,199,220,221,222,223,180,224],"devops","ship devops","performance","batch","pipeline","slo","only","release management","images","incident",{"skillNo":226,"name":227,"nameZh":6,"description":228,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":229,"categories":230,"keywords":232,"publishedAt":22},"01M6DY5RE9YW3HXW7F2B66974B","ship-debugged-code","Apply systematic debugging practices (reproduction, hypothesis-driven investigation, bisection, root-cause analysis, regression-test design) when investigating, isolating, or fixing bugs in Python, TypeScript\u002FJavaScript, or Java code. Invoke explicitly for bug investigations, incident postmortems, or debugging reviews. Do not invoke for greenfield feature work or pure refactoring with no failure signal.","https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fskills\u002Fship-debugged-code\u002FSKILL.md",[231],{"categoryNo":139,"categoryName":140,"taxonomyType":141,"taxonomyTypeDesc":142},[19,20,233,146,148,149,234,235,236,237,194,238,239,240,154,241,158,224,242,243],"ship debugged code","systematic debugging","debugging","java","analysis","refactoring","regression","work","bug","feature","systematic",{"skillNo":245,"name":246,"nameZh":6,"description":247,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":248,"categories":249,"keywords":251,"publishedAt":22},"01M6DY5KRH2Z1MXQ9DHKAS13BK","ship-clean-code","Apply clean code principles (naming, functions, classes, error handling, testing, formatting) when writing or reviewing production-quality Python, TypeScript\u002FJavaScript, or Java code. Invoke explicitly for PR reviews or code quality assessments. Do not invoke for shell scripts, SQL queries, config files, quick prototypes, or single-expression snippets.","https:\u002F\u002Fgithub.com\u002Fship-it-ops\u002Fship-code\u002Fblob\u002Fmain\u002Fskills\u002Fship-clean-code\u002FSKILL.md",[250],{"categoryNo":139,"categoryName":140,"taxonomyType":141,"taxonomyTypeDesc":142},[19,252,20,180,253,145,147,148,150,254,255,152,154,256,157,158,257,258,159,259],"clean code","ship clean code","code quality","sql","sql queries","snippets","formatting","expression"]