SKILL.md 2.48 KB

name: cross-module-log description: 为 log-cross-module.sh hook 自动追加到跨模块改动日志中的条目批量补填「原因」和「影响评估」。仅由 module-report § ⑦ 硬验收时调用,CC 编辑中途不主动调用(节省 LLM 调用次数)。 user-invocable: false

allowed-tools: Read Write Edit Bash(git branch *)

所有输出必须使用中文。

cross-module-log

说明

软规则 S2 执行:对非当前模块文件的每次编辑(无论目标模块是否已 MR merged)必须记录原因 + 影响评估。

本日志由 hook + skill 协作维护——hook 自动落存根(4 列机械数据),CC 不主动处理 TBD;由 module-report § ⑦ 硬验收阶段统一调用本 skill,一次性推断补齐「原因 / 影响评估」两列。不需要人工填写,人工只在最终看 MR 描述时复核。

执行步骤

  1. 确定当前模块(从当前 git 分支名推导:git branch --show-currentmodule-<module_id> → 取 module_idmodule-start 步骤 3 保证本 skill 执行时一定处于 module-* 分支)。
  2. 打开 docs/superpowers/module-reports/<current>-cross-module.md文件不存在 → 打印 cross-module-log: 无跨模块改动,跳过 并退出(hook 是日志文件的唯一创建者;文件缺失意味着本模块周期内 hook 从未追加过条目,没有 TBD 需要补)。
  3. 找到「原因」或「影响评估」列中含 TBD(CC 补) 的行。
  4. 对每个 TBD 行,CC 自主推断填写以下两列(基于当前 session 的改动上下文 + REQ 卡片 + 目标模块的代码):
    • 原因:为什么要修改目标模块的代码?当前模块的哪个需求迫使这样做?
    • 影响评估:目标模块的哪些 API / 行为 / 调用方可能受影响?其现有测试是否仍然有效?是否需要新测试?(1-3 句话)
  5. 编辑该行;保持时间戳 / 目标模块 / 文件 / 改动摘要列不变。
  6. 输出确认:cross-module-log: 更新了 N 行

下游

填充后的日志会被 module-report 原文嵌入到 module-report-template.md § ⑦。

参考

  • ${CLAUDE_SKILL_DIR}/templates/cross-module-log-template.md(仅供 hooks/scripts/log-cross-module.sh 创建日志文件时渲染表头;本 skill 自身不再读取)
  • ${CLAUDE_SKILL_DIR}/templates/cross-module-log-row-template.md(行结构参考,hook 内联拼接行字符串,本 skill 直接编辑已有行)
  • CLAUDE.md § 🟡 软规则 S2