📄 本页由源文件
skills/dev-flow/references/cross-project/handoff.md自动投影生成(单一权威源)。请勿直接编辑本页。
跨项目联调 · B 项目衔接
父文件 →
references/cross-project-flow.md。 本文件按需加载:A 项目 step-2 触发后生成 prompt / B 项目新对话识别衔接信号时。
A 项目生成的衔接 prompt 模板
markdown
### 🔗 跨项目衔接
检测到修复目标不在当前项目,需要跨项目操作:
| 项目 | 角色 | 说明 |
| --- | --- | --- |
| {A 项目} | 发现方/验证方 | 当前项目,问题在此发现,修复后在此验证 |
| {B 项目} | 修复方 | 需要在此项目中修改代码 |
📋 **B 项目衔接 prompt**(可直接粘贴到 B 项目新对话中):
> dev-flow,跨项目修复衔接
> **来源**:{A 项目名} 的 {需求标题}
> **工作上下文**:`{工作上下文文件路径}`
> **根因**:{一句话根因描述}
> **修复方案**:{一句话方案描述}
> **修改目标**:{文件列表}
> **依赖关系**:{A 项目} 依赖 {B 项目包名} {版本}B 项目新对话:衔接 prompt 识别
识别信号(任一)
- 包含"跨项目修复衔接"关键词
- 包含"来源" + "工作上下文"路径 + "根因"
- 用户粘贴了 step-2 生成的衔接 prompt
衔接后行为
- 读取 A 项目工作上下文:从衔接 prompt 中提取路径,
read_file加载 - 提取关键信息:根因、修复方案、修改目标、依赖关系
- 更新共用工作上下文(A/B 共用同一个
.md文件,详见父文件「单 .flow 架构」说明):
- 在需求标题前追加
[跨项目修复]前缀,标记当前阶段 - 根因分析直接复用
cross_project.status从pending_fix改为fixing- 在
## 进度中追加 B 项目修复进展
- 更新共用 .flow 锁文件:
phase=coding、status=active、刷新recovery("已接收衔接,正在 B 项目修复")
- 流程简化:
- 阶段 0:增量理解(从 A 项目上下文提取,不重新分析)
- 🆕 根因与方案确认(阻塞性):阶段 0 增量理解完成后、步骤 2 之前,必须使用
ask_followup_question弹出交互式选项让用户确认根因和方案在 B 项目侧是否正确:
markdown
### 🔗 B 项目根因与方案确认
**来源**:{A 项目名} 的 {需求标题 / 任务平台 ID}
**A 项目分析的根因**:
{从 A 工作上下文提取的根因描述,1~3 句话}
**需要在 B 项目做的修改**:
- {修改点 1}:{文件路径},{改什么}
- {修改点 2}:{文件路径},{改什么}
**依赖关系**:{A 项目} 依赖 {B 项目包名} {版本}
请确认以上信息在 B 项目侧是否正确:| 选项 | 说明 |
|---|---|
| ✅ 确认无误 | 根因和方案正确,开始执行修复 |
| ✏️ 根因需要调整 | 在 B 项目侧发现不同的根因 → 重新分析 |
| ✏️ 方案需要调整 | 根因对但实现方案不适用 B 项目 → 调整方案 |
| ❌ 先跳过,等确认 | 暂时不执行,标记为 blocked |
交互循环:
- ✅ → 进入步骤 1(跳过,输出 skipped 标记)
- ✏️ 根因 → AI 重新分析 B 项目侧根因 → 更新工作上下文 → 再次弹窗确认
- ✏️ 方案 → AI 调整方案 → 更新工作上下文 → 再次弹窗确认
- ❌ → 标记
cross_project.status = blocked,暂停等待
与 profile 预检的关系:两个弹窗独立,互不干扰。执行顺序:profile 预检(如触发)→ 根因与方案确认 → 步骤 2 范围确认。
- 步骤 1:跳过(A 已完成研究定位)→ 输出
status: "skipped"的完成标记 JSON - 步骤 2:快速确认范围(仅确认 B 项目中的文件)
- 步骤 3~7:正常执行
- 更新 A 项目工作上下文:
cross_project.status从pending_fix→fixing
B 项目衔接后的 profile 预检(C3 场景)
B 项目接收衔接 prompt 后、创建 B 项目工作上下文之前,执行:
- 根据包名从 remote-knowledge.md §二 项目映射表解析 B 项目名
- 检查
~/.codebuddy/knowledge/{B项目}/_profile.md是否存在且未过期 - profile 不存在 → 必须用
ask_followup_question弹出:
| 选项 | 说明 |
|---|---|
✅ 立即 dev:onboard B 项目 | ~6k token,提升后续 80% 效率 |
| ⏭️ 跳过,本次走本地检索 | 不触发 知识库平台 MCP |
- profile 存在但 >45 天 → 同样用
ask_followup_question弹出「🔄 立即刷新 / ⏭️ 本次沿用」 - profile 新鲜 → 直接注入上下文,零 MCP 调用
详细 profile 生命周期 → onboard-flow.md §五
A 项目验证回流
详见 integration.md §「A 项目验证回流」与「契约对齐」。