بنقرة واحدة
using-git-worktrees
在需要与当前工作区隔离的功能开发或执行实施计划前使用——创建隔离的 git worktree,支持智能目录选择和安全校验
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
在需要与当前工作区隔离的功能开发或执行实施计划前使用——创建隔离的 git worktree,支持智能目录选择和安全校验
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
在进行任何创造性工作前必须使用——创建功能、构建组件、添加新功能或修改行为。在实现之前先探索用户意图、需求和设计。
TypeScript 和 React 开发的编码标准与最佳实践。在编写或审查代码时激活。提供命名、类型、组件设计、Hook 提取、状态管理等规范。
在用户确认要提交代码变更时使用——安全检查 diff 中的敏感数据后执行 git commit
在面对 2 个以上互不依赖、无共享状态的独立任务时使用
当有已编写的实现计划需要在独立会话中执行时使用,包含评审检查点
在实现完成、测试通过后,引导决定如何集成工作——提供合并、PR 或清理的结构化选项
| name | using-git-worktrees |
| description | 在需要与当前工作区隔离的功能开发或执行实施计划前使用——创建隔离的 git worktree,支持智能目录选择和安全校验 |
Git worktrees 创建共享同一仓库的隔离工作区,允许同时在多个分支上工作,无需切换分支。
核心原则: 系统化的目录选择 + 安全校验 = 可靠的隔离。
启动时宣告: "我正在使用 using-git-worktrees 技能来设置隔离工作区。"
按以下优先级依次检查:
# 按优先级检查
ls -d .worktrees 2>/dev/null # 首选(隐藏目录)
ls -d worktrees 2>/dev/null # 备选
如果找到: 使用该目录。如果两者都存在,优先使用 .worktrees。
grep -i "worktree.*director" CLAUDE.md 2>/dev/null
如果指定了偏好: 直接使用,无需询问。
如果没有已有目录且 CLAUDE.md 中无偏好设置:
未找到 worktree 目录。请问应该在哪里创建 worktrees?
1. .worktrees/(项目本地,隐藏目录)
2. ~/.config/agent/worktrees/<项目名>/(全局位置)
你更倾向哪个?
创建 worktree 前必须验证目录已被 git 忽略:
# 检查目录是否被忽略(支持 local、global 和 system gitignore)
git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null
如果未被忽略:
遵循"立即修复问题"原则:
为什么这很关键: 防止 worktree 内容被意外提交到仓库。
无需 .gitignore 校验——完全在项目之外。
project=$(basename "$(git rev-parse --show-toplevel)")
# 确定完整路径
case $LOCATION in
.worktrees|worktrees)
path="$LOCATION/$BRANCH_NAME"
;;
~/.config/agent/worktrees/*)
path="~/.config/agent/worktrees/$project/$BRANCH_NAME"
;;
esac
# 创建 worktree 并新建分支
git worktree add "$path" -b "$BRANCH_NAME"
cd "$path"
自动检测并运行相应的初始化命令:
# Node.js
if [ -f package.json ]; then npm install; fi
# Rust
if [ -f Cargo.toml ]; then cargo build; fi
# Python
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
if [ -f pyproject.toml ]; then poetry install; fi
# Go
if [ -f go.mod ]; then go mod download; fi
运行测试确保 worktree 起始状态正常:
# 示例——使用项目对应的测试命令
npm test
cargo test
pytest
go test ./...
如果测试失败: 报告失败,询问是继续还是排查问题。
如果测试通过: 报告就绪。
Worktree 已就绪:<完整路径>
测试通过(<N> 个测试,0 个失败)
准备实施 <功能名称>
| 场景 | 操作 |
|---|---|
.worktrees/ 已存在 | 使用它(校验已忽略) |
worktrees/ 已存在 | 使用它(校验已忽略) |
| 两者都存在 | 使用 .worktrees/ |
| 两者都不存在 | 检查 CLAUDE.md → 询问用户 |
| 目录未被忽略 | 添加到 .gitignore + 提交 |
| 基线测试失败 | 报告失败 + 询问 |
| 无 package.json/Cargo.toml | 跳过依赖安装 |
git check-ignore你:我正在使用 using-git-worktrees 技能来设置隔离工作区。
[检查 .worktrees/ - 已存在]
[校验忽略 - git check-ignore 确认 .worktrees/ 已被忽略]
[创建 worktree:git worktree add .worktrees/auth -b feature/auth]
[运行 npm install]
[运行 npm test - 47 个通过]
Worktree 已就绪:/Users/jesse/myproject/.worktrees/auth
测试通过(47 个测试,0 个失败)
准备实施 auth 功能
绝不:
始终:
被以下技能调用:
搭配使用: