SuperAPI AI 工具集

backlog-triage

部署与运维

查看项目

更新于 10-16 04:09

技能介绍

用途

Backlog Triage 用于对 GitHub 上开放的 Issue 进行梳理(triage),产出一份供人工逐条审阅和采纳的咨询报告。它的核心定位是:GitHub Issues 始终是事实来源,报告只是派生文件,存放在 .dev-backlog/triage/ 目录下;在人工执行 Apply 之前,不会对 GitHub 做任何修改。

适用前提

该技能仅适用于 GitHub。解析出的任务权威必须正好是 github(不存在 .dev-backlog/.tracker,或该文件声明为 github);如果权威是其他来源,或者文件为空、未知、不可读,则停止,本技能不适用。

报告模式

目标是生成 .dev-backlog/triage/YYYY-MM-DD-report.md,供人工逐行接受。

数据来源:使用 gh issue list --state open --limit 500 --json number,title,body,labels,milestone,assignees,updatedAt,createdAt,url 读取开放 Issue(当数量持续增长时提高 --limit);当某项判断需要评论历史或已合并的关闭 PR 时,追加 gh issue view N --json comments,closedByPullRequestsReferences。同时读取 spec/charter.md(否则读取根目录 CHARTER.md)、可选的 spec/capabilities.md / spec/system-map.md,以及 .dev-backlog/sprints/ 下任何 status: active 的 sprint。

报告按以下顺序包含这些部分:

  • Classification:按主题、标签、时间分类。

  • Relationships:每条事实一条边,方向以证据短语为准(A blocks B 表示 B 等待 A;A depends-on B 表示 A 等待 B);代码围栏和 URL 之外的普通 #N 提及,排除自我提及,已合并的关闭 PR 计为证据。

  • Obsolete Candidates:超过 .dev-backlog/triage-config.yml 中 stale_days(默认 60)未活动且无里程碑;带 wontfix / invalid 标签;已有合并的关闭 PR;与开放或近期关闭 Issue 重复。

  • Priority Proposals:优先级建议。

  • Milestone Suggestions:里程碑建议,绝不建议进入 active 或 wait-gated 的里程碑。

  • Alignment:每个开放 Issue 映射到至少一个章程 Objective,或标记为孤儿;无章程时写 "skipped because no charter"。

  • Decision Review:每个开放 Issue 归入 Do Now / Shape First / Defer / Drop-Close;指出缺失的 spec 层级。

  • Apply Checklist:每个锚定操作重复一次。

每条建议都是一个锚点注释,后跟一行复选框,例如:

<!-- triage:close #42 reason="merged PR #87 already exists" -->

  • [ ] close #42 - merged PR #87 already exists

可用动词:close(reason="...")、revisit(reason="...")、close-duplicate(target=#N)、set-priority(value=high|medium|low)、assign-milestone(milestone="Name";Apply 时也接受旧式 name=)。参数为 key="value" 或 key=value;动词后第一个 #N 是目标。

边界:绝不建议关闭 active sprint 的 Plan 或 Running Context 中提到的 Issue;在此模式下绝不修改 GitHub 或 spec/*。

完成条件:报告存在且每个部分齐全,每条建议都有锚点,且没有关闭目标指向进行中的 Issue。

Apply 模式

目标是只让被接受的操作到达 GitHub。

流程:人工把锚点旁的 [ ] 改为 [x] 后,运行 node <已安装技能目录>/scripts/triage-apply.js <report.md> 打印计划(dry-run);加上 --apply --yes 后,会在任何写入前校验每个已接受的已知操作和 GitHub 权威,然后执行已接受操作,按 (verb, issueNumber, normalizedArgs) 去重(旧式 name= 按 milestone= 处理),跳过未知动词,重复运行时记录 already-applied,并在报告旁写入审计日志。

完成条件:每个已接受操作都已应用或记录为 already-applied,且未触碰任何未被接受的内容。

脚本从已安装的 backlog-triage 技能目录解析;从目标项目根目录运行。Sprint 文件、里程碑和 Issue AC 属于 dev-backlog。

归属

Sprint 文件、里程碑和 Issue AC 属于 dev-backlog;开放 Issue 的分类、关系、过时标记、优先级/里程碑建议及其被接受的变更属于本技能。

参考

  • references/apply.md(锚点语法、动词映射、幂等性、apply-log 模式)
  • tests/evals/backlog-triage.md(评估提示;源码检出)

限制

仅支持 GitHub;需要 gh CLI 可用。任务权威不是 github 时本技能不适用。报告模式不修改 GitHub 或 spec/*。Apply 模式只执行人工已接受的操作。具体收费、价格、平台支持范围等资料未提供。