用途
该技能用于在 Git 仓库中创建隔离的工作树(worktree),使得开发者可以在不切换当前工作区的情况下,同时在多个分支上工作。它特别适用于开始需要与当前工作区隔离的功能开发,或在执行实现计划之前使用。
主要能力
- 系统化目录选择:按照优先级顺序确定工作树目录位置。优先检查现有的 .worktrees 或 worktrees 目录(.worktrees 优先),其次检查 CLAUDE.md 中的偏好设置,最后询问用户选择项目本地隐藏目录或全局目录。
- 安全验证:对于项目本地目录,强制使用
git check-ignore验证目录已被忽略,防止工作树内容被意外提交到仓库。若未忽略,则自动添加到 .gitignore 并提交。 - 自动项目设置:根据项目文件自动检测并运行相应的依赖安装命令,支持 Node.js (npm install)、Rust (cargo build)、Python (pip install / poetry install)、Go (go mod download) 等。
- 基线测试验证:运行项目测试以确保工作树以干净状态启动。如果测试失败,会报告失败并询问是否继续或调查。
- 报告位置:创建工作树后,报告完整路径、测试通过情况,并准备实现指定功能。
使用方式
- 选择目录:按优先级检查 .worktrees、worktrees、CLAUDE.md 偏好,若无则询问用户。
- 安全验证:对于项目本地目录,运行
git check-ignore -q .worktrees或git check-ignore -q worktrees进行验证。若未忽略,添加至 .gitignore 并提交。 - 创建工作树:检测项目名称,使用
git worktree add "$path" -b "$BRANCH_NAME"创建,并切换到该路径。 - 运行项目设置:自动检测并运行依赖安装命令。
- 验证基线:运行测试命令(如 npm test、cargo test、pytest、go test ./...)确认工作树干净。
- 报告:输出工作树路径、测试结果,准备实现功能。
适用场景
- 需要并行开发多个功能分支而不干扰当前工作区时。
- 执行实现计划前,需要隔离环境进行开发时。
- 被其他技能调用,如 brainstorming(阶段4)、subagent-driven-development、executing-plans 等。
限制与注意事项
- 对于项目本地目录,必须验证其已被忽略,否则工作树内容可能被跟踪并污染 git status。
- 如果基线测试失败,必须报告失败并获取明确许可才能继续。
- 不要硬编码设置命令,应基于项目文件自动检测。
- 不要假设目录位置,应遵循优先级:现有目录 > CLAUDE.md > 询问用户。
- 全局目录(~/.config/superpowers/worktrees)无需 .gitignore 验证,因其位于项目之外。
- 如果项目没有 package.json、Cargo.toml 等文件,则跳过依赖安装。
集成
- 被调用:brainstorming(阶段4,设计批准后必须)、subagent-driven-development(执行任何任务前必须)、executing-plans(执行任何任务前必须)、任何需要隔离工作区的技能。
- 配对:finishing-a-development-branch(工作完成后清理必须)。