git-commit-analyzer
13
总安装量
12
周安装量
#25362
全站排名
安装命令
npx skills add https://github.com/shaoxyz/git-commit-analyzer --skill git-commit-analyzer
Agent 安装分布
claude-code
9
gemini-cli
8
antigravity
8
cursor
7
windsurf
5
Skill 文档
Git Commit Analyzer – ç马é´å®å¨ ðð´
ç¨ AI åæ git æäº¤ï¼é´å®ä½ ä»å¤©æ¯ã夯ãè¿æ¯ãæå®äºãã
ä¼ ç»ææ ï¼è¡æ°ãæäº¤æ°ï¼æ æ³åæ çå®è´¡ç®ãæ¬å·¥å ·ç¨ AI ç代ç çè§£è½åï¼ç»åºçµéæ·é®ççæ¡ï¼ä½ ä»å¤©å°åºå·æ²¡å·ï¼
å®è£
# å®è£
skill
npx skills add shaoxyz/git-commit-analyzer
# ast-grepï¼å¯éï¼å¯ç¨å¤è¯è¨ AST 代ç åæï¼
npm i -g @ast-grep/cli
Quick Start
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?” |
è¯åä½ç³»ï¼2026 AI æ¶ä»£çï¼
å¨ Vibe Coding æ¶ä»£ï¼ä»£ç éä¸ä»£è¡¨è´¡ç®ï¼èåææ¯ã
ð¤ æ ¸å¿ç»´åº¦ï¼éåææ°ï¼Rewrite Indexï¼
é®ï¼è®© 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.” |
ð ä¸å¡ä»·å¼ï¼Business Valueï¼
| ç级 | å®ä¹ | ç³»æ° | æå·¥äººè¯´ |
|---|---|---|---|
| ð æ ¸å¿èµäº§ | ç´æ¥å½±åæ¶å ¥/ç¨æ· | Ã1.5 | “å¨è¿ä¸ªä»£ç è®°å¾ä¹°ä¿é©” |
| ð§± æ¯æè®¾æ½ | åºç¡è®¾æ½ãå·¥å ·é¾ | Ã1.0 | “èæ´»ç´¯æ´»æäººå¹²” |
| ð¨ é¦ä¸æ·»è± | ä½éªä¼åãUI è°æ´ | Ã0.6 | “èæ¿åæ¬¢ï¼ç¨æ·æ æ” |
| ð åå¨å³æµªè´¹ | 没人ç¨ã没人æ | Ã0.2 | “å äºä¹æ²¡äººåç°” |
ð åèææ ï¼æºå¨è®¡ç®ï¼
- substance_scoreï¼å®è´¨åï¼ææä»£ç è¡ã彿°/ç±»æ°å¢ãæµè¯è¦çï¼
- bullshit_scoreï¼æ°´åï¼æ ¼å¼åãéå½åãèªå¨çæãå¤å¶ç²è´´ï¼
â ï¸ è¿äºæ¯åèæ°æ®ï¼ä¸åæ¯æ ¸å¿è¯å¤æ å
æç»å¾åå ¬å¼
æç»å¾å = åºç¡å à ä¸å¡ä»·å¼ç³»æ° à éåææ°ç³»æ°
举ä¾ï¼
- åäºä¸ª CRUD æ¥å£ï¼åºç¡å 20ï¼+ é¦ä¸æ·»è±ï¼Ã0.6ï¼+ AI è½åï¼Ã0.5ï¼= 6 å ð
- ä¿®äºä¸ªæ¯ä» bugï¼åºç¡å 15ï¼+ æ ¸å¿èµäº§ï¼Ã1.5ï¼+ éè¦ä¸å¡ç¥è¯ï¼Ã1.0ï¼= 22.5 å ð
ä¼ ç»ç»´åº¦ï¼ä¿çåèï¼
Complexity Scoreï¼ææ¯æ·±åº¦ï¼1-5
| åæ° | ç级 | ä¾å |
|---|---|---|
| 1 | æ¸é±¼çº§ | typoãé ç½®ãèªå¨çæ |
| 2 | ç®å级 | æ¹åéåãå° UI è°æ´ |
| 3 | æ£å¸¸çº§ | æ°å½æ°ãæç¡®ç bug ä¿®å¤ |
| 4 | ç¡¬æ ¸çº§ | æ°åè½ãæ¶æè°æ´ |
| 5 | ç¥ä»çº§ | ç®æ³è®¾è®¡ãç³»ç»çº§éæ |
Impact Scoreï¼å½±åèå´ï¼1-5
| åæ° | ç级 | ä¾å |
|---|---|---|
| 1 | èªå¨±èªä¹ | æµè¯ãææ¡£ |
| 2 | å°æå°é¹ | 忍¡åå é¨ |
| 3 | æç¹ä¸è¥¿ | 影忍¡åæ¥å£ |
| 4 | 大å¨å¹²æ | 跨模åãAPI åæ´ |
| 5 | 伤çå¨éª¨ | æ ¸å¿åºç¡è®¾æ½ |
ç¹æ®æå°±å¾½ç«
æ£é¢
- ð çº¿ä¸æç«éé¿ – ä¿®å¤äº P0/P1 çº§å« bug
- ðï¸ åºå»ºçé – è´¡ç®äºåºç¡è®¾æ½ä»£ç
- ð ææ¡£ä¾ – åäºææä¹çææ¡£ï¼é¾å¾ï¼
- ð§¹ å±å±±æ¸ æ´å·¥ – æ¸ çäºææ¯åºå¡
- ð¥ å åºè·è·¯é¢å¤å½¹ – å é¤ä»£ç > æ°å¢ä»£ç ï¼å¯è½æ¯å¥½äºï¼
è´é¢
- ð¨ åç´ ç¼ – 纯 UI/æ ·å¼è°æ´å· commit
- ð¤ AI çå½¢ç¶ – 代ç çèµ·æ¥å AI åç
- ð CV å·¥ç¨å¸ – å¤å¶ç²è´´å¤§å¸
- 𤡠commit å·å – ææ¾å¨å· commit æ°
Output Format
{
"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?"
}
éè¦å£°æ â ï¸
è¿ç©æå¿æµä¸åºæ¥ç
- è±äºä¸å¤© debug æååªæ¹ä¸è¡çç
- å¼ä¼ãcode reviewã带æ°äººçéå½¢ä»åº
- å°è¯äº 10 ç§æ¹æ¡æåå¤±è´¥çæ¢ç´¢
- 读æç¥ä¼ ä»£ç ææ¶èçèç»è
æ£ç¡®çæå¼æ¹å¼
- 彿 å¢é娱ä¹å·¥å ·ï¼ä¸æ¯ KPI èæ ¸
- é å daily standup å¢å æ°æ°
- åç°å¼å¸¸æ¨¡å¼ï¼è¿ç»æ¸é±¼éè¦å ³æï¼
- 严ç¦ç¨äºç»©æè¯ä¼°
èæ¿é¡»ç¥
å¦æä½ æ³ç¨è¿ä¸ªæ¥çæ§åå·¥ï¼å»ºè®®å ä½éªä¸ä¸è¢« AI è¯ä¸ºãæå®äºãçæè§ã
ð¬ æ·±åº¦åææ¨¡å¼
éè¦æ´æ·±å ¥ç代ç åæï¼æ¥ç Analyze Modeï¼
- çµéä¸é®ï¼AI éåææ¬ï¼å¹²æ´»è¿æ¯æ¼æï¼2026 å¹´è¿æåå¨å¿ è¦ï¼
- ä¸å¡ä¸ä¸ææ¶éï¼ä¸åªç代ç ï¼è¿ç READMEãIssueãPR åå²
- ç»´æ¤ vs éåå³çï¼ä»ä¹æ¶å该让 AI éåï¼ä»ä¹æ¶å该å°å¿ç»´æ¤
AI çåææ°
æ¯ä¸ªäººé¢å¤è·å¾ 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?”