| name | merge-conflict-resolver |
| description | 协助解决三仓 merge / rebase 冲突——给出冲突上下文、关联 FT、建议解决策略。不自动 commit。 |
| allowed-tools | Read, Bash, Grep |
Skill: merge-conflict-resolver
原文 §8.3 代码审查类(也覆盖 4.4 编码循环)。三仓联动场景里冲突更常见。
触发
git merge / git rebase 失败
- 用户问"这个冲突怎么解"
工作流
Step 1 — 冲突文件列表
git -C {repo} diff --name-only --diff-filter=U
Step 2 — 关联 FT
对每个冲突文件:
git log --grep="FT-" -- {file} 找最近修改的 FT
- 列出双方分支的"目的" → 帮判断保留哪边
Step 3 — 分类建议
| 冲突类型 | 建议 |
|---|
| 配置文件 / lock 文件 | 通常保 develop / main,再重跑 install |
| 业务逻辑同行 | 显示双方 commit message + diff,让用户决策 |
| IDL 字段冲突 | 必须与 IDL owner 同步,不允许单边解决 |
| 大量空白/格式冲突 | 跑 formatter 重新一次性解决 |
Step 4 — 三仓联动检查
如果其中一个仓刚发生 merge → 三仓的同名分支可能不同步,提示用户跑 repo-ops-runner Agent 的 checkout-three-repo。
反模式
- ❌ 自动
git checkout --theirs/--ours(除非用户明确要求并能 cite 理由)
- ❌ 解 IDL 冲突时只看本仓代码
- ❌ 解完不验证 build / test