[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71904ADF4NHZY7G2MV4K080":3,"skill-same:01M71904ADF4NHZY7G2MV4K080":72},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":14,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M71904ADF4NHZY7G2MV4K080","caveman-review",null,"Ultra-compressed code review comments. Cuts noise from PR feedback while preserving the actionable signal. Each comment is one line: location, problem, fix. Use when user says \"review this PR\", \"code review\", \"review the diff\", \"\u002Freview\", or invokes \u002Fcaveman-review. Auto-triggers when reviewing pull requests.","debuglebowski\u002Fslayzone-chromium","debuglebowski","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6490268?v=4","01M718YQ2STXMN1TQTFF0HF2Y8","Kalle","01M718YQ3VTNESH71S0BKW4GHC",0,"GPL-3.0","https:\u002F\u002Fgithub.com\u002Fdebuglebowski\u002Fslayzone-chromium\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcaveman-review\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"caveman review","caveman","review","pull requests","code","comments","when","use","auto","triggers","fix","signal","code review","actionable","pr feedback","diff","pr","problem","feedback","pull","2026-11-10 10:12:30",false,"---\nname: caveman-review\ndescription: |\n  Ultra-compressed code review comments. Cuts noise from PR feedback while preserving the actionable signal. Each comment is one line: location, problem, fix. Use when user says \"review this PR\", \"code review\", \"review the diff\", \"\u002Freview\", or invokes \u002Fcaveman-review. Auto-triggers when reviewing pull requests.\n  \n---\n\nWrite code review comments terse and actionable. One line per finding. Location, problem, fix. No throat-clearing.\n\n## Rules\n\n**Format:** `L\u003Cline>: \u003Cproblem>. \u003Cfix>.` — or `\u003Cfile>:L\u003Cline>: ...` when reviewing multi-file diffs.\n\n**Severity prefix (optional, when mixed):**\n- `🔴 bug:` — broken behavior, will cause incident\n- `🟡 risk:` — works but fragile (race, missing null check, swallowed error)\n- `🔵 nit:` — style, naming, micro-optim. Author can ignore\n- `❓ q:` — genuine question, not a suggestion\n\n**Drop:**\n- \"I noticed that...\", \"It seems like...\", \"You might want to consider...\"\n- \"This is just a suggestion but...\" — use `nit:` instead\n- \"Great work!\", \"Looks good overall but...\" — say it once at the top, not per comment\n- Restating what the line does — the reviewer can read the diff\n- Hedging (\"perhaps\", \"maybe\", \"I think\") — if unsure use `q:`\n\n**Keep:**\n- Exact line numbers\n- Exact symbol\u002Ffunction\u002Fvariable names in backticks\n- Concrete fix, not \"consider refactoring this\"\n- The *why* if the fix isn't obvious from the problem statement\n\n## Examples\n\n❌ \"I noticed that on line 42 you're not checking if the user object is null before accessing the email property. This could potentially cause a crash if the user is not found in the database. You might want to add a null check here.\"\n\n✅ `L42: 🔴 bug: user can be null after .find(). Add guard before .email.`\n\n❌ \"It looks like this function is doing a lot of things and might benefit from being broken up into smaller functions for readability.\"\n\n✅ `L88-140: 🔵 nit: 50-line fn does 4 things. Extract validate\u002Fnormalize\u002Fpersist.`\n\n❌ \"Have you considered what happens if the API returns a 429? I think we should probably handle that case.\"\n\n✅ `L23: 🟡 risk: no retry on 429. Wrap in withBackoff(3).`\n\n## Auto-Clarity\n\nDrop terse mode for: security findings (CVE-class bugs need full explanation + reference), architectural disagreements (need rationale, not just a one-liner), and onboarding contexts where the author is new and needs the \"why\". In those cases write a normal paragraph, then resume terse for the rest.\n\n## Boundaries\n\nReviews only — does not write the code fix, does not approve\u002Frequest-changes, does not run linters. Output the comment(s) ready to paste into the PR. \"stop caveman-review\" or \"normal mode\": revert to verbose review style.","Write code review comments terse and actionable. One line per finding. Location, problem, fix. No throat-clearing.\n\n## Rules\n\n**Format:** `L\u003Cline>: \u003Cproblem>. \u003Cfix>.` — or `\u003Cfile>:L\u003Cline>: ...` when reviewing multi-file diffs.\n\n**Severity prefix (optional, when mixed):**\n- `🔴 bug:` — broken behavior, will cause incident\n- `🟡 risk:` — works but fragile (race, missing null check, swallowed error)\n- `🔵 nit:` — style, naming, micro-optim. Author can ignore\n- `❓ q:` — genuine question, not a suggestion\n\n**Drop:**\n- \"I noticed that...\", \"It seems like...\", \"You might want to consider...\"\n- \"This is just a suggestion but...\" — use `nit:` instead\n- \"Great work!\", \"Looks good overall but...\" — say it once at the top, not per comment\n- Restating what the line does — the reviewer can read the diff\n- Hedging (\"perhaps\", \"maybe\", \"I think\") — if unsure use `q:`\n\n**Keep:**\n- Exact line numbers\n- Exact symbol\u002Ffunction\u002Fvariable names in backticks\n- Concrete fix, not \"consider refactoring this\"\n- The *why* if the fix isn't obvious from the problem statement\n\n## Examples\n\n❌ \"I noticed that on line 42 you're not checking if the user object is null before accessing the email property. This could potentially cause a crash if the user is not found in the database. You might want to add a null check here.\"\n\n✅ `L42: 🔴 bug: user can be null after .find(). Add guard before .email.`\n\n❌ \"It looks like this function is doing a lot of things and might benefit from being broken up into smaller functions for readability.\"\n\n✅ `L88-140: 🔵 nit: 50-line fn does 4 things. Extract validate\u002Fnormalize\u002Fpersist.`\n\n❌ \"Have you considered what happens if the API returns a 429? I think we should probably handle that case.\"\n\n✅ `L23: 🟡 risk: no retry on 429. Wrap in withBackoff(3).`\n\n## Auto-Clarity\n\nDrop terse mode for: security findings (CVE-class bugs need full explanation + reference), architectural disagreements (need rationale, not just a one-liner), and onboarding contexts where the author is new and needs the \"why\". In those cases write a normal paragraph, then resume terse for the rest.\n\n## Boundaries\n\nReviews only — does not write the code fix, does not approve\u002Frequest-changes, does not run linters. Output the comment(s) ready to paste into the PR. \"stop caveman-review\" or \"normal mode\": revert to verbose review style.",{"name":5,"description":49},"Ultra-compressed code review comments. Cuts noise from PR feedback while preserving the actionable signal. Each comment is one line: location, problem, fix. Use when user says \"review this PR\", \"code review\", \"review the diff\", \"\u002Freview\", or invokes \u002Fcaveman-review. Auto-triggers when reviewing pull requests.\n","main","aa3633decf71dbab0f964f95c284d952bca02b63",".claude\u002Fskills\u002Fcaveman-review","https:\u002F\u002Fgithub.com\u002Fdebuglebowski\u002Fslayzone-chromium","https:\u002F\u002Fgithub.com\u002Fdebuglebowski","https:\u002F\u002Fiamkhan.io","I hate that I love TypeScript","2026-04-17 15:33:18",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add debuglebowski\u002Fslayzone-chromium --skill caveman-review",{"tool":64,"command":65},"bunx","bunx skills add debuglebowski\u002Fslayzone-chromium --skill caveman-review",{"tool":67,"command":68},"pnpm","pnpm dlx skills add debuglebowski\u002Fslayzone-chromium --skill caveman-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdebuglebowski\u002Fslayzone-chromium\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcaveman-review\u002FSKILL.md",true,[],[73,94,104,123,135,146],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":82,"publishedAt":44},"01M71919NHQJ16JJQFDRY5E6WG","sync-slay-skill","Read CLI command source files and regenerate the slay SKILL.md + init.ts command reference to match","https:\u002F\u002Fgithub.com\u002Fdebuglebowski\u002Fslayzone-chromium\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsync-slay-skill\u002FSKILL.md",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[83,84,85,86,87,88,89,90,91,92,93],"slay","sync slay skill","sync","source","init","reference","match","files","cli","command","read",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":44},"01M71917WVS3TWYQ6P6Q1APEH0","sustainable-solution-question","Asks if the implementation is a sustainable solution","https:\u002F\u002Fgithub.com\u002Fdebuglebowski\u002Fslayzone-chromium\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsustainable-solution-question\u002FSKILL.md",[],[101,102,103,32],"sustainable solution question","question","implementation",{"skillNo":105,"name":83,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":44},"01M71915PNKTBQRRX9ZDPZ9SKX","Full CLI reference for slay — orchestrates all slay domain skills","https:\u002F\u002Fgithub.com\u002Fdebuglebowski\u002Fslayzone-chromium\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fslay\u002FSKILL.md",[],[83,110,32,88,111,112,113,114,115,116,117,118,119,91,120,121,122],"panels","processes","tasks","full","PTY","context","assets","browser","projects","title","domain","for","cli reference",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":44},"01M71913QQT3NP7W68FBZEJNVS","slay-tasks","Manage tasks, subtasks, tags, and templates via the slay CLI","https:\u002F\u002Fgithub.com\u002Fdebuglebowski\u002Fslayzone-chromium\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fslay-tasks\u002FSKILL.md",[],[112,83,130,32,131,91,132,133,134],"slay tasks","templates","via","tags","manage",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":44},"01M71912RR7H0J0ZNNTKD1272X","slay-pty","Interact with PTY terminal sessions via the slay CLI","https:\u002F\u002Fgithub.com\u002Fdebuglebowski\u002Fslayzone-chromium\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fslay-pty\u002FSKILL.md",[],[142,114,83,143,91,132,144,145,32],"slay pty","with","terminal","sessions",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":152,"publishedAt":44},"01M71910YBEQC3XRBFQKVM3MN4","slay-projects","Manage projects via the slay CLI","https:\u002F\u002Fgithub.com\u002Fdebuglebowski\u002Fslayzone-chromium\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fslay-projects\u002FSKILL.md",[],[83,118,153,32,91,132,134],"slay projects"]