feat(git): 新增隔离分支集成 Skill

This commit is contained in:
zhiye.sun
2026-08-25 16:17:19 +08:00
parent e7861c0a03
commit 00f7a66918
10 changed files with 213 additions and 5 deletions
+41
View File
@@ -0,0 +1,41 @@
---
name: integrate
description: 评估两个 Git 分支的集成风险,并在用户逐步确认后通过隔离 worktree 准备、验证和发布预集成分支。适用于合并前验证或准备 MR/PR;直接修改目标分支、一键推送或未经审查处理冲突不应触发本 Skill。
---
# Git 分支集成
在不修改源分支和目标分支引用的前提下准备可审查的预集成分支。优先读取当前项目的 `AGENTS.md`、`.craftkit/project.json`、`.craftkit/standards/` 和贡献指南;不得假设默认分支、版本分支、远程、托管平台或审批角色。
## 选择阶段
- `assess`:只读比较分支、预判冲突和识别交付风险。执行时读取 [评估规则](references/assess.md)。
- `prepare`:在独立 worktree 中创建预集成分支、执行 merge 并验证。执行时读取 [准备规则](references/prepare.md)。
- `publish`:推送预集成分支并准备 MR/PR。执行时读取 [发布规则](references/publish.md)。
用户要求“集成”但未明确阶段时,从 `assess` 开始。前一阶段的授权不能自动扩展到后一阶段。
## 不可跨越的边界
- 源分支和目标分支只作为输入引用;记录操作前哈希,结束时复核均未变化。
- 不在用户当前主工作区执行 merge,使用明确路径的独立 worktree。
- fetch、worktree 创建、分支创建、merge、冲突暂存、commit、push 和创建 MR/PR 分别展示准确命令并取得对应确认。
- 工作区不干净、引用不可解析、已有 worktree 冲突或分支归属不清时停止写操作。
- 不自动使用 `ours`、`theirs`、rebase、reset、stash、强制推送或历史改写。
- 不直接把预集成分支合入目标分支,也不自动删除 worktree 或分支。
## 环境和本地配置
评估源目标差异中的环境配置、本地配置、机器配置、`.craftkit/local/**` 和 `.craftkit/cache/**`。命中后默认暂停 `prepare` 或 `publish`,列出文件和风险。
只有适用的 `AGENTS.md`、`.craftkit/agents/` 或 `.craftkit/standards/` 明确要求交付,并经用户再次确认,才可继续;私钥、真实密钥和检测到的凭据始终阻断。共享的 `.craftkit/agents/**`、`standards/**`、`knowledge/**`、`handoff/**` 和 `project.json` 按普通项目变更审查。
## 完成标准
交付结果只能是以下之一:
- 只读集成评估报告;
- 本地隔离且已验证的预集成分支;
- 经独立授权推送的预集成分支及 MR/PR 建议。
报告源、目标、预集成分支和对应哈希,列出冲突处理、验证结果、环境配置判断及仍需人工完成的动作。