用途
work-on-issues 用于自动化处理 GitHub/GitLab 上的议题(issue)。它会拉取议题、进行分诊(triage)、按顺序逐个实现主议题、运行 find-mismatch 审查,并最终关闭议题。
主要能力
- 议题拉取与分诊:通过
gh issue list --state open --json number,title,labels或glab issue list -O json列出开放议题,仅保留标题以PRD:或feat:开头的主议题(其他议题在自动/批量运行中跳过,但显式选择时允许处理)。 - 依赖与链接:解析议题正文中的
## Blocked by(匹配#42或完整议题 URL)构建依赖关系DEPS[issue] = [blockers],并尽可能创建原生追踪链接(如 GitLab API/links的is_blocked_by或 GitHub 子议题 API 的blocked_by=true),失败时回退为文本引用。 - 实现流程:为每个主议题创建 git worktree(
git worktree add .claude/worktrees/issue-<number> -b work-on-issue-<number>),复制.env与.env.*文件,派发子代理(subagent_type: "full-stack-engineer")实现议题,支持并行子任务分解。 - 审查与提交:实现后对修改文件运行
find-mismatch技能并自动应用确认的修复,重新运行测试,提交格式为fix: resolve #<number> — <short description>。 - 提交与关闭:创建 PR/MR 并使用 "Closes #" 关联议题,立即自动合并(squash 并删除分支),发布实现摘要评论,移除分诊/进行中标签,添加
ai-agent-closed并关闭议题。 - PRD 自动关闭:关闭子议题后检查
PRD_TRACKER中的所有 PRD,若其引用的所有子议题均已关闭,则关闭该 PRD。 - 执行模式:支持批量/连续模式(循环处理零未解决阻塞的议题,完成后重新拉取开放议题)与单议题模式(跳过依赖图处理)。
使用方式
- 通过
git remote -v检测托管平台,设置$TRACKER为gh或glab。 - 列出并筛选开放主议题,由用户选择议题编号或连续模式。
- 执行预检查(验证开放状态、检测 PRD/Epic、读取详情、分配并标记进行中)。
- 解析依赖关系,创建 worktree,派发子代理实现。
- 运行 find-mismatch 审查与测试,提交更改。
- 创建 PR/MR、自动合并、评论、关闭议题。
- 回传
.env文件到主工作目录,清理 worktree 与分支。 - 检查并自动关闭满足条件的 PRD。
适用场景
- 需要按顺序自动实现多个 GitHub/GitLab 主议题的团队。
- 希望将议题实现、审查、提交、合并、关闭全流程自动化的项目。
- 需要处理议题间依赖关系与并行子任务的开发流程。
限制
- 仅处理标题以
PRD:或feat:开头的主议题(自动/批量模式下)。 - 依赖
gh或glabCLI;若无 CLI,需直接使用 API 或请用户安装。 - 遇到循环依赖时会报告并跳过受影响议题。
- 外部阻塞议题视为未解决阻塞。
- API 链接创建失败时回退为文本引用。
.env文件若被 gitignore,必须在移除 worktree 前回传以持久化,且不得提交密钥。- 若无主议题,会通知用户并询问是否处理非主议题。
标签
| 标签 | 含义 | 颜色 |
|---|---|---|
| PRD | 父追踪议题 | #0075CA |
| in-progress | 进行中 | #E4E669 |
| ready-for-agent | 可供代理处理 | #0E8A16 |
| ai-agent-closed | 由 AI 关闭 | #5319E7 |
应用标签时先尝试直接更新,若不存在则先创建标签再重试。