Community写作与编辑github.com

rmems/worktrees-hives

多智能体假设实验室:在隔离的 Git 工作树中运行任意数量的假设,并附带智能体/子智能体;强制要求 JSON 和 Markdown 格式的发现报告。采用 Python/Rust 混合安全笼,绝不自动合并。

worktrees-hives 是什么?

Worktrees-hives 是一个面向开发者和 AI 智能体的技能,旨在实现多智能体协作的假设验证与代码实验。它通过在隔离的 Git 工作树中运行多个子智能体,支持从 GitHub 或 Linear 发现问题、生成代码变更、监控 Pull Request 的 CI 状态,并最终向操作员汇报结果。该技能的核心优势在于严格的安全护栏:它明确禁止智能体执行 `gh pr merge`、`git push --force` 或任何合并操作,只允许在特定条件下使用 `--force-with-lease`。此外,每个“照看周期”最多允许 3 个代码修复提交,达到上限后智能体只能报告剩余问题,不再推送新代码。该技能适用于 Cursor、Claude Code 等 AI 编码平台,通过 Python 编排器的策略执行和 Rust 核心的硬性拦截,实现多层防御,确保操作不会破坏历史记录或越权合并。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add rmems/worktrees-hives

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

worktrees-hives 技能

面向 worktrees-hives 混合编排器的可安装智能体技能。

使用时机

在以下情况下使用此技能:

  • 从 GitHub 或 Linear 问题中发现工作任务
  • 生成用于代码变更的子智能体
  • 在 CI 过程中照看 Pull Request
  • 向操作员报告结果

安全护栏

以下规则不可协商。任何智能体、编排器或平台覆盖均不得放宽它们。

拒绝列表(绝不执行)

命令 / 操作原因
gh pr merge智能体绝不合并 PR,必须由人工合并。
gh pr merge --auto同样禁止;自动合并也是一种合并。
git push --force(裸用)破坏性操作,会丢失历史记录。仅允许使用 --force-with-lease。
git push -f(裸用)相同破坏性推操作的简短形式。
GraphQL mergePullRequest通过 API 合并仍然是合并。
REST PUT /repos/.../merge通过 REST 合并仍然是合并。
创建任何合并提交在工作树中使用 git merge 合并 PR 分支。

force-with-lease 的允许列表

仅在以下条件下允许使用 git push --force-with-lease:

  1. 智能体正在将其自己的功能分支变基到更新的基分支上。
  2. 智能体正在修复因远程引用过时而失败的强制推送。
  3. 操作员明确指示进行强制推送。

在使用 --force-with-lease 之前,智能体必须:

  • 验证当前分支是分配的工作树分支(不是 main、master 或其他智能体的分支)。
  • 确认远程引用是智能体所期望的(没有意外的来自其他用户的推送)。

修复上限语义

规则: 每个 PR 在每个照看周期内最多允许 3 次代码修复提交。

  • 计入上限: 更改源代码、测试、配置或影响行为文档的提交。
  • 不计入上限: 来自变基的合并提交、CI 触发的提交(例如锁文件更新)、对 PR 的回复评论。
  • 达到上限时: 智能体必须停止提交,并将剩余问题作为 PR 评论报告。智能体继续回复审查评论并监控 CI,但不再推送新的代码更改。
  • 剩余问题报告: 达到上限后,智能体发布一条评论,列出:剩余的 CI 失败、未解决的审查线程以及建议的后续人工或下一周期步骤。
  • 重置: 当操作员启动新的照看周期(显式重启,非自动)时,上限重置。

分支/工作树编辑前检查清单

在进行任何代码更改之前,智能体必须验证:

  1. 工作树隔离: pwd 位于分配的工作树路径内({worktree_root}/{owner}/{repo}/{job_id})。
  2. 分支正确性: git branch --show-current 与分配的功能分支匹配。
  3. 干净状态: git status 显示无来自其他工作的未提交更改。
  4. 远程对齐: git fetch && git status 确认分支跟踪预期的远程。
  5. 无跨界编辑: 不修改工作树外部的任何文件(无 ../ 路径,无工作树根目录外的绝对路径)。

如果任何检查失败,智能体必须中止并报告不匹配情况。

最终状态指南

当照看周期结束时(成功或达到上限),智能体报告:

  • PR 状态: 打开 / 待审查 / 阻塞
  • 修复计数: 本轮推送的代码修复提交数量(例如 "2/3")
  • 剩余问题: 未解决的 CI 失败、审查评论或阻塞项列表
  • 智能体归属: 每个 PR 评论和提交消息都包含智能体标识

智能体绝不能声称自己合并了 PR。如果 PR 似乎已合并,智能体报告 "PR 已由人工合并" 并停止。

平台无关的工作者提示模板

在生成子智能体时,在提示中包含以下安全指令:

安全规则(不可协商):
- 绝不合并 PR 或调用任何合并 API/CLI
- 绝不使用裸的 `git push --force` 或 `git push -f`
- 仅允许在变基自己的分支时使用 `git push --force-with-lease`
- 绝不编辑你的分配工作树之外的文件
- 每个照看周期内提交的代码修复提交不超过 3 次
- 编辑前,验证:工作树路径、分支名称、干净状态
- 推送后,回复 SHA 和智能体归属
- 达到上限时,报告剩余问题;不要推送更多代码

执行层

这些护栏在多个层面强制执行:

  1. 智能体技能(本文件): 可移植的文档和提示模板。不是安全边界——如果平台未对其约束,智能体可能绕过。
  2. Python 编排器: 通过子进程桥接进行策略执行。计数修复提交,验证路径,并在命令到达 Rust 之前阻止拒绝列表中的命令。
  3. Rust 核心(wh-core): 硬性执行。在进程边界拒绝不安全的 git/GitHub 操作。这是权威的安全层。

深度防御:所有三层执行相同规则。某一层的失败会被另一层捕获。

相关技能