用途:该技能用于在共享同一仓库的前提下创建隔离的工作区,使多个分支可以并行开发而无需频繁切换,强调“系统化目录选择 + 安全校验 = 可靠隔离”。
主要能力:
- 目录选择按优先级进行:先检查 .worktrees(隐藏,首选)是否存在,再检查 worktrees;若存在则使用,若两者都存在则优先 .worktrees。
- 检查 CLAUDE.md 中是否已有 worktree 目录偏好(grep -i "worktree.*director" CLAUDE.md),有则直接使用而不再询问。
- 若既无目录也无偏好,则询问用户选择 .worktrees/ 项目本地隐藏目录,或 ~/.config/claude/worktrees/<项目名>/ 全局位置。
- 安全校验:对项目本地目录必须先确认已被 git 忽略,使用 git check-ignore -q .worktrees 或 git check-ignore -q worktrees 检测;若未忽略,则添加到 .gitignore 并提交。
- 创建步骤:检测项目名、确定完整路径、用 git worktree add "$path" -b "$BRANCH_NAME" 创建并进入、自动检测并运行项目安装命令(如 npm install、cargo build、pip install -r requirements.txt、poetry install、go mod download),再运行项目对应测试(如 npm test、cargo test、pytest、go test ./...)验证干净基线,最后报告路径与测试通过情况。
使用方式:在开始工作时声明“正在使用 using-git-worktrees 技能设置隔离工作区”,按上述优先级执行。命令保持原样,避免硬编码设置命令,应从项目文件自动检测。
限制与注意:
- 绝不在未验证目录已被忽略的情况下创建项目本地 worktree。
- 绝不在工作区有未提交更改(dirty)时创建 worktree,应先 stash 或 commit。
- 若基线测试失败,应报告并征询是否继续,而非直接推进。
- 删除 worktree 前须检查未提交更改并获用户确认;删除后应执行 git worktree prune 清理陈旧元数据。
- 全局目录因位于项目之外,无需 .gitignore 校验。
- 该技能要求遵循记忆协议:开始前读 .claude/context/memory/learnings.md,完成后将新模式、问题、决策分别写入 memory 相应文件。
适用场景:需要隔离工作区并行开发分支、由头脑风暴阶段获批后进入实现、需要与 finishing-a-development-branch 或执行计划类技能配合时。
暂未提供关于收费、平台支持范围、具体性能指标等信息。