版本:2.88.0
name: worktree-pr description: 管理 git 工作树与 PR 工作流程和多代理审查(Claude + Codex)。在隔离中开发功能时使用,便于轻松回滚。 triggers:
- 工作树
- 并行开发
- pr 审查
- 隔离功能
- git 隔离
Git 工作树 + PR 工作流程
v2.88 关键变化(模型无关)
- 模型无关:使用在
~/.claude/settings.json或 CLI/env 变量中配置的模型 - 无需标志:与配置的默认模型一起工作
- 灵活:与 GLM-5、Claude、Minimax 或任何配置的模型一起工作
- 设置驱动:通过
ANTHROPIC_DEFAULT_*_MODEL环境变量选择模型
ultrathink - 深呼吸。我们来这里不是为了写代码。我们来这里是为了在宇宙中留下印记。
愿景
隔离应该使每一次改变都更安全、更不可避免。
你的工作,一步一步
- 决定隔离:确认是否需要工作树。
- 创建工作树:一个功能,一个隔离的工作空间。
- 协调工作:在同一棵树中保持子代理一致。
- 审查 & PR:合并前多代理审查。
- 清理:合并或关闭时进行干净的回滚。
Ultrathink 原则在实践中
- 不同地思考:使用隔离来降低改变的风险。
- 对细节着迷:保持上下文和分支一致。
- 像达芬奇一样计划:在执行前映射 PR 流程。
- 制作,而不是编码:更喜欢小而干净的 diff。
- 无情地迭代:修复并重新审查直到干净。
- 无情地简化:移除不必要的分支。
Git 工作树 + PR 工作流程 (v2.20)
概览
这项技能使用 git 工作树和基于 PR 的合并工作流程以及多代理代码审查来实现隔离的特性开发。
关键原则:
- 每个功能/任务一个工作树(不是每个子代理一个)
- 多个子代理在同一个工作树中工作
- 通过
AskUserQuestion进行人类参与的隔离决策 - 通过关闭 PR 和删除工作树轻松回滚
先决条件
- WorkTrunk:
brew install max-sixty/worktrunk/wt - GitHub CLI:
brew install gh - Codex CLI:用于 GPT-5 审查
命令
| 命令 | 描述 |
|---|---|
ralph worktree <task> |
创建隔离的工作树 + 启动 Claude |
ralph worktree-pr <branch> |
创建带有 Claude + Codex 审查的 PR |
ralph worktree-merge <pr> |
批准并合并 PR |
ralph worktree-fix <pr> |
应用审查评论中的修复 |
ralph worktree-close <pr> |
关闭 PR 并清理而不合并 |
ralph worktree-status |
显示所有工作树和 PR 状态 |
ralph worktree-cleanup |
清理已合并的工作树 |
工作流程
1. 创建隔离工作树
ralph worktree "implement oauth authentication"
# 创建:.worktrees/ai-ralph-20260103-implement-oauth-authentication/
# 分支:ai/ralph/20260103-implement-oauth-authentication
2. 开发功能
所有子代理在同一个工作树中工作:
- 后端开发人员 →
src/api/oauth.ts - 前端开发人员 →
src/ui/login.tsx - 测试架构师 →
tests/oauth.test.ts - 文档编写者 →
docs/oauth.md
每个子代理进行本地提交但不推送。
3. 创建带有多代理审查的 PR
ralph worktree-pr ai/ralph/20260103-implement-oauth-authentication
这将:
- 推送分支到 origin
- 创建草稿 PR
- 获取 Claude Opus 审查(逻辑、边缘情况、质量)
- 获取 Codex GPT-5 审查(安全、性能)
- 将审查作为 PR 评论发布
- 显示批准/拒绝状态
4. 处理审查反馈
如果审查通过:
ralph worktree-merge <pr-number>
# 压缩合并,删除分支,清理工作树
如果审查发现问题:
ralph worktree-fix <pr-number>
# 在工作树中打开 Claude,审查评论作为上下文
如果你想放弃:
ralph worktree-close <pr-number>
# 关闭 PR,删除分支,清理工作树
何时使用工作树
好的候选
- 具有多个组件的新功能
- 重构 >5 文件
- 实验性或有风险的更改
- 可能需要回滚的更改
不需要
- 单行热修复
- 文档打字错误修复
- 配置调整
- 清晰、简单的任务
协调器集成
协调器自动询问关于工作树隔离(第 2b 步):
AskUserQuestion:
questions:
- question: "¿Este cambio requiere un worktree aislado?"
header: "Isolation"
multiSelect: false
options:
- label: "Sí, crear worktree"
description: "Feature nueva, refactor grande, cambio experimental"
- label: "No, branch actual"
description: "Hotfix, cambio menor, ajuste simple"
子代理上下文
当在工作树中工作时,子代理接收到:
WORKTREE_CONTEXT:
path: .worktrees/ai-ralph-YYYYMMDD-feature/
branch: ai/ralph/YYYYMMDD-feature
isolated: true
子代理规则:
- 在指定路径中工作
- 频繁进行本地提交
- 不要推送 - 协调器管理 PR
- 与其他子代理协调
- 完成信号:
SUBAGENT_COMPLETE: [description]
安全
每个工作树都有加固的安全措施:
- 禁用钩子(
core.hooksPath → .git-hooks-disabled) - 每个工作树禁用凭据
- 推送配置为
current分支仅
示例会话
# 用户请求:"Add OAuth authentication"
# 协调器询问关于工作树
> ¿Este cambio requiere un worktree aislado?
> [Sí, crear worktree] ← 用户选择
# 创建工作树
$ ralph worktree "oauth-authentication"
✓ 创建工作树:.worktrees/ai-ralph-20260103-oauth-authentication
✓ 分支:ai/ralph/20260103-oauth-authentication
✓ 应用安全加固
# 子代理在同一个工作树中并行工作
# ... 后端、前端、测试、文档 ...
# 所有子代理完成
# 协调器创建带有审查的 PR
$ ralph worktree-pr ai/ralph/20260103-oauth-authentication
✓ 推送到 origin
✓ 创建 PR #42
✓ Claude 审查:已批准
✓ Codex 审查:已批准,有建议
# 用户决定合并
$ ralph worktree-merge 42
✓ PR #42 合并(压缩)
✓ 分支已删除
✓ 工作树已清理
故障排除
找不到 WorkTrunk
brew install max-sixty/worktrunk/wt
wt config shell install
source ~/.zshrc
PR 创建失败
gh auth status # 验证 GitHub 认证
gh auth login # 如有需要重新认证
工作树冲突
git worktree prune # 清理孤立的元数据
ralph worktree-status # 检查当前状态