[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CDHB5WA9M2HWBCW0KGPAK9":3,"skill-same:01M6CDHB5WA9M2HWBCW0KGPAK9":121},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":58,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6CDHB5WA9M2HWBCW0KGPAK9","generating-smart-commits",null,"Use when generating conventional commit messages from staged git changes. Trigger with phrases like \"create commit message\", \"generate smart commit\", \"\u002Fcommit-smart\", or \"\u002Fgc\". Automatically analyzes changes to determine commit type (feat, fix, docs), identifies breaking changes, and formats according to conventional commit standards.","BbgnsurfTech\u002Fclaude-skills-collection","BbgnsurfTech","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F59598605?v=4","01M6C5ZT4G3G4QPQB64QDVW438","Bbgnsurf Technologies","01M6C5ZT8JN4VWSZZH3DD8J4EG",29,"MIT","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fgit-commit-smart\u002Fskills\u002Fgit-commit-smart\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"Generating Smart Commits","commits","commit messages","standards","gc","use","fix","edit","write","read","grep","commit","Bash","smart commit","conventional commit","messages","commit message","git","generate","create","2026-11-10 10:12:30",false,"---\ndescription: Use when generating conventional commit messages from staged git changes. Trigger with phrases like \"create commit message\", \"generate smart commit\", \"\u002Fcommit-smart\", or \"\u002Fgc\". Automatically analyzes changes to determine commit type (feat, fix, docs), identifies breaking changes, and formats according to conventional commit standards.\nallowed-tools:\n- Read\n- Write\n- Edit\n- Grep\n- Glob\n- Bash(git:*)\nname: generating-smart-commits\nlicense: MIT\nversion: 1.0.0\n---\n\n## Prerequisites\n\nBefore using this skill, ensure:\n- Git repository is initialized in {baseDir}\n- Changes are staged using `git add`\n- User has permission to create commits\n- Git user name and email are configured\n\n## Instructions\n\n1. **Analyze Staged Changes**: Examine git diff output to understand modifications\n2. **Determine Commit Type**: Classify changes as feat, fix, docs, style, refactor, test, or chore\n3. **Identify Scope**: Extract affected module or component from file paths\n4. **Detect Breaking Changes**: Look for API changes, removed features, or incompatible modifications\n5. **Format Message**: Construct message following pattern: `type(scope): description`\n6. **Present for Review**: Show generated message and ask for confirmation before committing\n\n## Output\n\nGenerates conventional commit messages in this format:\n\n```\ntype(scope): brief description\n\n- Detailed explanation of changes\n- Why the change was necessary\n- Impact on existing functionality\n\nBREAKING CHANGE: description if applicable\n```\n\nExamples:\n- `feat(auth): implement JWT authentication middleware`\n- `fix(api): resolve null pointer exception in user endpoint`\n- `docs(readme): update installation instructions`\n\n## Error Handling\n\nCommon issues and solutions:\n\n**No Staged Changes**\n- Error: \"No changes staged for commit\"\n- Solution: Stage files using `git add \u003Cfiles>` before generating commit message\n\n**Git Not Initialized**\n- Error: \"Not a git repository\"\n- Solution: Initialize git with `git init` or navigate to repository root\n\n**Uncommitted Changes**\n- Warning: \"Unstaged changes detected\"\n- Solution: Stage relevant changes or use `git stash` for unrelated modifications\n\n**Invalid Commit Format**\n- Error: \"Generated message doesn't follow conventional format\"\n- Solution: Review and manually adjust type, scope, or description\n\n## Resources\n\n- Conventional Commits specification: https:\u002F\u002Fwww.conventionalcommits.org\u002F\n- Git commit best practices documentation\n- Repository commit history for style consistency\n- Project-specific commit guidelines in {baseDir}\u002FCONTRIBUTING.md","## Prerequisites\n\nBefore using this skill, ensure:\n- Git repository is initialized in {baseDir}\n- Changes are staged using `git add`\n- User has permission to create commits\n- Git user name and email are configured\n\n## Instructions\n\n1. **Analyze Staged Changes**: Examine git diff output to understand modifications\n2. **Determine Commit Type**: Classify changes as feat, fix, docs, style, refactor, test, or chore\n3. **Identify Scope**: Extract affected module or component from file paths\n4. **Detect Breaking Changes**: Look for API changes, removed features, or incompatible modifications\n5. **Format Message**: Construct message following pattern: `type(scope): description`\n6. **Present for Review**: Show generated message and ask for confirmation before committing\n\n## Output\n\nGenerates conventional commit messages in this format:\n\n```\ntype(scope): brief description\n\n- Detailed explanation of changes\n- Why the change was necessary\n- Impact on existing functionality\n\nBREAKING CHANGE: description if applicable\n```\n\nExamples:\n- `feat(auth): implement JWT authentication middleware`\n- `fix(api): resolve null pointer exception in user endpoint`\n- `docs(readme): update installation instructions`\n\n## Error Handling\n\nCommon issues and solutions:\n\n**No Staged Changes**\n- Error: \"No changes staged for commit\"\n- Solution: Stage files using `git add \u003Cfiles>` before generating commit message\n\n**Git Not Initialized**\n- Error: \"Not a git repository\"\n- Solution: Initialize git with `git init` or navigate to repository root\n\n**Uncommitted Changes**\n- Warning: \"Unstaged changes detected\"\n- Solution: Stage relevant changes or use `git stash` for unrelated modifications\n\n**Invalid Commit Format**\n- Error: \"Generated message doesn't follow conventional format\"\n- Solution: Review and manually adjust type, scope, or description\n\n## Resources\n\n- Conventional Commits specification: https:\u002F\u002Fwww.conventionalcommits.org\u002F\n- Git commit best practices documentation\n- Repository commit history for style consistency\n- Project-specific commit guidelines in {baseDir}\u002FCONTRIBUTING.md",{"name":5,"license":15,"version":44,"description":7,"allowed-tools":45},"1.0.0",[46,47,48,49,50,51],"Read","Write","Edit","Grep","Glob","Bash(git:*)","main","01d3fafeca1133f841956b8b90b939fee92d71e7","plugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fgit-commit-smart\u002Fskills\u002Fgit-commit-smart",9,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech","www.bbgnsurf.com","An ICT solutions provider and software development company","2025-12-18 20:19:58",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add BbgnsurfTech\u002Fclaude-skills-collection --skill generating-smart-commits",{"tool":67,"command":68},"bunx","bunx skills add BbgnsurfTech\u002Fclaude-skills-collection --skill generating-smart-commits",{"tool":70,"command":71},"pnpm","pnpm dlx skills add BbgnsurfTech\u002Fclaude-skills-collection --skill generating-smart-commits","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fgit-commit-smart\u002Fskills\u002Fgit-commit-smart\u002FSKILL.md",true,[75,81,85,89,95,101,105,109,113,117],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"assets\u002Fcommit_template.txt","ASSET","资产文件",3793,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fgit-commit-smart\u002Fskills\u002Fgit-commit-smart\u002Fassets\u002Fcommit_template.txt",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"assets\u002Fexample_diff.txt",4216,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fgit-commit-smart\u002Fskills\u002Fgit-commit-smart\u002Fassets\u002Fexample_diff.txt",{"path":86,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":87,"sourceHtmlUrl":88},"assets\u002FREADME.md",234,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fgit-commit-smart\u002Fskills\u002Fgit-commit-smart\u002Fassets\u002FREADME.md",{"path":90,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002FREADME.md","REFERENCE","参考文档",379,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fgit-commit-smart\u002Fskills\u002Fgit-commit-smart\u002Freferences\u002FREADME.md",{"path":96,"resourceType":97,"resourceTypeDesc":98,"sizeBytes":99,"sourceHtmlUrl":100},"scripts\u002Fcommit_analyzer.py","SCRIPT","脚本",4826,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fgit-commit-smart\u002Fskills\u002Fgit-commit-smart\u002Fscripts\u002Fcommit_analyzer.py",{"path":102,"resourceType":97,"resourceTypeDesc":98,"sizeBytes":103,"sourceHtmlUrl":104},"scripts\u002Fcommit_formatter.py",2871,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fgit-commit-smart\u002Fskills\u002Fgit-commit-smart\u002Fscripts\u002Fcommit_formatter.py",{"path":106,"resourceType":97,"resourceTypeDesc":98,"sizeBytes":107,"sourceHtmlUrl":108},"scripts\u002Fgit_utils.py",2899,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fgit-commit-smart\u002Fskills\u002Fgit-commit-smart\u002Fscripts\u002Fgit_utils.py",{"path":110,"resourceType":97,"resourceTypeDesc":98,"sizeBytes":111,"sourceHtmlUrl":112},"scripts\u002FREADME.md",434,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fgit-commit-smart\u002Fskills\u002Fgit-commit-smart\u002Fscripts\u002FREADME.md",{"path":114,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":115,"sourceHtmlUrl":116},"SOURCE.md",365,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fchimera-defi-official-blog-anti-patterns\u002FSOURCE.md",{"path":118,"resourceType":91,"resourceTypeDesc":92,"sizeBytes":119,"sourceHtmlUrl":120},"TRUST.auto.yaml",2217,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fchimera-defi-official-blog-anti-patterns\u002FTRUST.auto.yaml",[122,142,159,180,193,207],{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":133,"publishedAt":39},"01M6CDVX5RHG36WP2Z7X8WAYYA","testing-visual-regression","Detect visual changes in UI components using screenshot comparison.\nUse when detecting unintended UI changes or pixel differences.\nTrigger with phrases like \"test visual changes\", \"compare screenshots\", or \"detect UI regressions\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Fvisual-regression-tester\u002Fskills\u002Fvisual-regression-tester\u002FSKILL.md",[128],{"categoryNo":129,"categoryName":130,"taxonomyType":131,"taxonomyTypeDesc":132},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[134,135,136,26,29,28,27,24,137,138,139,140,141,31],"testing visual regression","testing","regression","components","test","screenshots","screenshot","ui",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":149,"publishedAt":39},"01M6CDVT4S54EMAPZ231KSP2XQ","generating-unit-tests","Automatically generate comprehensive unit tests from source code covering happy paths, edge cases, and error conditions.\nUse when creating test coverage for functions, classes, or modules.\nTrigger with phrases like \"generate unit tests\", \"create tests for\", or \"add test coverage\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Funit-test-generator\u002Fskills\u002Funit-test-generator\u002FSKILL.md",[148],{"categoryNo":129,"categoryName":130,"taxonomyType":131,"taxonomyTypeDesc":132},[150,151,37,38,152,138,26,153,154,155,24,156,157,27,28,29,31,158],"unit tests","Generating Unit Tests","add test","functions","modules","test coverage","coverage","code","edge",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":171,"publishedAt":39},"01M6CDVPQKGQ450Q50ZC84FPMR","generating-test-reports","Generate comprehensive test reports with metrics, coverage, and visualizations.\nUse when performing specialized testing.\nTrigger with phrases like \"generate test report\", \"create test documentation\", or \"show test metrics\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Ftest-report-generator\u002Fskills\u002Ftest-report-generator\u002FSKILL.md",[165,166],{"categoryNo":129,"categoryName":130,"taxonomyType":131,"taxonomyTypeDesc":132},{"categoryNo":167,"categoryName":168,"taxonomyType":169,"taxonomyTypeDesc":170},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[138,172,173,174,175,24,156,26,176,27,28,177,31,178,37,38,179,135,29],"reports","Generating Test Reports","test report","specialized","report","visualizations","metrics","documentation",{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":187,"publishedAt":39},"01M6CDVK97VFZ53CEYEGQ4QFZ6","orchestrating-test-execution","Coordinate parallel test execution across multiple environments and frameworks.\nUse when performing specialized testing.\nTrigger with phrases like \"orchestrate tests\", \"run parallel tests\", or \"coordinate test execution\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Ftest-orchestrator\u002Fskills\u002Ftest-orchestrator\u002FSKILL.md",[186],{"categoryNo":129,"categoryName":130,"taxonomyType":131,"taxonomyTypeDesc":132},[188,189,138,28,24,26,27,175,29,190,31,191,192,135],"orchestrating test execution","execution","parallel","orchestrate","run",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":200,"publishedAt":39},"01M6CDVFTCBQ65TGB1YJCZB90G","managing-test-environments","Provision and manage isolated test environments with configuration and data.\nUse when performing specialized testing.\nTrigger with phrases like \"manage test environment\", \"provision test env\", or \"setup test infrastructure\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Ftest-environment-manager\u002Fskills\u002Ftest-environment-manager\u002FSKILL.md",[199],{"categoryNo":129,"categoryName":130,"taxonomyType":131,"taxonomyTypeDesc":132},[201,138,26,27,28,175,29,31,202,203,204,135,205,206,24],"Managing Test Environments","data","infrastructure","setup","environment","manage",{"skillNo":208,"name":209,"nameZh":6,"description":210,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":211,"categories":212,"keywords":214,"publishedAt":39},"01M6CDVD0NPFXVEQGT9CMF02H0","generating-test-doubles","Generate mocks, stubs, spies, and fakes for dependency isolation.\nUse when creating mocks, stubs, or test isolation fixtures.\nTrigger with phrases like \"generate mocks\", \"create test doubles\", or \"setup stubs\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Ftest-doubles-generator\u002Fskills\u002Ftest-doubles-generator\u002FSKILL.md",[213],{"categoryNo":129,"categoryName":130,"taxonomyType":131,"taxonomyTypeDesc":132},[138,215,216,24,26,27,28,29,31,37,38,204],"Generating Test Doubles","dependency"]