feat(installer): preserve local skill customizations

This commit is contained in:
2026-07-03 11:27:12 +08:00
parent 716d41b36e
commit af012140d3
3 changed files with 118 additions and 11 deletions
+6 -2
View File
@@ -99,10 +99,12 @@ bash /tmp/install-skills.sh both
| 情况 | 处理方式 |
|------|---------|
| 新 skill(本地没有) | 直接安装 |
| 本地未改 + 上游有更新 | 直接覆盖 |
| 本地改过 + 上游有更新 | 写入上游新版,本地版备份为 `SKILL.md.local.bak` |
| 本地未改 + 上游有更新 | 自动更新,并把旧版本备份为 `SKILL.md.local.bak` |
| 本地改过 + 上游有更新 | 保留本地版本,把上游新版写入 `SKILL.md.upstream.new` |
| 本地和上游一致 | 跳过 |
安装脚本会在 `.codex/skills/.install-state/``.claude/skills/.install-state/` 记录上次安装的上游文件指纹。只有本地文件仍等于上次安装版本时才自动更新;如果用户改过同名 skill,本地特性默认不会被覆盖。
项目根目录 guide 文件单独处理:
| 情况 | 处理方式 |
@@ -112,6 +114,8 @@ bash /tmp/install-skills.sh both
恢复本地版本:`mv SKILL.md.local.bak SKILL.md`
对比差异:`diff SKILL.md SKILL.md.local.bak`
合并本地特性与上游新版:`diff SKILL.md SKILL.md.upstream.new`
确认要强制覆盖本地版本时:`bash install.sh codex --force-overwrite`
## 使用示例