[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AD44CS482KQDYBVY612E8H":3,"skill-same:01M6AD44CS482KQDYBVY612E8H":135},{"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":26,"linkOnly":27,"markdownContent":28,"markdownBody":29,"frontMatter":30,"refName":31,"commitSha":32,"skillDirectory":33,"forksCount":34,"repositoryHtmlUrl":35,"repositoryHomepageUrl":36,"ownerHtmlUrl":37,"ownerBlogUrl":38,"ownerDescription":39,"updatedAt":40,"install":41,"resources":54},"01M6AD44CS482KQDYBVY612E8H","commit-message",null,"Generate conventional commit messages - use when creating commits, writing commit messages, or asking for git commit help","github\u002Fcopilot-cli-for-beginners","github","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9919?v=4","01M6AC83DS133TPXFSP1DHNCC6","GitHub","01M6AD40HWW323GJA0ETB2A6XW",2918,"MIT","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli-for-beginners\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fcommit-message\u002FSKILL.md",[],[19,20,21,22,23,24,25],"commit","commit message","writing","git commit","generate","help","git","2026-11-10 10:12:30",false,"---\nname: commit-message\ndescription: Generate conventional commit messages - use when creating commits, writing commit messages, or asking for git commit help\n---\n\n# Commit Message Skill\n\nGenerate commit messages following the Conventional Commits specification.\n\n## Format\n\n```\n\u003Ctype>(\u003Cscope>): \u003Cdescription>\n\n[optional body]\n\n[optional footer]\n```\n\n## Types\n\n| Type | When to Use |\n|------|-------------|\n| `feat` | New feature |\n| `fix` | Bug fix |\n| `docs` | Documentation only |\n| `style` | Formatting (no code change) |\n| `refactor` | Code change that neither fixes nor adds |\n| `perf` | Performance improvement |\n| `test` | Adding or updating tests |\n| `chore` | Maintenance tasks |\n\n## Rules\n\n1. Subject line maximum 72 characters\n2. Use imperative mood (\"add\" not \"added\" or \"adds\")\n3. No period at the end of subject line\n4. Separate subject from body with blank line\n5. Body explains **what** and **why**, not how\n\n## Examples\n\nSimple:\n```\nfix(auth): prevent redirect loop on expired sessions\n```\n\nWith body:\n```\nfeat(api): add rate limiting to public endpoints\n\n- Limits requests to 100\u002Fminute per IP\n- Returns 429 status with retry-after header\n- Configurable via RATE_LIMIT_MAX env variable\n\nCloses #234\n```\n","# Commit Message Skill\n\nGenerate commit messages following the Conventional Commits specification.\n\n## Format\n\n```\n\u003Ctype>(\u003Cscope>): \u003Cdescription>\n\n[optional body]\n\n[optional footer]\n```\n\n## Types\n\n| Type | When to Use |\n|------|-------------|\n| `feat` | New feature |\n| `fix` | Bug fix |\n| `docs` | Documentation only |\n| `style` | Formatting (no code change) |\n| `refactor` | Code change that neither fixes nor adds |\n| `perf` | Performance improvement |\n| `test` | Adding or updating tests |\n| `chore` | Maintenance tasks |\n\n## Rules\n\n1. Subject line maximum 72 characters\n2. Use imperative mood (\"add\" not \"added\" or \"adds\")\n3. No period at the end of subject line\n4. Separate subject from body with blank line\n5. Body explains **what** and **why**, not how\n\n## Examples\n\nSimple:\n```\nfix(auth): prevent redirect loop on expired sessions\n```\n\nWith body:\n```\nfeat(api): add rate limiting to public endpoints\n\n- Limits requests to 100\u002Fminute per IP\n- Returns 429 status with retry-after header\n- Configurable via RATE_LIMIT_MAX env variable\n\nCloses #234\n```\n",{"name":5,"description":7},"main","802c19ea0986cd2a11bc0daedb9ad29ae0c081f8",".github\u002Fskills\u002Fcommit-message",2621,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli-for-beginners","https:\u002F\u002Fgh.io\u002Fcopilot-cli-course","https:\u002F\u002Fgithub.com\u002Fgithub","https:\u002F\u002Fgithub.com\u002Fabout","How people build software.","2026-11-12 05:49:45",{"source":8,"skillName":5,"commands":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add github\u002Fcopilot-cli-for-beginners --skill commit-message",{"tool":47,"command":48},"bunx","bunx skills add github\u002Fcopilot-cli-for-beginners --skill commit-message",{"tool":50,"command":51},"pnpm","pnpm dlx skills add github\u002Fcopilot-cli-for-beginners --skill commit-message","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli-for-beginners\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fcommit-message\u002FSKILL.md",true,[55,61,65,69,73,77,81,85,89,93,97,101,105,109,115,119,123,127,131],{"path":56,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":59,"sourceHtmlUrl":60},"AI-AND-LLM.md","REFERENCE","参考文档",10617,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FAI-AND-LLM.md",{"path":62,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":63,"sourceHtmlUrl":64},"ATTACK-CLASSES.md",15695,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FATTACK-CLASSES.md",{"path":66,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":67,"sourceHtmlUrl":68},"CLIENT-SIDE.md",8594,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FCLIENT-SIDE.md",{"path":70,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":71,"sourceHtmlUrl":72},"CLOUD-AND-DEPLOYMENT.md",8291,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FCLOUD-AND-DEPLOYMENT.md",{"path":74,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":75,"sourceHtmlUrl":76},"DATA-ISOLATION-AND-LIFECYCLE.md",7798,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FDATA-ISOLATION-AND-LIFECYCLE.md",{"path":78,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":79,"sourceHtmlUrl":80},"DESKTOP-MOBILE-AND-LOCAL-IPC.md",8739,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FDESKTOP-MOBILE-AND-LOCAL-IPC.md",{"path":82,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":83,"sourceHtmlUrl":84},"HUNTING.md",22446,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FHUNTING.md",{"path":86,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":87,"sourceHtmlUrl":88},"MEMORY-SAFETY-AND-BINARY.md",10513,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FMEMORY-SAFETY-AND-BINARY.md",{"path":90,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":91,"sourceHtmlUrl":92},"PROTOCOLS-RPC-AND-MESSAGING.md",7483,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FPROTOCOLS-RPC-AND-MESSAGING.md",{"path":94,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":95,"sourceHtmlUrl":96},"RECONNAISSANCE.md",15902,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FRECONNAISSANCE.md",{"path":98,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":99,"sourceHtmlUrl":100},"report-schema.json",14494,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002Freport-schema.json",{"path":102,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":103,"sourceHtmlUrl":104},"RESOURCE-EXHAUSTION-AND-AVAILABILITY.md",7476,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FRESOURCE-EXHAUSTION-AND-AVAILABILITY.md",{"path":106,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":107,"sourceHtmlUrl":108},"SUPPLY-CHAIN-AND-RELEASE.md",7258,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FSUPPLY-CHAIN-AND-RELEASE.md",{"path":110,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":113,"sourceHtmlUrl":114},"validate-coverage-ledger.cjs","SCRIPT","脚本",33522,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002Fvalidate-coverage-ledger.cjs",{"path":116,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":117,"sourceHtmlUrl":118},"validate-coverage-ledger.test.cjs",28483,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002Fvalidate-coverage-ledger.test.cjs",{"path":120,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":121,"sourceHtmlUrl":122},"validate-findings.cjs",28806,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002Fvalidate-findings.cjs",{"path":124,"resourceType":111,"resourceTypeDesc":112,"sizeBytes":125,"sourceHtmlUrl":126},"validate-findings.test.cjs",26384,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002Fvalidate-findings.test.cjs",{"path":128,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":129,"sourceHtmlUrl":130},"VALIDATION-AND-REPORTING.md",17843,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FVALIDATION-AND-REPORTING.md",{"path":132,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":133,"sourceHtmlUrl":134},"WEB-PROTOCOL-AND-AUTH.md",12300,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FWEB-PROTOCOL-AND-AUTH.md",[136,153,163,168,186,192],{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":147,"publishedAt":26},"01M6AD4DRS45DQ1ZVYEBZEA5D2","pytest-gen","Generate comprehensive pytest tests - use when generating tests, creating test suites, or testing Python code","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli-for-beginners\u002Fblob\u002Fmain\u002Fsamples\u002Fskills\u002Fpytest-gen\u002FSKILL.md",[142],{"categoryNo":143,"categoryName":144,"taxonomyType":145,"taxonomyTypeDesc":146},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[148,149,23,150,151,152],"pytest gen","code","test","python","testing",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":159,"publishedAt":26},"01M6AD4CFEVKMPAVTGZ1MW8Z97","hello-world","A minimal skill example - use when learning the skill format","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli-for-beginners\u002Fblob\u002Fmain\u002Fsamples\u002Fskills\u002Fhello-world\u002FSKILL.md",[],[160,161,162],"hello","hello world","minimal skill",{"skillNo":164,"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":165,"categories":166,"keywords":167,"publishedAt":26},"01M6AD4AZP3G3R8K88PYRM80RA","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli-for-beginners\u002Fblob\u002Fmain\u002Fsamples\u002Fskills\u002Fcommit-message\u002FSKILL.md",[],[20,19,23,25,24,22,21],{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":179,"publishedAt":26},"01M6AD494SDGGE3CH1XHND3A0K","code-checklist","Team code quality checklist - use for checking Python code quality, bugs, security issues, and best practices","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli-for-beginners\u002Fblob\u002Fmain\u002Fsamples\u002Fskills\u002Fcode-checklist\u002FSKILL.md",[174],{"categoryNo":175,"categoryName":176,"taxonomyType":177,"taxonomyTypeDesc":178},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[180,149,181,182,183,184,185,151],"code checklist","issues","best practices","code quality","python code quality","security",{"skillNo":187,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":188,"categories":189,"keywords":191,"publishedAt":26},"01M6AD47MGW8PFFB90JHPEZNEN","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli-for-beginners\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fpytest-gen\u002FSKILL.md",[190],{"categoryNo":143,"categoryName":144,"taxonomyType":145,"taxonomyTypeDesc":146},[148,152,151,150,23,149],{"skillNo":193,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":196,"publishedAt":26},"01M6AD46GGK4H3QBHARSYDMZ0Q","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli-for-beginners\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fhello-world\u002FSKILL.md",[],[161,160,162]]