[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CSWSXBXKEXVJCVV3SRV7PJ":3,"skill-same:01M6CSWSXBXKEXVJCVV3SRV7PJ":68},{"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":23,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":14,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":6,"updatedAt":43,"install":44,"resources":57},"01M6CSWSXBXKEXVJCVV3SRV7PJ","code-reviewer",null,"Reviews code changes for bugs, security vulnerabilities, and performance issues.","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\u002Fcode-reviewer\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,26,27,28,29,30],"code","code reviewer","reviewer","security","performance","vulnerabilities","issues","2026-11-10 10:12:30",false,"---\nname: code-reviewer\ndescription: Reviews code changes for bugs, security vulnerabilities, and performance issues.\ncontext: fork\nuser-invocable: false\n---\n\n# Code Reviewer\n\nAutomated code review agent ตรวจสอบ code quality ก่อน commit หรือ push\n\n## Purpose\n\n- ตรวจหา bugs และ logic errors\n- ตรวจสอบ security vulnerabilities\n- วิเคราะห์ performance issues\n- ตรวจสอบ code style และ best practices\n- หา potential edge cases\n\n## When to Use\n\n- ก่อน commit code changes\n- ก่อน push to remote\n- เมื่อต้องการ review code ที่เขียนเสร็จ\n- ใช้กับ `\u002Freview` command\n\n## Instructions\n\n### Step 1: Identify Changed Files\n\n```bash\ngit diff --name-only HEAD\ngit diff --cached --name-only\n```\n\n### Step 2: Analyze Each File\n\nFor each changed file:\n\n1. **Read the file** using Read tool\n2. **Analyze for issues:**\n   - Logic errors and bugs\n   - Security vulnerabilities (injection, XSS, etc.)\n   - Performance problems (N+1 queries, memory leaks)\n   - Code duplication\n   - Missing error handling\n   - Hardcoded values that should be configurable\n\n### Step 3: Categorize Issues\n\n| Severity | Meaning | Action |\n|----------|---------|--------|\n| Critical | Must fix before merge | Block |\n| Warning | Should fix | Review |\n| Info | Nice to have | Optional |\n\n### Step 4: Check Best Practices\n\n- [ ] Functions are small and focused\n- [ ] Variables have meaningful names\n- [ ] Error handling is comprehensive\n- [ ] No commented-out code\n- [ ] No debug\u002Fconsole statements\n- [ ] Tests cover new functionality\n\n### Step 5: Security Checklist\n\n- [ ] No hardcoded secrets\u002Fcredentials\n- [ ] Input validation present\n- [ ] SQL\u002FNoSQL injection prevention\n- [ ] XSS prevention (if applicable)\n- [ ] Authentication\u002FAuthorization checks\n- [ ] Sensitive data not logged\n\n## Output Format\n\n```markdown\n## Code Review Report\n\n**Files Reviewed:** N files\n**Issues Found:** X critical, Y warnings, Z info\n\n---\n\n### Critical Issues\n\n#### [filename:line]\n**Issue:** Description of the problem\n**Risk:** Why this is critical\n**Fix:** Suggested solution\n\n---\n\n### Warnings\n\n#### [filename:line]\n**Issue:** Description\n**Recommendation:** Suggested improvement\n\n---\n\n### Info\n\n#### [filename:line]\n**Note:** Observation or suggestion\n\n---\n\n## Summary\n\n| Category | Count |\n|----------|-------|\n| Critical | X |\n| Warnings | Y |\n| Info | Z |\n\n**Recommendation:** [APPROVE \u002F REQUEST CHANGES \u002F BLOCK]\n```\n","# Code Reviewer\n\nAutomated code review agent ตรวจสอบ code quality ก่อน commit หรือ push\n\n## Purpose\n\n- ตรวจหา bugs และ logic errors\n- ตรวจสอบ security vulnerabilities\n- วิเคราะห์ performance issues\n- ตรวจสอบ code style และ best practices\n- หา potential edge cases\n\n## When to Use\n\n- ก่อน commit code changes\n- ก่อน push to remote\n- เมื่อต้องการ review code ที่เขียนเสร็จ\n- ใช้กับ `\u002Freview` command\n\n## Instructions\n\n### Step 1: Identify Changed Files\n\n```bash\ngit diff --name-only HEAD\ngit diff --cached --name-only\n```\n\n### Step 2: Analyze Each File\n\nFor each changed file:\n\n1. **Read the file** using Read tool\n2. **Analyze for issues:**\n   - Logic errors and bugs\n   - Security vulnerabilities (injection, XSS, etc.)\n   - Performance problems (N+1 queries, memory leaks)\n   - Code duplication\n   - Missing error handling\n   - Hardcoded values that should be configurable\n\n### Step 3: Categorize Issues\n\n| Severity | Meaning | Action |\n|----------|---------|--------|\n| Critical | Must fix before merge | Block |\n| Warning | Should fix | Review |\n| Info | Nice to have | Optional |\n\n### Step 4: Check Best Practices\n\n- [ ] Functions are small and focused\n- [ ] Variables have meaningful names\n- [ ] Error handling is comprehensive\n- [ ] No commented-out code\n- [ ] No debug\u002Fconsole statements\n- [ ] Tests cover new functionality\n\n### Step 5: Security Checklist\n\n- [ ] No hardcoded secrets\u002Fcredentials\n- [ ] Input validation present\n- [ ] SQL\u002FNoSQL injection prevention\n- [ ] XSS prevention (if applicable)\n- [ ] Authentication\u002FAuthorization checks\n- [ ] Sensitive data not logged\n\n## Output Format\n\n```markdown\n## Code Review Report\n\n**Files Reviewed:** N files\n**Issues Found:** X critical, Y warnings, Z info\n\n---\n\n### Critical Issues\n\n#### [filename:line]\n**Issue:** Description of the problem\n**Risk:** Why this is critical\n**Fix:** Suggested solution\n\n---\n\n### Warnings\n\n#### [filename:line]\n**Issue:** Description\n**Recommendation:** Suggested improvement\n\n---\n\n### Info\n\n#### [filename:line]\n**Note:** Observation or suggestion\n\n---\n\n## Summary\n\n| Category | Count |\n|----------|-------|\n| Critical | X |\n| Warnings | Y |\n| Info | Z |\n\n**Recommendation:** [APPROVE \u002F REQUEST CHANGES \u002F BLOCK]\n```\n",{"name":5,"context":36,"description":7,"user-invocable":32},"fork","main","835c1f754a3eab31c2e7eb408d21431a98c633ee","skills\u002Fcode-reviewer","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":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add goffity\u002Fdev-km --skill code-reviewer",{"tool":50,"command":51},"bunx","bunx skills add goffity\u002Fdev-km --skill code-reviewer",{"tool":53,"command":54},"pnpm","pnpm dlx skills add goffity\u002Fdev-km --skill code-reviewer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgoffity\u002Fdev-km\u002Fblob\u002Fmain\u002Fskills\u002Fcode-reviewer\u002FSKILL.md",true,[58,64],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"example.html","REFERENCE","参考文档",33037,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FPPT-Design\u002Fopen-design-kami-deck\u002Fexample.html",{"path":65,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":66,"sourceHtmlUrl":67},"README.md",2681,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FPPT-Design\u002Fopen-design-kami-deck\u002FREADME.md",[69,80,114,126,134,149],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":31},"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",[],[76,77,78,79],"wait what","land","stop","message",{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":94,"publishedAt":31},"01M6CSZ6B0GH2N75WNPPESCDHX","tdd","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",[86,91],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",{"categoryNo":92,"categoryName":93,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000008","测试与质量",[82,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113],"discipline","development","state","first","loop","quality","Rules","fix","kb","use","test","standards","red-green-refactor","build","green","jira","testing","commit","plugin",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":31},"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",[],[116,121,122,123,124,125],"documentation","context","session","task","done",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":31},"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",[],[128,133,123],"logs",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":143,"publishedAt":31},"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",[140],{"categoryNo":141,"categoryName":142,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000021","资料检索与研究",[136,144,145,146,147,148],"directory","metadata","file","knowledge","projects",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":31},"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",[],[123,156,157,122,158],"session analyzer","git","retrospective"]