一键导入
using-git-worktrees
当需要开始与当前工作区隔离的功能开发或执行实现计划之前使用——创建具有智能目录选择和安全验证的隔离 git 工作树
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
当需要开始与当前工作区隔离的功能开发或执行实现计划之前使用——创建具有智能目录选择和安全验证的隔离 git 工作树
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
在开始任何对话时使用——确立如何查找和使用技能,要求在任何响应(包括澄清性问题)之前调用 Skill 工具
在任何创造性工作之前必须使用此技能——创建功能、构建组件、添加功能或修改行为。在实现之前先探索用户意图、需求和设计。
中文 review 沟通参考——话术模板、分级标注(必须修复/建议修改/仅供参考)、国内团队常见反模式应对。
中文 commit 与 changelog 配置参考——Conventional Commits 中文适配、commitlint/husky/commitizen 中文模板、conventional-changelog 中文配置。仅在用户显式 /chinese-commit-conventions 时调用,不要根据上下文自动触发。
中文文档排版参考——中英文空格、全半角标点、术语保留、链接格式、中文文案排版指北约定。仅在用户显式 /chinese-documentation 时调用,不要根据上下文自动触发。
国内 Git 平台配置参考——Gitee、Coding.net、极狐 GitLab、CNB 的 SSH/HTTPS/凭据/CI 接入差异与镜像同步配置。仅在用户显式 /chinese-git-workflow 时调用,不要根据上下文自动触发。
基于 SOC 职业分类
| name | using-git-worktrees |
| description | 当需要开始与当前工作区隔离的功能开发或执行实现计划之前使用——创建具有智能目录选择和安全验证的隔离 git 工作树 |
Git 工作树创建共享同一仓库的隔离工作区,允许同时在多个分支上工作而无需切换。
核心原则: 系统化的目录选择 + 安全验证 = 可靠的隔离。
开始时宣布: "我正在使用 using-git-worktrees 技能来建立一个隔离的工作区。"
按以下优先顺序执行:
run_command(command="ls -d .worktrees 2>/dev/null") # 首选(隐藏目录)
run_command(command="ls -d worktrees 2>/dev/null") # 备选
如果找到: 使用该目录。如果两者都存在,.worktrees 优先。
run_command(command="grep -i \"worktree.*director\" AGENTS.md 2>/dev/null")
如果指定了偏好: 直接使用,无需询问。
如果无现有目录且 AGENTS.md 中无偏好:
未找到工作树目录。我应该在哪里创建工作树?
1. .worktrees/(项目本地,隐藏目录)
2. ~/.config/reasonix/worktrees/<project-name>/(全局位置)
你倾向哪个?
创建工作树前必须验证目录已被忽略:
run_command(command="git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null")
如果未被忽略: 根据"立即修复坏掉的东西"原则,在 .gitignore 中添加相应条目并提交,然后继续。
无需 .gitignore 验证——完全在项目之外。
run_command(command="git rev-parse --show-toplevel") # 获取仓库根目录,提取项目名
# 根据目录类型构造路径,然后创建工作树
run_command(command="git worktree add <path> -b <branch-name>")
# 注意:cd 在 run_command 中不持久,后续命令使用完整路径或 cwd 参数
自动检测并运行相应的设置命令(耗时较长,使用后台运行):
# 检测项目类型并后台运行对应设置命令
run_command(command="ls package.json Cargo.toml requirements.txt pyproject.toml go.mod 2>/dev/null")
# 根据存在的文件选择对应的设置命令:
# run_background(command="npm install") # Node.js
# run_background(command="cargo build") # Rust
# run_background(command="pip install -r requirements.txt") # Python
# run_background(command="poetry install") # Python (poetry)
# run_background(command="go mod download") # Go
运行测试确保工作树初始状态干净(耗时较长,使用后台运行):
run_background(command="npm test") # 或 cargo test / pytest / go test ./...
如果测试失败: 报告失败情况,询问是否继续或排查。 如果测试通过: 报告就绪。
工作树已就绪:<full-path>
测试通过(<N> 个测试,0 个失败)
准备实现 <feature-name>
| 情况 | 操作 |
|---|---|
.worktrees/ 存在 | 使用它(验证已忽略) |
worktrees/ 存在 | 使用它(验证已忽略) |
| 两者都存在 | 使用 .worktrees/ |
| 都不存在 | 检查 AGENTS.md → 询问用户 |
| 目录未被忽略 | 添加到 .gitignore + 提交 |
| 基线测试失败 | 报告失败 + 询问 |
| 无 package.json/Cargo.toml | 跳过依赖安装 |
run_command(command="git check-ignore -q <dir>")。你:我正在使用 using-git-worktrees 技能来建立一个隔离的工作区。
[检查 .worktrees/ - run_command(command="ls -d .worktrees 2>/dev/null") 存在]
[验证已忽略 - run_command(command="git check-ignore -q .worktrees 2>/dev/null") 确认 .worktrees/ 已被忽略]
[创建工作树:run_command(command="git worktree add .worktrees/auth -b feature/auth")]
[运行项目设置:run_background(command="npm install")]
[运行测试:run_background(command="npm test") - 47 个通过]
工作树已就绪:/Users/jesse/myproject/.worktrees/auth
测试通过(47 个测试,0 个失败)
准备实现 auth 功能
绝不:
始终:
被以下技能调用: brainstorming(阶段 4)、subagent-driven-development、executing-plans,以及任何需要隔离工作区的技能。
配合使用: finishing-a-development-branch - 工作完成后清理时必需。