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
Decision guide for delegating to caveman-style subagents. Tells the main thread WHEN to spawn `cavecrew-investigator` (locate code), `cavecrew-builder` (1-2 file edit), or `cavecrew-reviewer` (diff review) instead of doing the work inline or using vanilla `Explore`. Subagent output is caveman-compressed so the tool-result injected back into main context is ~60% smaller — main context lasts longer across long sessions. Trigger: "delegate to subagent", "use cavecrew", "spawn...
developmentcode-reviewapi