worktree-pr worktree-pr

这个技能使用 git 工作树和基于 PR 的合并工作流程以及多代理代码审查来实现隔离的特性开发。

DevOps 0 次安装 0 次浏览 更新于 3/4/2026

版本: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 - 深呼吸。我们来这里不是为了写代码。我们来这里是为了在宇宙中留下印记。

愿景

隔离应该使每一次改变都更安全、更不可避免。

你的工作,一步一步

  1. 决定隔离:确认是否需要工作树。
  2. 创建工作树:一个功能,一个隔离的工作空间。
  3. 协调工作:在同一棵树中保持子代理一致。
  4. 审查 & PR:合并前多代理审查。
  5. 清理:合并或关闭时进行干净的回滚。

Ultrathink 原则在实践中

  • 不同地思考:使用隔离来降低改变的风险。
  • 对细节着迷:保持上下文和分支一致。
  • 像达芬奇一样计划:在执行前映射 PR 流程。
  • 制作,而不是编码:更喜欢小而干净的 diff。
  • 无情地迭代:修复并重新审查直到干净。
  • 无情地简化:移除不必要的分支。

Git 工作树 + PR 工作流程 (v2.20)

概览

这项技能使用 git 工作树和基于 PR 的合并工作流程以及多代理代码审查来实现隔离的特性开发。

关键原则:

  • 每个功能/任务一个工作树(不是每个子代理一个)
  • 多个子代理在同一个工作树中工作
  • 通过 AskUserQuestion 进行人类参与的隔离决策
  • 通过关闭 PR 和删除工作树轻松回滚

先决条件

  • WorkTrunkbrew install max-sixty/worktrunk/wt
  • GitHub CLIbrew 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

这将:

  1. 推送分支到 origin
  2. 创建草稿 PR
  3. 获取 Claude Opus 审查(逻辑、边缘情况、质量)
  4. 获取 Codex GPT-5 审查(安全、性能)
  5. 将审查作为 PR 评论发布
  6. 显示批准/拒绝状态

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

子代理规则:

  1. 在指定路径中工作
  2. 频繁进行本地提交
  3. 不要推送 - 协调器管理 PR
  4. 与其他子代理协调
  5. 完成信号: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  # 检查当前状态