SuperAPI AI 工具集

work-on-issues

编程与开发

查看项目

更新于 10-16 02:11

技能介绍

用途

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。
  • 执行模式:支持批量/连续模式(循环处理零未解决阻塞的议题,完成后重新拉取开放议题)与单议题模式(跳过依赖图处理)。

使用方式

  1. 通过 git remote -v 检测托管平台,设置 $TRACKER 为 gh 或 glab。
  2. 列出并筛选开放主议题,由用户选择议题编号或连续模式。
  3. 执行预检查(验证开放状态、检测 PRD/Epic、读取详情、分配并标记进行中)。
  4. 解析依赖关系,创建 worktree,派发子代理实现。
  5. 运行 find-mismatch 审查与测试,提交更改。
  6. 创建 PR/MR、自动合并、评论、关闭议题。
  7. 回传 .env 文件到主工作目录,清理 worktree 与分支。
  8. 检查并自动关闭满足条件的 PRD。

适用场景

  • 需要按顺序自动实现多个 GitHub/GitLab 主议题的团队。
  • 希望将议题实现、审查、提交、合并、关闭全流程自动化的项目。
  • 需要处理议题间依赖关系与并行子任务的开发流程。

限制

  • 仅处理标题以 PRD: 或 feat: 开头的主议题(自动/批量模式下)。
  • 依赖 gh 或 glab CLI;若无 CLI,需直接使用 API 或请用户安装。
  • 遇到循环依赖时会报告并跳过受影响议题。
  • 外部阻塞议题视为未解决阻塞。
  • API 链接创建失败时回退为文本引用。
  • .env 文件若被 gitignore,必须在移除 worktree 前回传以持久化,且不得提交密钥。
  • 若无主议题,会通知用户并询问是否处理非主议题。

标签

标签 含义 颜色
PRD 父追踪议题 #0075CA
in-progress 进行中 #E4E669
ready-for-agent 可供代理处理 #0E8A16
ai-agent-closed 由 AI 关闭 #5319E7

应用标签时先尝试直接更新,若不存在则先创建标签再重试。