Agent Skills › didi/helixharness › git-diff-impact

git-diff-impact

GitHub

分析 Git 改动的影响范围、调用链及兼容性风险,生成结构化影响报告。支持未提交和提交对比模式,评估业务影响与契约破坏风险。

helixharness/skills/git-diff-impact/SKILL.md didi/helixharness

触发场景

用户要求分析代码改动的影响 需要评估变更的兼容性和潜在风险

安装

npx skills add didi/helixharness --skill git-diff-impact -g -y
更多选项

非标准路径

npx skills add https://github.com/didi/helixharness/tree/main/helixharness/skills/git-diff-impact -g -y

不安装直接使用

npx skills use didi/helixharness@git-diff-impact

指定 Agent (Claude Code)

npx skills add didi/helixharness --skill git-diff-impact -a claude-code -g -y

安装 repo 全部 skill

npx skills add didi/helixharness --all -g -y

预览 repo 内 skill

npx skills add didi/helixharness --list

SKILL.md

Frontmatter
{
    "name": "git-diff-impact",
    "description": "分析指定 Git 改动的调用链、业务影响和兼容性风险,生成影响报告。用户主动要求影响分析时单独使用,无需 HelixHarness feature。",
    "disable-model-invocation": true
}

Git 改动影响分析

这是按需调用的独立方法 Skill。普通 Apply、Bug Fix 和 Code Review 不自动调用它;分析不创建 feature、启动统计、修改业务代码或改变 HelixHarness 评审状态。无需先执行 Init,也不依赖 Spec/Tasks 或 helixharness-platform。

输入与范围

用户可以用自然语言指定范围,或提供以下参数:

参数 含义
不提供 Git 引用 分析当前未提交改动
一个 Git 引用 对比该引用与当前 HEAD 的提交快照,不混入工作区改动
两个 Git 引用 对比第一个与第二个提交快照,不混入工作区改动
--req <path> / --design <path> 可选的需求 / 设计文档
--out <path> 报告文件或目录;默认当前工作目录的 diff-impact-reports/
--no-save 只在对话输出;优先于 --out

例如:“使用 HelixHarness git-diff-impact,对比 main 和 feature/search,结合 --req docs/search.md 分析影响,--no-save。”引用和路径按独立参数处理,保留含空格路径,不把用户文本拼接为可执行 shell 代码。

未提交模式

先读 git status --short,再用 git diff --no-ext-diff --no-textconv HEAD -- 取得已跟踪文件的暂存及未暂存改动。用 git ls-files --others --exclude-standard 单独列出未跟踪文件;Git diff 不包含它们。仅读取明确属于请求范围的新增源码、配置或文档,不读取凭据、忽略目录或无关生成物。范围混杂且无法确定归属时,先列出候选路径,请用户明确范围;不把整个工作区当作某个 feature 的改动。

无 HEAD 的新仓库按未出生分支处理:以空树为基准,单独检查暂存、未暂存及相关未跟踪文件,并在报告注明没有基准提交。没有范围内改动时结束,不生成“通过”结论。

提交对比模式

用 git rev-parse --verify --end-of-options '<ref>^{commit}' 将每个引用解析为完整 SHA。之后仅用解析后的 SHA 获取 git diff --no-ext-diff --no-textconv <base-sha> <target-sha> -- 及变更清单。这是两个提交快照的直接比较;只有用户要求“分支引入的改动”时才以 merge-base 为基准,并明确记录实际基准。

调用链和行号必须来自目标 SHA 的代码;删除项使用基准 SHA 并标注。用 git show <sha>:<path>、git grep <pattern> <sha> -- 等只读命令检查对应版本,不能用当前工作区替代历史代码,也不切换或重置用户分支。无效引用、非 Git 仓库或未解决的冲突应说明并停止相关分析。

记录完整比较 SHA、范围内文件及排除项。未提交模式先保留本轮差异快照,结束前核对范围内内容是否变化;变化则刷新分析,不能把旧结果当成最新结果。

分析方法

  1. 建立上下文。 读取适用的 AGENTS.md 和相关模块文档,再读取用户提供的需求 / 设计。没有需求时仍可分析代码,但不声称已验证需求覆盖;文档冲突时列明两边依据,不擅自选择。只读取与当前改动相关的上下文。
  2. 定位语义变化。 从 diff 定位修改的函数、接口、类型、配置、数据结构和状态,比较输入输出、错误行为、副作用及默认值。新增代码也检查注册、导出和状态写入;不因“仅新增”就自动判低风险。
  3. 追踪影响。 用当前目标版本的 LSP 引用或文本搜索至少检查一层直接调用方,高风险项再追踪间接消费者。关注事件、回调、反射、依赖注入和共享缓存;未找到引用不等于不存在调用。记录具体路径、行号、触发条件及受影响业务场景。业务意图对齐仅依据用户提供的需求或设计。
  4. 检查兼容性。 涉及公共契约、构建配置或相关语言时读取 compatibility.md 的对应部分。先从仓库确认支持环境,再核对候选风险。环境范围未知时列出假设及待验证项,不臆造支持版本。需要核实 API 版本事实时使用官方文档,不把记忆当证据。
  5. 分级和去重。 高风险是有证据的契约破坏、核心行为回归、数据一致性问题或支持环境中的硬失败;中风险是有具体机制、影响有限或仍需验证的行为变化;低风险是有依据的局部影响。把风险等级与证据确定性分开标注,已有效覆盖的守卫、polyfill、转译或降级分支应计入判断。不能仅因某个新 API 或公共接口有变化就判定缺陷。

通常由当前 Agent 按模块分析,不固定增加子 Agent。改动过大时先列出覆盖计划和优先级;未深入检查的文件及调用链明确标为未覆盖,不以低风险或“无问题”代替。只做静态分析时明确说明,不能声称测试已执行或兼容性已经实测通过。

输出

对话先给出主要发现,再给出报告路径。报告包含:

  • 分析范围:模式、基准 / 目标 SHA 或工作区快照、已读上下文、排除项;
  • 改动概览:涉及模块和行为变化;
  • 影响清单:改动位置、直接 / 间接调用方、触发条件、业务影响、风险等级、证据和待验证项;
  • 兼容性:已确认的支持环境、有效缓解及受影响环境;不适用时简述原因;
  • 建议:需验证的行为及测试方向;不自动执行修复或生成测试;
  • 覆盖边界:未覆盖文件、动态调用盲区、未运行测试和仍不确定的结论。

未指定 --no-save 时,保存 UTF-8 Markdown:提交对比用 diff_impact_<base-short-sha>_<target-short-sha>.md,未提交模式用 diff_impact_uncommitted_<YYYYMMDD>.md。--out 以 .md 结尾时视为文件,否则视为目录。同名文件追加 _2、_3 等后缀,避免覆盖。保存失败时仍在对话交付结果,并说明真实错误。

报告是影响分析建议,不是 HelixHarness 的 APPROVE、MUST_FIX、正式 Evidence 或 Archive 收据。用户后续要求修复或接入评审时,由相应流程处理。

版本历史

  • 1.0.0 当前 2026-11-02 08:47

同 Skill 集合

helixharness/hosts/codex/skills/code-review/SKILL.md
helixharness/hosts/codex/skills/d-d2c/SKILL.md
helixharness/hosts/codex/skills/d2c-fidelity-evaluator/SKILL.md
helixharness/hosts/codex/skills/feedback/SKILL.md
helixharness/hosts/codex/skills/git-diff-impact/SKILL.md
helixharness/hosts/codex/skills/init/SKILL.md
helixharness/hosts/codex/skills/systematic-debugging/SKILL.md
helixharness/hosts/codex/skills/tdd/SKILL.md
helixharness/hosts/codex/skills/update/SKILL.md
helixharness/hosts/codex/skills/ut/SKILL.md
helixharness/skills/code-review/SKILL.md
helixharness/skills/d-d2c/SKILL.md
helixharness/skills/d2c-fidelity-evaluator/SKILL.md
helixharness/skills/feedback/SKILL.md
helixharness/skills/systematic-debugging/SKILL.md
helixharness/skills/tdd/SKILL.md
helixharness/hosts/codex/skills/apply/SKILL.md
helixharness/hosts/codex/skills/archive/SKILL.md
helixharness/hosts/codex/skills/brainstorming/SKILL.md
helixharness/hosts/codex/skills/bug-fix/SKILL.md
helixharness/hosts/codex/skills/config/SKILL.md
helixharness/hosts/codex/skills/propose/SKILL.md
helixharness/hosts/codex/skills/status/SKILL.md
helixharness/skills/brainstorming/SKILL.md
helixharness/SKILL.md

元信息

文件数
0
版本
1.0.0
Hash
e63a5c61
收录时间
2026-11-02 08:47

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-11-03 04:26
浙ICP备14020137号-1