| name | commit-roast |
| description | 读取 git 提交历史,用中文幽默吐槽——敷衍的提交信息、凌晨提交、巨量改动等。当用户说「吐槽提交 / commit roast / 损一损我的 git log / 评价一下我的提交记录」时触发。 |
commit-roast — Git 提交记录中文幽默吐槽
把 git log 变成一份有梗、可分享的中文点评报告。像损友一样讲真话,对事不对人。
何时触发
用户说下列任意一句时触发:
- "吐槽一下我的提交记录"
- "损一损我的 git log"
- "commit roast"
- "帮我评价一下这段时间的提交"
- "看看我的提交有多烂"
- "review 一下我的 commit 习惯"
用法
第一步:采集素材
在目标 git 仓库目录下运行:
bash <skill>/bin/collect.sh
bash <skill>/bin/collect.sh 50
bash <skill>/bin/collect.sh 30 "alice@example.com"
输出包含四段:
META — 仓库路径、采集时间、参数概要
COMMITS — 逐条提交:短 hash、ISO 日期时间、subject
SHORTSTATS — 对应每条提交的增删行统计
SUMMARY — 总条数与总增删行数
第二步:Claude 挑槽点吐槽
拿到素材后,按以下槽点清单逐条过筛,找出值得吐槽的提交,生成点评报告。
槽点清单(命中任一即可点评)
| 类别 | 判断规则 | 吐槽方向 |
|---|
| 敷衍 message | subject 为 fix、update、wip、test、aaa、asdf、.、...、tmp、ok、done、单字母等 | "这信息是给自己看还是给外星人看的?" |
| fix 连环炮 | 同一天出现 fix → fix again → fix for real → fix (finally) 等序列 | "修了个 bug 再修修 bug 的 bug……" |
| 最终版陷阱 | subject 含 final、final2、final_final、最终版、终稿 | "没有最终,只有更终" |
| 深夜施工 | 提交时间在 00:00–05:59 | "凌晨 X 点还在 commit,是 bug 不除不睡还是 deadline 追命?" |
| 周末加班 | 提交日期为周六/周日 | "周末也不放过自己,佩服" |
| 巨量炸弹 | 单次提交增删合计 > 500 行 | "一口气改 N 行?code review 的同事当场去世" |
| 连环 revert | subject 含 revert 且前后都有相关提交 | "提交-撤回-提交三连,分不清是在写代码还是在玩悔棋" |
| 空提交/纯格式 | subject 含 format、whitespace、indent、lint fix、typo 超过 3 条 | "格式比功能还勤快" |
| 复制粘贴嫌疑 | 同一 subject 完全相同出现 ≥ 2 次 | "同款 commit 出现 N 次,是 ctrl+c 还是时空折叠?" |
输出格式
## Git 提交吐槽报告
### 逐条点评
**[hash] "subject"** (日期时间 / +X -Y 行)
> 槽点:…… (言简意赅,一两句,带梗)
(重复,最多列 10 条最有料的;其余一笔带过或跳过)
---
### 总评
(2–3 句综合印象,比如整体风格、主要问题类型、有无亮点)
### 锐评分数
- 提交信息规范度:X / 10
- 作息健康指数:X / 10
- 代码原子性:X / 10
- 综合吐槽指数:X / 10
(分数越低越惨,但记得附一句鼓励的话)
---
### 正经建议(严肃脸)
1. 试试 Conventional Commits 规范(`feat:`/`fix:`/`chore:` 等前缀),让 git log 变成文档。
2. 用 `commit-guard-zh` skill 在提交前自动检查 message 质量,把敷衍扼杀在摇篮里。
3. 单次提交尽量只做一件事——大改动拆小 PR,review 的人会感谢你的。
风格硬规则
- 善意幽默,不刻薄:像损友开玩笑,不让人看了难受,不人身攻击。
- 对事不对人:吐槽提交行为,不评价作者能力、智商、职业素养。
- 不涉及敏感:不调侃性别、年龄、民族、健康等。
- 打码隐私:若 subject 或 diff 中出现疑似密钥、密码、手机号,用
[已打码] 替换,不复述原文。
- 有理有据:每条吐槽必须对应具体提交,不凭空捏造。
- 结尾反转:最后的"正经建议"要真诚、实用,给人希望。
边界
- 只读 git,不写任何文件,不推送。
- 只处理 subject 和统计数字,不读取 diff 正文内容。
- 若提交数 < 5 条,说明素材太少,礼貌提示用户可以传入更大数量或切换到更活跃的仓库。
- 多仓库场景:切目录分别运行 collect.sh,再汇总素材给 Claude 一并吐槽。