← ClaudeAtlas

afk-issue-looplisted

遍历标记为 ready-for-agent 的 GitHub issue,用 Planner/Implementer/Reviewer/Merger 四角色循环批量实现并统一 squash merge,全部完成后提示手动 code review 或 QA。
toRolex/rolex-skills · ★ 0 · Code & Development · score 75
Install: claude install-skill toRolex/rolex-skills
# AFK Issue Loop(sandcastle 式四角色编排) Matt Pocock 的 Ralph loop 的轻量替代,控制者扮演 `run.ts` 编排器,无需 Docker: - **Planner** 分析 issue 依赖 → 输出 `<plan>` JSON(只含当前 unblocked 的 issue) - **Implementer** 每 issue 一个,在 `afk/issue-N` 分支 TDD 实现 - **Reviewer** Implementer 完全结束后同分支审查,问题 `SendMessage` 直连对应 Implementer 修复(只反馈,不自己改代码) - **Merger** 主仓库统一 `git merge --squash` 并关 issue **前置条件**:项目已跑过 `/setup-rolex-skills`,仓库有 `CONTEXT.md`(缺失时按 [REFERENCE.md](REFERENCE.md#contextmd-缺失策略) 处理)。herdr 模式额外需要 herdr CLI 已安装。 ## 模式选择(载体) 通过 `[mode=subagent|herdr]` 参数选择载体。无参数时默认 `subagent`。 | 载体 | 原理 | 适用场景 | |------|------|----------| | `subagent`(默认) | 当前会话中用 `Agent` 工具分派角色子代理 | 少量 issue(≤5)、需要实时看子代理进度 | | `herdr` | 独立 session pane(新 claude 实例)运行角色 | 大量 issue、想并行跑满、不占当前会话上下文 | **载体与角色正交**:四种角色在任何载体下都用同一套 prompt 语义(依赖分析、`<plan>`、`<promise>COMPLETE`、确定性分支名、squash merge 都不变),区别只在「谁来跑」。 herdr 模式下 pane 创建、指令下发、等待、轮询等操作见 [reference/herdr-notes.md](reference/herdr-notes.md);布局规则遵循 `/herdr-instances`(主编排 pane 不可上下分割,左右/上下分割各自不超过 3)。 ## 角色架构 | 角色 | 职责 | 产出信号 | |------|------|----------| | **Planner** | 扫 `gh issue list --label ready-for-agent --state open`,依赖分析,分配确定性分支名 `afk/issue-{N}` | `<plan>` JSON | | **Implementer** | 每 issue 一个,在 `afk/issue-N` 分支,TDD→全量测试→commit(中文描述) | `<promise>COMPLETE</promise>`;**不关 issue** | | **Reviewer** | Implementer 完全结束后(含退出/超时/抛错后求值)同分支触发,读 `git diff ${TARGET_BRANCH}..HEAD`,问题 `SendMessage` 直连 impl-N 修复(只反馈不自己改);分支无 commit 则跳过 | 反馈或跳过 | | **Merger** | `${TARGET_BRANCH}` 上逐个 `git