[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CSWYM6T0M1SYRTQ5XHCW08":3,"skill-same:01M6CSWYM6T0M1SYRTQ5XHCW08":106},{"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":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":14,"repositoryHtmlUrl":39,"repositoryHomepageUrl":6,"ownerHtmlUrl":40,"ownerBlogUrl":41,"ownerDescription":6,"updatedAt":42,"install":43,"resources":55},"01M6CSWYM6T0M1SYRTQ5XHCW08","commit",null,"Creates atomic commits by analyzing changes, detecting mixed concerns, and commenting on related GitHub issues. TDD-aware — defers to the \u002Ftdd loop's commit convention when a red\u002Fgreen cycle is in progress.","goffity\u002Fdev-km","goffity","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F778547?v=4","01M6CSW9QQ32YQYTRKQWVKYCAY","Goffity","01M6CSW9VQFVZ3QS6RB4VYJGE6",0,"MIT","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Fcommit\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29],"github","tdd","github issues","issues","analyzing","commits","loop","atomic commits","analyzing changes","cycle","green","2026-11-10 10:12:30",false,"---\nname: commit\ndescription: Creates atomic commits by analyzing changes, detecting mixed concerns, and commenting on related GitHub issues. TDD-aware — defers to the \u002Ftdd loop's commit convention when a red\u002Fgreen cycle is in progress.\nuser-invocable: true\n---\n\n# Atomic Commit\n\nAnalyze changes and create clean, atomic commits. Self-contained — no plugin dependency.\n\n## Instructions\n\n### Language Setting\n\n> Check `LANGUAGE` in `docs\u002Fcurrent.md`. If `th`, translate output per `references\u002Flanguage-guide.md`. See `references\u002Fbash-helpers.md` for detection snippet.\n\n### Step 0: TDD Loop Check\n\nIf the branch is mid TDD cycle, commits belong to the loop — not to after-the-fact grouping:\n\n```bash\nbash ~\u002F.claude\u002Fskills\u002Ftdd\u002Fscripts\u002Ftdd-phase.sh\n```\n\n- **`red` or `green`**: a `\u002Ftdd` cycle is in progress. Do NOT batch-commit — follow the `\u002Ftdd` skill's commit convention for the current phase (`test(red):`, `feat(green):`\u002F`fix(green):`, `refactor:`) and commit only the current slice's files. Then stop.\n- **`unknown` or `refactor`** (or the script is missing): no cycle in progress — proceed with the atomic workflow below.\n\n### Step 1: Analyze Changes\n\n```bash\ngit branch --show-current && git status && git diff && git diff --staged\n```\n\nAn **atomic commit**: does exactly one thing, leaves the codebase in a working state (build + tests pass), can be reverted independently, mixes no unrelated concerns.\n\n### Step 2: Detect Mixed Concerns\n\nLook for changes mixing: multiple features · bug fix + feature · refactoring + new functionality · unrelated bug fixes · code + unrelated docs · tests for multiple features.\n\n### Step 3: Group Commits\n\nGroup files by shared purpose and present the grouping to the user for confirmation:\n\n```\nGroup 1: \"Add slip-only flag\" → user-api\u002Fhandler\u002Faccount.go, user-repository\u002Faccount.go, user-api\u002Fhandler\u002Faccount_test.go\nGroup 2: \"Fix maintenance window check\" → user-api\u002Fservice\u002Fmaintenance.go, user-api\u002Fservice\u002Fmaintenance_test.go\n```\n\n### Step 4: Create Each Commit\n\nFor each group:\n\n1. Stage explicitly: `git add \u003Cfile1> \u003Cfile2>` — **never `git add .` or `-a`**\n2. Review: `git diff --cached`\n3. Test + build: `make test && make build` — must pass before committing\n4. Commit with Conventional Commit format: `feat|fix|refactor|docs|test|chore|perf|style`\n5. Verify: `git log -1 --oneline`\n\n### Step 5: Final Review\n\n```bash\ngit log --oneline -n \u003CN>\n```\n\n## Commit Message Rules\n\n- Conventional commit format; include ticket ref when known: `feat: \u003Cdesc> (RUAYS-XXXX)` or `(#42)`\n- **NO footer** — no \"Generated with...\", \"Co-Authored-By...\", or similar\n- Concise and descriptive; no vague messages, no debug code\n\n## Post-Commit: Issue Comment\n\nAfter commits are created, automatically comment on the related GitHub issue:\n\n1. **Find Issue Number** - Check `docs\u002Fcurrent.md` for `ISSUE: #N` or extract from branch name\u002Fcommits\n2. **If issue found**, comment with:\n\n```bash\ngh issue comment \u003Cissue-number> --body \"$(cat \u003C\u003C'EOF'\n## Implementation Update\n\n### Changes Made\n[List files changed and what was modified]\n\n### Commits\n[List commit hashes and messages]\n\n### Status\n- Branch: `\u003Cbranch-name>`\n- Ready for: review \u002F merge \u002F testing\nEOF\n)\"\n```\n\n3. **If no issue found**, skip commenting silently\n","# Atomic Commit\n\nAnalyze changes and create clean, atomic commits. Self-contained — no plugin dependency.\n\n## Instructions\n\n### Language Setting\n\n> Check `LANGUAGE` in `docs\u002Fcurrent.md`. If `th`, translate output per `references\u002Flanguage-guide.md`. See `references\u002Fbash-helpers.md` for detection snippet.\n\n### Step 0: TDD Loop Check\n\nIf the branch is mid TDD cycle, commits belong to the loop — not to after-the-fact grouping:\n\n```bash\nbash ~\u002F.claude\u002Fskills\u002Ftdd\u002Fscripts\u002Ftdd-phase.sh\n```\n\n- **`red` or `green`**: a `\u002Ftdd` cycle is in progress. Do NOT batch-commit — follow the `\u002Ftdd` skill's commit convention for the current phase (`test(red):`, `feat(green):`\u002F`fix(green):`, `refactor:`) and commit only the current slice's files. Then stop.\n- **`unknown` or `refactor`** (or the script is missing): no cycle in progress — proceed with the atomic workflow below.\n\n### Step 1: Analyze Changes\n\n```bash\ngit branch --show-current && git status && git diff && git diff --staged\n```\n\nAn **atomic commit**: does exactly one thing, leaves the codebase in a working state (build + tests pass), can be reverted independently, mixes no unrelated concerns.\n\n### Step 2: Detect Mixed Concerns\n\nLook for changes mixing: multiple features · bug fix + feature · refactoring + new functionality · unrelated bug fixes · code + unrelated docs · tests for multiple features.\n\n### Step 3: Group Commits\n\nGroup files by shared purpose and present the grouping to the user for confirmation:\n\n```\nGroup 1: \"Add slip-only flag\" → user-api\u002Fhandler\u002Faccount.go, user-repository\u002Faccount.go, user-api\u002Fhandler\u002Faccount_test.go\nGroup 2: \"Fix maintenance window check\" → user-api\u002Fservice\u002Fmaintenance.go, user-api\u002Fservice\u002Fmaintenance_test.go\n```\n\n### Step 4: Create Each Commit\n\nFor each group:\n\n1. Stage explicitly: `git add \u003Cfile1> \u003Cfile2>` — **never `git add .` or `-a`**\n2. Review: `git diff --cached`\n3. Test + build: `make test && make build` — must pass before committing\n4. Commit with Conventional Commit format: `feat|fix|refactor|docs|test|chore|perf|style`\n5. Verify: `git log -1 --oneline`\n\n### Step 5: Final Review\n\n```bash\ngit log --oneline -n \u003CN>\n```\n\n## Commit Message Rules\n\n- Conventional commit format; include ticket ref when known: `feat: \u003Cdesc> (RUAYS-XXXX)` or `(#42)`\n- **NO footer** — no \"Generated with...\", \"Co-Authored-By...\", or similar\n- Concise and descriptive; no vague messages, no debug code\n\n## Post-Commit: Issue Comment\n\nAfter commits are created, automatically comment on the related GitHub issue:\n\n1. **Find Issue Number** - Check `docs\u002Fcurrent.md` for `ISSUE: #N` or extract from branch name\u002Fcommits\n2. **If issue found**, comment with:\n\n```bash\ngh issue comment \u003Cissue-number> --body \"$(cat \u003C\u003C'EOF'\n## Implementation Update\n\n### Changes Made\n[List files changed and what was modified]\n\n### Commits\n[List commit hashes and messages]\n\n### Status\n- Branch: `\u003Cbranch-name>`\n- Ready for: review \u002F merge \u002F testing\nEOF\n)\"\n```\n\n3. **If no issue found**, skip commenting silently\n",{"name":5,"description":7,"user-invocable":35},true,"main","835c1f754a3eab31c2e7eb408d21431a98c633ee","skills\u002Fcommit","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km","https:\u002F\u002Fgithub.com\u002Fgoffity","www.narongwate.com","2026-11-10 01:34:18",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":35},[45,48,51],{"tool":46,"command":47},"npx","npx skills add goffity\u002Fdev-km --skill commit",{"tool":49,"command":50},"bunx","bunx skills add goffity\u002Fdev-km --skill commit",{"tool":52,"command":53},"pnpm","pnpm dlx skills add goffity\u002Fdev-km --skill commit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Fcommit\u002FSKILL.md",[56,62,66,70,74,78,82,86,90,94,98,102],{"path":57,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":60,"sourceHtmlUrl":61},"_meta.json","REFERENCE","参考文档",127,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask\u002F_meta.json",{"path":63,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":64,"sourceHtmlUrl":65},"checkout.md",13807,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask\u002Fcheckout.md",{"path":67,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":68,"sourceHtmlUrl":69},"crossmint-wallet.md",2785,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask\u002Fcrossmint-wallet.md",{"path":71,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":72,"sourceHtmlUrl":73},"encrypted-card.md",10184,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask\u002Fencrypted-card.md",{"path":75,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":76,"sourceHtmlUrl":77},"heartbeat.md",3278,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask\u002Fheartbeat.md",{"path":79,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":80,"sourceHtmlUrl":81},"management.md",2788,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask\u002Fmanagement.md",{"path":83,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":84,"sourceHtmlUrl":85},"skill-card.md",3848,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask\u002Fskill-card.md",{"path":87,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":88,"sourceHtmlUrl":89},"skill.json",818,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask\u002Fskill.json",{"path":91,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":92,"sourceHtmlUrl":93},"SOURCE.md",240,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask\u002FSOURCE.md",{"path":95,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":96,"sourceHtmlUrl":97},"spending.md",2462,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask\u002Fspending.md",{"path":99,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":100,"sourceHtmlUrl":101},"stripe-x402-wallet.md",5993,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask\u002Fstripe-x402-wallet.md",{"path":103,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":104,"sourceHtmlUrl":105},"TRUST.auto.yaml",2197,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask\u002FTRUST.auto.yaml",[107,118,148,160,168,183],{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":30},"01M6CSZ9DKT0CG5Y2HE8F5D9KX","wait-what","Stop. That last message did not land: re-pitch it.","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Fwait-what\u002FSKILL.md",[],[114,115,116,117],"wait what","land","stop","message",{"skillNo":119,"name":20,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":131,"publishedAt":30},"01M6CSZ6B0GH2N75WNPPESCDHX","Test-driven development loop (red-green-refactor) with commit-based phase state and Jira traceability. Use when the user wants to build a feature or fix a bug test-first, mentions \"tdd\", \"red-green-refactor\", or \"test-first\". Replaces the tdg plugin — combines its commit\u002Fphase discipline with seam-based test quality rules from kb Testing Standards.","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Ftdd\u002FSKILL.md",[123,128],{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",{"categoryNo":129,"categoryName":130,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000008","测试与质量",[20,132,133,134,135,25,136,137,138,139,140,141,142,143,144,29,145,146,5,147],"discipline","development","state","first","quality","Rules","fix","kb","use","test","standards","red-green-refactor","build","jira","testing","plugin",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":30},"01M6CSZ3PNYFR2K5GB197TA7GP","td","Creates post-task retrospectives with Before\u002FAfter context and session documentation.","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Ftd\u002FSKILL.md",[],[150,155,156,157,158,159],"documentation","context","session","task","done",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":30},"01M6CSZ1TZKVNHS07B4EBQEKFQ","summary","Generates weekly or monthly session summaries from retrospectives and activity logs.","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Fsummary\u002FSKILL.md",[],[162,167,157],"logs",{"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":177,"publishedAt":30},"01M6CSYZQHMHJT9ZV8FYY06XZN","share","Shares knowledge across projects by copying to shared-knowledge directory with cross-project metadata.","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Fshare\u002FSKILL.md",[174],{"categoryNo":175,"categoryName":176,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000021","资料检索与研究",[170,178,179,180,181,182],"directory","metadata","file","knowledge","projects",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":189,"publishedAt":30},"01M6CSYXFZ7D7EKEFXCQE8QW7S","session-analyzer","Analyzes git changes and creates retrospective drafts with Before\u002FAfter context.","https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Fsession-analyzer\u002FSKILL.md",[],[157,190,191,156,192],"session analyzer","git","retrospective"]