[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70DGPYP75FS6KNRYSBKCZ20":3,"skill-same:01M70DGPYP75FS6KNRYSBKCZ20":64},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M70DGPYP75FS6KNRYSBKCZ20","caveman-commit",null,"Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when \"why\" isn't obvious. Use when user says \"write a commit\", \"commit message\", \"generate commit\", \"\u002Fcommit\", or invokes \u002Fcaveman-commit. Auto-triggers when staging changes.","ArogyaReddy\u002Fhttps-github.com-JuliusBrussee-caveman","ArogyaReddy","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F12032101?v=4","01M6EJA7DAM8950XYAD875F4NY","01M70DF0RJCYCVMKCBV4FFDR45",4,"MIT","https:\u002F\u002Fgithub.com\u002FArogyaReddy\u002Fhttps-github.com-JuliusBrussee-caveman\u002Fblob\u002Fmain\u002Fskills\u002Fcaveman-commit\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"commit","caveman","caveman commit","write","format","why","generate","intent","message","changes","generator","conventional commits","when","commit message","use","auto","only","triggers","messages","commits","2026-11-10 10:12:30",false,"---\nname: caveman-commit\ndescription: >\n  Ultra-compressed commit message generator. Cuts noise from commit messages while preserving\n  intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when \"why\"\n  isn't obvious. Use when user says \"write a commit\", \"commit message\", \"generate commit\",\n  \"\u002Fcommit\", or invokes \u002Fcaveman-commit. Auto-triggers when staging changes.\n---\n\nWrite commit messages terse and exact. Conventional Commits format. No fluff. Why over what.\n\n## Rules\n\n**Subject line:**\n- `\u003Ctype>(\u003Cscope>): \u003Cimperative summary>` — `\u003Cscope>` optional\n- Types: `feat`, `fix`, `refactor`, `perf`, `docs`, `test`, `chore`, `build`, `ci`, `style`, `revert`\n- Imperative mood: \"add\", \"fix\", \"remove\" — not \"added\", \"adds\", \"adding\"\n- ≤50 chars when possible, hard cap 72\n- No trailing period\n- Match project convention for capitalization after the colon\n\n**Body (only if needed):**\n- Skip entirely when subject is self-explanatory\n- Add body only for: non-obvious *why*, breaking changes, migration notes, linked issues\n- Wrap at 72 chars\n- Bullets `-` not `*`\n- Reference issues\u002FPRs at end: `Closes #42`, `Refs #17`\n\n**What NEVER goes in:**\n- \"This commit does X\", \"I\", \"we\", \"now\", \"currently\" — the diff says what\n- \"As requested by...\" — use Co-authored-by trailer\n- \"Generated with Claude Code\" or any AI attribution\n- Emoji (unless project convention requires)\n- Restating the file name when scope already says it\n\n## Examples\n\nDiff: new endpoint for user profile with body explaining the why\n- ❌ \"feat: add a new endpoint to get user profile information from the database\"\n- ✅\n  ```\n  feat(api): add GET \u002Fusers\u002F:id\u002Fprofile\n\n  Mobile client needs profile data without the full user payload\n  to reduce LTE bandwidth on cold-launch screens.\n\n  Closes #128\n  ```\n\nDiff: breaking API change\n- ✅\n  ```\n  feat(api)!: rename \u002Fv1\u002Forders to \u002Fv1\u002Fcheckout\n\n  BREAKING CHANGE: clients on \u002Fv1\u002Forders must migrate to \u002Fv1\u002Fcheckout\n  before 2026-06-01. Old route returns 410 after that date.\n  ```\n\n## Auto-Clarity\n\nAlways include body for: breaking changes, security fixes, data migrations, anything reverting a prior commit. Never compress these into subject-only — future debuggers need the context.\n\n## Boundaries\n\nOnly generates the commit message. Does not run `git commit`, does not stage files, does not amend. Output the message as a code block ready to paste. \"stop caveman-commit\" or \"normal mode\": revert to verbose commit style.","Write commit messages terse and exact. Conventional Commits format. No fluff. Why over what.\n\n## Rules\n\n**Subject line:**\n- `\u003Ctype>(\u003Cscope>): \u003Cimperative summary>` — `\u003Cscope>` optional\n- Types: `feat`, `fix`, `refactor`, `perf`, `docs`, `test`, `chore`, `build`, `ci`, `style`, `revert`\n- Imperative mood: \"add\", \"fix\", \"remove\" — not \"added\", \"adds\", \"adding\"\n- ≤50 chars when possible, hard cap 72\n- No trailing period\n- Match project convention for capitalization after the colon\n\n**Body (only if needed):**\n- Skip entirely when subject is self-explanatory\n- Add body only for: non-obvious *why*, breaking changes, migration notes, linked issues\n- Wrap at 72 chars\n- Bullets `-` not `*`\n- Reference issues\u002FPRs at end: `Closes #42`, `Refs #17`\n\n**What NEVER goes in:**\n- \"This commit does X\", \"I\", \"we\", \"now\", \"currently\" — the diff says what\n- \"As requested by...\" — use Co-authored-by trailer\n- \"Generated with Claude Code\" or any AI attribution\n- Emoji (unless project convention requires)\n- Restating the file name when scope already says it\n\n## Examples\n\nDiff: new endpoint for user profile with body explaining the why\n- ❌ \"feat: add a new endpoint to get user profile information from the database\"\n- ✅\n  ```\n  feat(api): add GET \u002Fusers\u002F:id\u002Fprofile\n\n  Mobile client needs profile data without the full user payload\n  to reduce LTE bandwidth on cold-launch screens.\n\n  Closes #128\n  ```\n\nDiff: breaking API change\n- ✅\n  ```\n  feat(api)!: rename \u002Fv1\u002Forders to \u002Fv1\u002Fcheckout\n\n  BREAKING CHANGE: clients on \u002Fv1\u002Forders must migrate to \u002Fv1\u002Fcheckout\n  before 2026-06-01. Old route returns 410 after that date.\n  ```\n\n## Auto-Clarity\n\nAlways include body for: breaking changes, security fixes, data migrations, anything reverting a prior commit. Never compress these into subject-only — future debuggers need the context.\n\n## Boundaries\n\nOnly generates the commit message. Does not run `git commit`, does not stage files, does not amend. Output the message as a code block ready to paste. \"stop caveman-commit\" or \"normal mode\": revert to verbose commit style.",{"name":5,"description":7},"main","63e797cd753b301374947a5ed975c21775d962b9","skills\u002Fcaveman-commit",1,"https:\u002F\u002Fgithub.com\u002FArogyaReddy\u002Fhttps-github.com-JuliusBrussee-caveman","https:\u002F\u002Fgithub.com\u002FArogyaReddy","2026-04-15 09:39:30",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add ArogyaReddy\u002Fhttps-github.com-JuliusBrussee-caveman --skill caveman-commit",{"tool":56,"command":57},"bunx","bunx skills add ArogyaReddy\u002Fhttps-github.com-JuliusBrussee-caveman --skill caveman-commit",{"tool":59,"command":60},"pnpm","pnpm dlx skills add ArogyaReddy\u002Fhttps-github.com-JuliusBrussee-caveman --skill caveman-commit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FArogyaReddy\u002Fhttps-github.com-JuliusBrussee-caveman\u002Fblob\u002Fmain\u002Fskills\u002Fcaveman-commit\u002FSKILL.md",true,[],[65,71,92,119,139,158],{"skillNo":66,"name":67,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":38},"01M70DH0BXSSZG26CSBC81XTXJ","compress","https:\u002F\u002Fgithub.com\u002FArogyaReddy\u002Fhttps-github.com-JuliusBrussee-caveman\u002Fblob\u002Fmain\u002Fskills\u002Fcompress\u002FSKILL.md",[],[67],{"skillNo":72,"name":19,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":38},"01M70DGWA69GSAKRRMKXCDBTHW","Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says \"caveman mode\", \"talk like caveman\", \"use caveman\", \"less tokens\", \"be brief\", or invokes \u002Fcaveman. Also auto-triggers when token efficiency is requested.","https:\u002F\u002Fgithub.com\u002FArogyaReddy\u002Fhttps-github.com-JuliusBrussee-caveman\u002Fblob\u002Fmain\u002Fskills\u002Fcaveman\u002FSKILL.md",[],[19,35,77,78,79,80,81,82,30,32,83,33,84,85,86,87,88,89,90,91],"talk","ultra","token","communication","Caveman Mode","efficiency","technical","intensity","accuracy","default","mode","tokens","usage","token efficiency","brief",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":103,"publishedAt":38},"01M70DGT8V5RK70VG2374YER55","caveman-review","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.","https:\u002F\u002Fgithub.com\u002FArogyaReddy\u002Fhttps-github.com-JuliusBrussee-caveman\u002Fblob\u002Fmain\u002Fskills\u002Fcaveman-review\u002FSKILL.md",[98],{"categoryNo":99,"categoryName":100,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",[19,104,105,106,107,35,108,33,109,110,111,112,113,114,115,32,116,117,118,30],"caveman review","review","signal","fix","code review","actionable","pr feedback","diff","pr","problem","feedback","pull","pull requests","code","comments",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":38},"01M70DGRTRJNNNN40X5HG6DSJM","caveman-help","Quick-reference card for all caveman modes, skills, and commands. One-shot display, not a persistent mode. Trigger: \u002Fcaveman-help, \"caveman help\", \"what caveman commands\", \"how do I use caveman\".","https:\u002F\u002Fgithub.com\u002FArogyaReddy\u002Fhttps-github.com-JuliusBrussee-caveman\u002Fblob\u002Fmain\u002Fskills\u002Fcaveman-help\u002FSKILL.md",[],[126,127,19,128,129,130,32,131,132,87,133,134,135,136,137,138],"caveman help","help","reference","display","quick-reference","trigger","commands","card","for","how","quick","do","modes",{"skillNo":140,"name":67,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":38},"01M70DG1NEWW88HH7P576NC1HR","Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md. Trigger: \u002Fcaveman:compress \u003Cfilepath> or \"compress memory file\"","https:\u002F\u002Fgithub.com\u002FArogyaReddy\u002Fhttps-github.com-JuliusBrussee-caveman\u002Fblob\u002Fmain\u002Fplugins\u002Fcaveman\u002Fskills\u002Fcompress\u002FSKILL.md",[],[67,145,146,147,131,148,149,19,150,22,151,152,153,117,154,155,156,83,157,88],"memory","as","natural language","human","language","input","backup","structure","saved","file","version","preferences","files",{"skillNo":159,"name":19,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":38},"01M70DFHARJNXREVJYHEWR34MP","https:\u002F\u002Fgithub.com\u002FArogyaReddy\u002Fhttps-github.com-JuliusBrussee-caveman\u002Fblob\u002Fmain\u002Fplugins\u002Fcaveman\u002Fskills\u002Fcaveman\u002FSKILL.md",[],[19,83,77,78,79,80,81,82,30,32,33,84,35,85,86,87,88,89,90,91]]