SKILL.md
readonly只读
name
caveman-commit
description
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", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes.
编写简洁准确的提交信息。采用 Conventional Commits 格式。不说废话。重原因而非内容。
规则
主题行:
<type>(<scope>): <imperative summary>—<scope>可选- 类型:
feat,fix,refactor,perf,docs,test,chore,build,ci,style,revert - 祈使语气:"add", "fix", "remove" — 而不是 "added", "adds", "adding"
- 尽可能 ≤50 字符,硬限制 72
- 末尾无句号
- 遵循项目约定中冒号后的大小写
正文(仅在需要时):
- 当主题行不言自明时完全省略
- 仅在以下情况添加正文:非显而易见的原因、破坏性变更、迁移说明、关联的问题
- 每行 72 字符处换行
- 使用
-而非*作为项目符号 - 在末尾引用问题/PR:
Closes #42,Refs #17
绝对不包含的内容:
- "此提交做了 X"、"我"、"我们"、"现在"、"当前" — diff 已经说明了内容
- "应...要求" — 使用 Co-authored-by 尾注
- "由 Claude Code 生成" 或任何 AI 归属 — 除非用户自己的规则要求添加
Assisted-by/AI 归属尾注,则作为尾注添加 - 表情符号(除非项目约定要求)
- 当作用域已说明时重复文件名
示例
Diff:用户资料的新端点,正文解释了原因
- ❌ "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:破坏性 API 变更
- ✅
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.
自动清晰性
始终为以下情况包含正文:破坏性变更、安全修复、数据迁移、任何回退先前提交的操作。切勿将这些压缩为仅主题行 — 未来的调试者需要上下文。
边界
仅生成提交信息。不执行 git commit,不暂存文件,不修改。将信息作为代码块输出,准备粘贴。"stop caveman-commit" 或 "normal mode":恢复为详细提交风格。






