DevBooks:影响分析(Impact Analysis)
渐进披露
基础层(必读)
目标:明确本 Skill 的核心产出与使用范围。 输入:用户目标、现有文档、变更包上下文或项目路径。 输出:可执行产物、下一步指引或记录路径。 边界:不替代其他角色职责,不触碰 tests/。 证据:引用产出物路径或执行记录。
进阶层(可选)
适用:需要细化策略、边界或风险提示时补充。
扩展层(可选)
适用:需要与外部系统或可选工具协同时补充。
推荐 MCP 能力类型
- •代码检索(code-search)
- •引用追踪(reference-tracking)
- •影响分析(impact-analysis)
前置:配置发现(协议无关)
- •
<truth-root>:当前真理目录根 - •
<change-root>:变更包目录根
执行前必须按以下顺序查找配置(找到后停止):
- •
.devbooks/config.yaml(如存在)→ 解析并使用其中的映射 - •
dev-playbooks/project.md(如存在)→ Dev-Playbooks 协议,使用默认映射 - •
project.md(如存在)→ template 协议,使用默认映射 - •若仍无法确定 → 停止并询问用户
关键约束:
- •如果配置中指定了
agents_doc(规则文档),必须先阅读该文档再执行任何操作 - •禁止猜测目录根
- •禁止跳过规则文档阅读
产物落点
- •必须写入:
<change-root>/<change-id>/proposal.md的 Impact 部分 - •备选:独立
impact-analysis.md文件(后续回填到 proposal.md)
输出行为(关键约束)
黄金法则:直接写入文档,禁止输出到对话窗口
必须遵守
- •直接写入:使用
Edit或Write工具将分析结果直接写入目标文档 - •禁止回显:不要在对话中显示完整的分析内容
- •简短通知:完成后只需告知用户"影响分析已写入
<文件路径>"
正确行为 vs 错误行为
| 场景 | ❌ 错误行为 | ✅ 正确行为 |
|---|---|---|
| 分析完成 | 在对话中输出完整 Impact 表格 | 使用 Edit 工具写入 proposal.md |
| 通知用户 | 复述分析内容 | "影响分析已写入 changes/xxx/proposal.md" |
| 大量结果 | 分页输出到对话 | 全部写入文件,告知文件位置 |
示例对话
code
用户:分析一下修改 UserService 的影响
AI:[使用代码检索/引用追踪分析]
[使用 Edit 工具写入 proposal.md]
影响分析已写入 `changes/refactor-user/proposal.md` 的 Impact 部分。
- 直接影响:8 个文件
- 间接影响:12 个文件
- 风险等级:中等
如需查看详情,请打开该文件。
执行方式
- •先阅读并遵守:
~/.claude/skills/_shared/references/AI行为规范.md(可验证性 + 结构质量守门)。 - •使用
Grep搜索符号引用,Glob查找相关文件。 - •严格按完整提示词输出影响分析 Markdown:
references/影响分析提示词.md。
输出格式
markdown
## Impact Analysis ### Scope - 直接影响:X 个文件 - 间接影响:Y 个文件 ### Impacts | 文件 | 影响类型 | 风险等级 | |------|----------|----------| | ... | 直接调用 | 高 | ### Risks - ... ### Minimal Diff - ... ### Open Questions - ...
上下文感知
本 Skill 在执行前自动检测上下文,选择合适的分析范围。
检测规则参考:skills/_shared/上下文检测模板.md
检测流程
- •检测变更包是否存在
- •检测
proposal.md中是否已有 Impact 章节 - •检测是否有结构化引用追踪能力可用(用于更精确分析)
本 Skill 支持的模式
| 模式 | 触发条件 | 行为 |
|---|---|---|
| 新建分析 | Impact 章节不存在 | 执行完整影响分析 |
| 增量分析 | Impact 已存在,有新变更 | 更新受影响文件列表 |
| 结构化分析 | 结构化引用追踪可用 | 使用调用关系进行精确分析 |
| 文本分析 | 仅文本检索可用 | 使用 Grep 文本搜索分析 |
检测输出示例
code
检测结果: - proposal.md:存在,Impact 章节缺失 - 引用追踪能力:可用 - 运行模式:新建分析 + 结构化分析