SuperAPI AI 工具集

discover-tasks

智能体与模型

查看项目

更新于 10-15 08:43

技能介绍

用途

discover-tasks 用于从已配置的任务来源中发现任务、过滤无效任务并按优先级排序,最终把候选任务呈现给用户选择。它通常作为 /next-task 工作流的第二阶段被调用(在策略选择之后),也可以单独使用,让用户从配置好的来源中挑选任务。

主要能力

技能按阶段执行:

  1. 加载策略与已认领任务:读取工作流状态(workflow-state.js)中的 policy,并从任务注册表读取已被 worktree-manager 认领的任务 ID 集合,用于后续排除。
  2. 按来源抓取任务:支持多种来源类型:
    • github / gh-issues:通过 GitHub CLI(gh issue list)
    • gh-projects:GitHub Projects (v2 boards),需要通过 gh project item-list 拉取,且要求 project token 权限(如权限不足需执行 gh auth refresh -s project),并会过滤只保留 ISSUE 类型(排除 PULL_REQUEST、DRAFT_ISSUE)
    • gitlab:通过 GitLab CLI(glab issue list)
    • local / tasks-md:本地 Markdown 文件(如 PLAN.md、tasks.md、TODO.md 中的未完成勾选项)
    • custom:CLI/MCP/Skill 工具
    • other:由智能体解释描述
  3. 收集与 PR 关联的 Issue(仅 GitHub):对 GitHub 类来源,抓取开放 PR(上限 100 条),通过分支名后缀、PR 正文中的关闭关键词(close/fix/resolve 等)以及 PR 标题中的 (#N) 约定,构建已有关联 PR 的 issue 编号集合;其他来源会跳过此阶段并安全地使用空集合。
  4. 过滤与打分:
    • 排除已被认领的任务
    • 排除已有开放 PR 的 issue(仅 GitHub 类来源)
    • 按优先级过滤(bugs / security / features 映射到对应标签;continue 或 all 表示不过滤)
    • 对符合条件的任务打分并降序排序:critical/P0 加 100,high/P1 加 50,security 加 40,small/quick 加 20,超过 30 天的 bug 加 10
  5. 通过 AskUserQuestion 呈现给用户:取分数最高的前 5 个任务,生成选项标签(标签长度上限 30 字符,超出截断并加省略号),描述中显示分数与部分标签。
  6. 更新状态:把选中任务的 id、来源、标题、描述、标签、URL 写入工作流状态,并标记阶段完成(记录分析任务数与选中任务编号)。
  7. 发表评论(仅 GitHub):对 GitHub 类来源,在选中 issue 下发表 [BOT] Workflow started for this issue. 评论;其他来源跳过。

使用方式

  • 由用户请求触发:当用户要求 "discover tasks"、"find next task"、"prioritize issues"、"what should I work on"、"list open issues" 时使用。
  • 作为 /next-task 工作流第二阶段自动调用。
  • 输出格式会展示选中任务:Task(#{id} - {title})、Source、URL,随后进入 worktree 设置。
  • 依赖对应来源的命令行工具与权限:GitHub 用 gh(Projects 需 project 权限)、GitLab 用 glab,并且 gh/glab 抓取默认以 100 条为上限。

适用场景

适用于需要从多个任务/问题来源中集中发现待办、去重(排除已认领和已有 PR 的项)、按优先级和标签排序,并由用户人工选择一个任务继续处理的开发工作流场景。

限制与约束

  • 任务选择必须使用 AskUserQuestion 交互,而非纯文本输出。
  • 选项标签必须不超过 30 个字符。
  • 必须排除已被其他工作流认领的任务。
  • 必须排除已有开放 PR 的 issue(GitHub 与 GitHub Projects 来源)。
  • PR 关联检测最多覆盖 100 个开放 PR(--limit 100 为抓取上限),仓库开放 PR 超过此数时部分关联 issue 可能未被排除。
  • 仅呈现排序后的前 5 个任务。
  • 当未找到任务时:建议创建 issue、建议运行 /audit-project、建议使用 all 优先级过滤。
  • gh-projects 来源若缺少 projectNumber 或 owner 会抛出错误。

暂未提供的细节

有关收费、价格、运行平台要求、具体性能指标等资料中未提供。