用途
git-history-recon 用于在代码审查之前,挖掘 Git 仓库的提交历史元数据,产出一份机器可读的代码库风险画像。其输出是一个结构化产物 walkthrough/recon-report.md,面向下游智能体(如代码审查智能体、线性走查 Discovery)读取,帮助它们优先关注高风险文件,而无需自行构建任何 Git 分析流程。
调用方式为 /git-history-recon,可带可选参数 [target-directory],默认使用当前工作目录。提供该参数时,所有 Git 命令使用 -C TARGET_DIRECTORY,输出写入 TARGET_DIRECTORY/walkthrough/recon-report.md。
主要能力(7 条并行分析流水线)
- 代码热点(Hotspots):统计分析窗口内每个文件的修改次数,降序排列取前 N。
- 缺陷聚集文件(Bug Magnets):按提交信息中匹配 fix、bug、broken、hotfix、revert 的提交,统计涉及的文件的修改次数。
- 巴士系数(Bus Factor):按全时段提交数统计贡献者排名(前 20),并计算占全部提交 80% 所需的前若干贡献者数量,报告为“N 位贡献者承担了 80% 的提交”。
- 活跃与总贡献者:统计最近 3 个月活跃贡献者数与全时段总贡献者数。
- 团队动量(Momentum):按月份统计分析窗口内的提交活动分布。
- 救火频率(Firefighting):统计分析窗口内提交信息匹配 revert、hotfix、rollback 的提交数量,并计算其占窗口内总提交的百分比。分级解释为:< 5% 健康、5–15% 偏高、超过 15% 高。
- 近期新增文件(Recently Added Files):按分析窗口内新增(--diff-filter=A)的文件,去重后取前 N。
使用方式与关键规则
- 前置检查:先运行
git rev-parse --git-dir判断目标是否为 Git 仓库。若不是,停止并报错“Target is not a git repository.”,不创建 walkthrough 目录,也不写部分报告。 - 浅克隆检查:运行
git rev-parse --is-shallow-repository,若为 true 则在报告头部加警告并继续处理。 - 规模探测(Phase 0):运行
git rev-list --count HEAD与git shortlog -sn HEAD --no-merges | wc -l,按提交数分级并确定分析窗口与 N:- < 500(small):全部历史,N = 20
- 500–10000(medium):
--since='1 year ago',N = 30 -
10000(large):
--since='6 months ago',N = 50
- 窗口内提交检查:若窗口内 0 提交,则告警并回退为全部历史、N = 20,重新检查。
- 技能本地排除规则:读取
${CLAUDE_SKILL_DIR}/assets/exclude-patterns(gitignore 风格,每行一个 glob,忽略空行与#注释行),将每个模式包装为 git 的:(glob,exclude)PATTERNpathspec,追加到流水线 1、2、7 的命令末尾。若没有加载任何模式,则完全省略-- . EXCLUDE_PATHSPECS,不过滤运行。该排除不适用于流水线 3、4、5、6,因为它们基于提交与作者而非文件路径。 - 空白行过滤:流水线 1、2、7 必须使用
grep -v '^$'去除--name-only输出中提交之间的空行,避免空行被计入文件统计。 - 交叉引用(Phase 2):计算热点文件与缺陷聚集文件的交集;交集非空时,对每个文件运行
git shortlog -sn -- FILEPATH | head -1提取主要负责人;交集为空时,High-Risk Files 章节写入明确的无结果说明。 - 报告写入(Phase 3):运行
mkdir -p walkthrough,写入walkthrough/recon-report.md。
报告结构
报告头部包含:生成时间戳、仓库路径或名称、规模分级(附提交数与贡献者数)、分析窗口、缺陷匹配关键词(fix, bug, broken, hotfix, revert)、排除项数量(source: assets/exclude-patterns;应用于 Code Hotspots、Bug Magnets、High-Risk Files、Recently Added Files)、以及关于缺陷匹配依赖提交信息关键词的注意事项说明。若出现浅克隆或窗口回退等警告,则在 Caveat 之后追加 WARNING 行。
报告始终包含 8 个必需章节,无数据的章节会写入一行明确的“No data”,从不省略,以便下游智能体按章节标题解析而无需防御性空检查。
适用场景与限制
- 适用:在代码审查前为大型或中等规模仓库建立风险优先级;为下游审查智能体提供统一的高风险文件入口;评估团队动量和救火频率等工程健康信号。
- 限制:缺陷聚集检测依赖提交信息关键词匹配,使用纯工单号、不含 fix/bug 字样的 Conventional Commits 或非英文提交规范的仓库结果会被低估;报告明确披露该限制,并说明“条目缺失不代表低风险”。当
[target-directory]为子目录时,Code Hotspots / Bug Magnets / Recently Added Files 受目录范围限定,而 Bus Factor / Team Momentum / Firefighting 仍为全仓库范围,此范围差异需在 Recommendations 章节注明。此外,工作流强调:若提供了流程地图或 Mermaid 图,应将其视为权威流程,严格按顺序执行,不即兴改动或跳过步骤;遇到歧义节点需先暂停询问。
关于定价、收费、平台支持等信息,资料暂未提供。