caveman-commit

作者: juliusbrussee

超精简提交信息生成器。去除提交信息中的冗余内容,同时保留意图和理由。采用常规提交格式。主题不超过50个字符,仅在“原因”不明确时添加正文。当用户说“写提交”、“提交信息”、“生成提交”、“/commit”或调用/caveman-commit时使用。暂存更改时自动触发。

npx skills add https://github.com/juliusbrussee/caveman --skill caveman-commit

Write commit messages terse and exact. Conventional Commits format. No fluff. Why over what.

Rules

Subject line:

  • <type>(<scope>): <imperative summary><scope> optional
  • Types: feat, fix, refactor, perf, docs, test, chore, build, ci, style, revert
  • Imperative mood: "add", "fix", "remove" — not "added", "adds", "adding"
  • ≤50 chars when possible, hard cap 72
  • No trailing period
  • Match project convention for capitalization after the colon

Body (only if needed):

  • Skip entirely when subject is self-explanatory
  • Add body only for: non-obvious why, breaking changes, migration notes, linked issues
  • Wrap at 72 chars
  • Bullets - not *
  • Reference issues/PRs at end: Closes #42, Refs #17

What NEVER goes in:

  • "This commit does X", "I", "we", "now", "currently" — the diff says what
  • "As requested by..." — use Co-authored-by trailer
  • "Generated with Claude Code" or any AI attribution — unless the user's own rule requires an Assisted-by/AI-attribution trailer, then add it as a trailer
  • Emoji (unless project convention requires)
  • Restating the file name when scope already says it

Examples

Diff: new endpoint for user profile with body explaining the why

  • ❌ "feat: add a new endpoint to get user profile information from the database"
  • feat(api): add GET /users/:id/profile
    
    Mobile client needs profile data without the full user payload
    to reduce LTE bandwidth on cold-launch screens.
    
    Closes #128
    

Diff: breaking API change

  • feat(api)!: rename /v1/orders to /v1/checkout
    
    BREAKING CHANGE: clients on /v1/orders must migrate to /v1/checkout
    before 2026-06-01. Old route returns 410 after that date.
    

Auto-Clarity

Always 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.

Boundaries

Only 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.

来自 juliusbrussee 的更多技能

caveman
juliusbrussee
超压缩沟通模式。通过像原始人一样说话,将令牌使用量削减约75%,同时保持完整的技术准确性。支持强度级别:lite、full(默认)、ultra、wenyan-lite、wenyan-full、wenyan-ultra。当用户说“caveman mode”、“talk like caveman”、“use caveman”、“less tokens”、“be brief”或调用/caveman时使用。在请求令牌效率时也会自动触发。
communicationproductivity
caveman-compress
juliusbrussee
将自然语言记忆文件(CLAUDE.md、待办事项、偏好设置)压缩为穴居人格式以节省输入令牌。保留所有技术内容、代码、URL和结构。压缩版本覆盖原文件。人类可读备份保存为FILE.original.md。触发方式:/caveman-compress 文件路径 或 "压缩记忆文件
developmentdocument
caveman-help
juliusbrussee
所有穴居人模式、技能和命令的快速参考卡。一次性显示,非持久模式。触发词:/caveman-help、"caveman help"、"what caveman commands"、"how do I use caveman"。
developmentdocumentproductivity
caveman-review
juliusbrussee
超精简代码审查评论。减少PR反馈中的噪音,同时保留可操作的关键信息。每条评论仅一行:位置、问题、修复。当用户说“审查此PR”、“代码审查”、“审查差异”、“/review”或调用/caveman-review时使用。审查拉取请求时自动触发。
developmentcode-review
caveman-stats
juliusbrussee
显示当前会话的实际令牌使用量和预估节省量。直接从Claude Code会话日志读取——无AI估算。通过/caveman-stats触发。输出由mode-tracker钩子注入;模型本身不计算这些数字。
developmentdata-analysis
cavecrew
juliusbrussee
我们要求翻译一段文本,目标语言是简体中文。文本内容是关于一个名为"cavecrew"的代理技能的描述。需要保留名称"cavecrew"以及其中的子代理名称如"cavecrew-investigator"、"cavecrew-builder"、"cavecrew-reviewer"等。同时要保留技术术语如"Explore"、"diff review"等。不要添加任何额外内容,只翻译<text>内的文本。 翻译时注意:保持原意,简洁。原文中有一些英文术语和代码风格,需要保留。例如"cavecrew-investigator"等子代理名称不翻译。"Explore"可能是一个命令或功能,保留不译。"caveman-compressed"可以翻译为"穴居人压缩"或类似,但为了保持风格,可以译为"穴居人式压缩"。"~60% smaller"译为"约小60%"。"main context"译为"主上下文"。"Trigger"译为"触发词"或"触发条件"。 整体翻译要流畅,符合中文表达习惯
developmentcode-reviewapi