关于 worktree
用于将 Git worktree 管理为隔离 Agent 会话的技能,支持创建、删除和列出操作。它要求磁盘变更先获人工批准,并设有路径与工作区清洁检查。
主要功能
- 01创建、删除和列出 worktree
- 02将文件限制在专用路径下
- 03检查分支和目录冲突
- 04阻止删除有未提交修改的 worktree
- 05变更前要求人工批准
适用场景
- 01按分支隔离仓库工作
- 02查看活动 worktree 与分支
- 03避免误删含未提交修改的内容
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ venhdev/ skills --skill worktree安装后在 Claude Code 中输入/worktree确认已加载。
详细介绍
工作树 — 隔离会话与分支引擎
操作不变量
- 路径隔离:将所有分支编辑、Shell 命令和测试执行严格限制在
.agents/worktree/<branch>内;禁止在工作树会话中修改根仓库文件。 - 脏工作树保护:删除工作树前,通过
git status --porcelain确认工作树干净;禁止删除包含未提交修改的工作树。 - 变更前置关卡:以规范变更集格式暂存工作树的创建或删除操作,并立即结束本轮;未经人工明确授权,禁止在磁盘上执行工作树变更。
领域规范
1. 命名与存储约定
<branch>:严格使用<type>/<slug>格式(feat/、fix/、refactor/、chore/、test/)。<path>:专用路径,且必须位于.agents/worktree/<branch>下。- 隐私保障:根目录
.gitignore必须包含.agents/worktree/。
2. 支持的工作树操作
[CREATE]:在目标路径创建并检出新的工作树分支。[DELETE]:删除工作树目录并清理 Git 管理元数据。[LIST]:查看活动工作树及其关联分支。
规范输出约定
# Changeset: Git Worktree <Action>
`-- .agents/worktree/<branch>/
`-- [<ACTION>] <Worktree operation summary>.
Summary: 1 worktree affected (<branch>).
执行协议
阶段 1:执行前检查与冲突审计
- 创建时:检查
git worktree list,并确认不存在分支或目录冲突。 - 删除时:在目标
<path>中检查git status --porcelain。如果工作树有未提交修改,立即停止并报告未提交文件。 - 列出时:运行
git worktree list并展示活动工作树,然后立即结束本轮。
阶段 2:暂存与授权关卡
- 以规范变更集格式暂存计划中的工作树变更。
- 展示暂存摘要并立即结束本轮。未经明确授权,绝不执行 Git 变更。
阶段 3:原子执行与交接
- 获得批准后,执行所需操作:
- 创建:
git worktree add <path> -b <branch> <base_ref> - 删除:
git worktree remove <path> && git worktree prune
- 创建:
- 报告操作已完成,并提供绝对工作区路径以便在 IDE 中导航。
评论
支持 Markdown