用 AI 分析 git 提交,鉴定你今天是「夯」还是「拉完了」。 支持 GitHub、GitLab、本地仓库。双语输出,两种风格(打工人/Linus)。
用 AI 分析 git 提交,鉴定你今天是「夯」还是「拉完了」。
传统指标(行数、提交数)无法反映真实贡献。本工具用 AI 的代码理解能力,给出灵魂拷问的答案:你今天到底卷没卷?
# 安装 skill
npx skills add shaoxyz/git-commit-analyzer
# ast-grep(可选,启用多语言 AST 代码分析)
npm i -g @ast-grep/cli
SKILL_DIR=~/.claude/skills/git-commit-analyzer
# 1. 获取提交
python $SKILL_DIR/scripts/fetch_commits.py /path/to/repo --since "1 day ago" -o commits.json
# GitHub: --github owner/repo (需要 GITHUB_TOKEN)
# 2. 客观分析(计算 substance_score / bullshit_score)
python $SKILL_DIR/scripts/analyze_code.py commits.json
# 3. 生成 prompt(同时输出打工人 + Linus 双风格)
python $SKILL_DIR/scripts/generate_prompt.py commits.json > prompt.txt
# 4. 发给 Claude,保存结果为 analysis.json
# 5. 生成报告
python $SKILL_DIR/scripts/generate_report.py analysis.json
| 日总分 | 等级 | 称号 | 颁奖词 | Linus 说 |
|---|---|---|---|---|
| ≥ 40 | 🔥 夯 | 代码之神 | 建议申请调薪 | "Not bad. I've seen worse." |
| 25-39 | 💎 顶级 | 团队支柱 | 老板看了直呼内行 | "Acceptable." |
| 15-24 | 👑 人上人 | 稳定输出 | 职场中坚力量 | "It works, I guess." |
| 5-14 | 🧍 NPC | 打工人 | 今天也是普通的一天 | "Do you even know what you're doing?" |
| < 5 | 💀 拉完了 | 带薪摸鱼 | 明天记得努力 | "What the fuck is this shit?" |
在 Vibe Coding 时代,代码量不代表贡献,脑子才是。
问:让 AI 重写这段代码需要多久?
| 分数 | 含义 | 系数 | Linus 说 |
|---|---|---|---|
| 1/5 | AI 10 分钟搞定 | ×0.5 | "Why did a human write this?" |
| 2/5 | AI 需要一些上下文 | ×0.8 | "An intern with ChatGPT could do this." |
| 3/5 | 需要业务知识输入 | ×1.0 | "At least you know the domain." |
| 4/5 | AI 只能写框架 | ×1.1 | "Okay, you actually thought about this." |
| 5/5 | AI 写不出来 | ×1.3 | "Finally, irreplaceable human value." |
| 等级 | 定义 | 系数 | 打工人说 |
|---|---|---|---|
| 💎 核心资产 | 直接影响收入/用户 | ×1.5 | "动这个代码记得买保险" |
| 🧱 支撑设施 | 基础设施、工具链 | ×1.0 | "脏活累活有人干" |
| 🎨 锦上添花 | 体验优化、UI 调整 | ×0.6 | "老板喜欢,用户无感" |
| 💀 存在即浪费 | 没人用、没人懂 | ×0.2 | "删了也没人发现" |
⚠️ 这些是参考数据,不再是核心评判标准
最终得分 = 基础分 × 业务价值系数 × 重写指数系数
举例:
| 分数 | 等级 | 例子 |
|---|---|---|
| 1 | 摸鱼级 | typo、配置、自动生成 |
| 2 | 简单级 | 改变量名、小 UI 调整 |
| 3 | 正常级 | 新函数、明确的 bug 修复 |
| 4 | 硬核级 | 新功能、架构调整 |
| 5 | 神仙级 | 算法设计、系统级重构 |
| 分数 | 等级 | 例子 |
|---|---|---|
| 1 | 自娱自乐 | 测试、文档 |
| 2 | 小打小闹 | 单模块内部 |
| 3 | 有点东西 | 影响模块接口 |
| 4 | 大动干戈 | 跨模块、API 变更 |
| 5 | 伤筋动骨 | 核心基础设施 |
{
"report_date": "2026-01-29",
"team_summary": {
"total_commits": 23,
"real_work_score": 156,
"bullshit_ratio": "15%",
"team_grade": "💎 顶级",
"mvp": "alice",
"daily_vibe": "今天团队状态不错,产出硬核"
},
"leaderboard": [
{
"rank": 1,
"name": "alice",
"final_score": 49.5,
"grade": "🔥 夯",
"title": "代码之神",
"award": "建议申请调薪",
"commits": 5,
"badges": ["🚀 线上救火队长"],
"summary": "今天单挑了整个支付模块重构",
"linus_review": "Finally, someone who knows what they're doing.",
"ai_survivor_score": 85,
"ai_verdict": "核心资产守护者,AI 替代不了",
"future_advice": "继续深耕业务,你的领域知识是护城河"
}
],
"commits": [
{
"sha": "a1b2c3d4",
"author": "alice",
"rewrite_index": 4,
"business_value": "💎 核心资产",
"final_score": 22.5,
"roast": "支付模块敢动?胆子不小",
"linus_says": "At least someone understands the payment flow.",
"ai_could_write": "AI 能写框架,但细节需要人"
}
],
"ai_era_verdict": {
"team_ai_survivor_score": 72,
"most_irreplaceable": "alice - 支付领域专家",
"most_replaceable": "bob - 今天全是 CRUD(善意提醒)",
"team_future": "核心成员稳固,建议减少机械性工作",
"linus_ai_rant": "Half of you are competing with ChatGPT. Guess who's winning?"
},
"daily_roast": "alice 一个人把团队 AI 生存指数拉高了 20 点",
"closing_rant": "In 2026, if AI can write your code, why are you here?"
}
如果你想用这个来监控员工,建议先体验一下被 AI 评为「拉完了」的感觉。
需要更深入的代码分析?查看 Analyze Mode:
每个人额外获得 AI Survivor Score(0-100):
| 分数 | 判定 | 建议 |
|---|---|---|
| 80+ | 🛡️ AI 替代不了 | 你是团队核心资产 |
| 60-79 | ⚔️ 有一战之力 | 继续深耕领域知识 |
| 40-59 | ⚠️ 危险边缘 | 该学点 AI 做不到的了 |
| < 40 | 💀 建议转型 | 你在和 ChatGPT 抢饭碗 |
Linus: "In 2026, if AI can write your code, why are you here?"