# Commit Roast

> 读取 git 提交历史,用中文幽默吐槽——敷衍的提交信息、凌晨提交、巨量改动等。当用户说「吐槽提交 / commit roast / 损一损我的 git log / 评价一下我的提交记录」时触发。

- Skill: `yuaicode/commit-roast` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add yuaicode/commit-roast`
- Raw SKILL.md: https://api.skillmd.com/api/skills/yuaicode/commit-roast/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: YuAICode (https://skillmd.com/u/yuaicode)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/yuaicode/commit-roast

---


# commit-roast — Git 提交记录中文幽默吐槽

把 git log 变成一份有梗、可分享的中文点评报告。像损友一样讲真话,对事不对人。

## 何时触发

用户说下列任意一句时触发:

- "吐槽一下我的提交记录"
- "损一损我的 git log"
- "commit roast"
- "帮我评价一下这段时间的提交"
- "看看我的提交有多烂"
- "review 一下我的 commit 习惯"

## 用法

### 第一步:采集素材

在目标 git 仓库目录下运行:

```bash
# 默认取最近 30 条提交
bash <skill>/bin/collect.sh

# 取最近 50 条
bash <skill>/bin/collect.sh 50

# 取最近 30 条,只看指定作者
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 一并吐槽。

