分析 Git 历史,发现"逻辑耦合"(总一起改的文件)和"热点"(高频修改的复杂模块)。基于 Adam Tornhill 的《Your Code as a Crime Scene》方法论。
70
Quality
56%
Does it follow best practices?
Impact
90%
1.45xAverage score across 3 eval scenarios
Optimize this skill with Tessl
npx tessl skill review --optimize ./.trae/skills/git-forensics/SKILL.md"历史不会重复,但会押韵。静态分析告诉你结构,Git 取证告诉你痛苦的真相。" —— Adam Tornhill
本技能基于 Adam Tornhill 的《Your Code as a Crime Scene》 方法论。 核心思想:代码的演化历史比代码本身更能揭示设计问题。
[!IMPORTANT] 在执行任何分析之前,你必须调用
sequential thinking工具,视情况进行 2—3 步推理。 思考内容例如:
- "这个项目的 Git 历史有多深?是否需要
git fetch --unshallow?"- "我应该关注哪个时间范围?(最近 3 个月?1 年?)"
- "有没有明显的'噪音文件'(如
package-lock.json)需要排除?"
python scripts/git_forensics.py --repo . --threshold 0.3python scripts/git_hotspots.py --repo . --days 180git log --oneline -n 100,快速感知项目近期活跃度。import/use 关系,但 70% 的提交都一起出现?"service/ipc.rs 总和 gui/api.ts 一起改,但它们属于不同构建根,这是版本漂移的温床!公式: 热点 = 高变更频率 (Churn) × 高复杂度 (Complexity)
老师傅策略矩阵 (来自 CodeScene):
| 低复杂度 | 高复杂度 | |
|---|---|---|
| 高 Churn | 配置/生成代码,可忽略 | 🔴 优先重构!Bug 温床,ROI 最高 |
| 低 Churn | 稳定模块,别动 | 🟡 遗留雷区,小心翼翼 |
老师傅建议: 重构资源有限时,只攻高 Churn + 高 Complexity 的象限。这是投资回报率最高的地方。
git fetch --unshallow。没有历史 = 没有数据 = 你是盲人。package-lock.json, Cargo.lock, *.min.js, dist/ 等生成物。它们会污染你的分析结果。git mv) 会干扰追踪。如果发现诡异的耦合数据,手动检查是否是重命名导致。3069d33
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.