mcpField
B
backlog-manager

backlog-manager

github.com/owainlewis开发4440 次安装10 周前更新
代码仓库

关于 backlog-manager

backlog-manager 是用于维护单一权威待办来源的技能,支持 GitHub Issues、GitHub Projects、Linear 或用户指定的本地文件。它会分类问题、同步关联拉取请求状态、识别有证据支持的维护事项并汇报变更,不负责实现代码。

主要功能

  1. 01使用管理标签分类问题
  2. 02根据拉取请求同步问题状态
  3. 03识别有证据支持的维护事项
  4. 04发现文档与跟踪器的偏差
  5. 05报告可清理的分支
  6. 06验证待办与项目状态

适用场景

  1. 01整理 GitHub 仓库中的未关闭问题
  2. 02关联拉取请求变更后同步问题状态
  3. 03查找明确的文档或配置偏差
  4. 04审查 Linear 或本地文件待办

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/owainlewis/agent-skills --skill backlog-manager

安装后在 Claude Code 中输入/backlog-manager确认已加载。

详细介绍

待办事项管理器

管理单一事实来源的待办事项。 对问题分类、同步 PR 状态、创建有证据支持的维护问题,并汇报变更内容。

不要实现代码。 不要删除分支。 不要虚构跟踪工具标签、状态或项目政策。 无人值守时,绝不等待输入;报告阻碍并退出。

来源

每次运行使用一个来源:

  • GitHub Issues:指定的仓库,或当前仓库(前提是它配置了 GitHub 远程地址且 gh 已通过身份验证)。
  • GitHub Projects:用户提供的项目 URL/路径,且可通过 gh 访问。
  • Linear:用户提供的团队/项目/看板,且有可用的 Linear 连接器。
  • 本地待办事项文件:仅当用户指定该路径为事实来源时使用。

将路线图文件、规划文档、README 章节和本地工单文件视为上下文,除非用户明确指定它们为来源。 报告文档与跟踪工具状态之间的差异。

标签

仅使用这组受管理的标签。 保留所有其他标签。 分类时绝不移除或降低受管理标签。 PR 同步期间,如果工作正在进行或已完成,可以移除 agent:ready。 如果分类结果与现有受管理标签不一致,保留该标签并报告不一致之处。

风险:

  • risk:low:若同时带有 agent:ready,则适合由 Agent 安全执行。
  • risk:medium:之后可能适合由 Agent 执行;不得无人值守执行。
  • risk:high:由人工主导;Agent 只能调查或规划。

类型:

  • type:bug:行为错误或回归问题。
  • type:feature:面向用户或开发者的新功能。
  • type:docs:文档、示例、README、注释、链接和书面指南。
  • type:test:测试、覆盖率、测试夹具和可靠性。
  • type:refactor:不改变行为的内部重构。
  • type:chore:依赖、构建脚本、CI、格式化、元数据、仓库清理和工具。

路由:

  • agent:ready:Agent 执行循环可以接手该问题。
  • needs:human:需要人工决策、澄清或判断。

除非仓库文档有规定或用户提出要求,否则不要创建 agent:complete 或 agent:blocked 等完成标签。

路由

仅当以下条件全部满足时,添加 agent:ready:

  • risk:low
  • 范围明确
  • 工作量适合一个 PR
  • 预期产出明确
  • 已知如何验证
  • 没有进行中的关联工作
  • 不需要对产品、UX、架构、安全、数据、计费、身份验证或部署进行判断

适合添加 agent:ready 的工作:

  • 更新文档
  • 修复失效链接
  • 更新过时的 README 命令
  • 简单测试
  • 修复 lint 或格式问题
  • 小型仓库维护工作
  • 修复简单的 CI 命令/配置偏差
  • 测试通过的补丁版本依赖升级

满足以下任一条件时,添加 needs:human:

  • 需求或预期行为不明确
  • Bug 缺少复现方法
  • 问题规模超出一个 PR 的范围
  • 需要对产品、UX、架构、安全、数据、计费、身份验证或部署进行判断
  • 分类置信度较低
  • 之前的 Agent 尝试失败,且下一步不明确

Agent 评估

仅当分类、理由或计划发生变化时才添加/更新。

## Agent Assessment

Risk: low | medium | high
Type: bug | feature | docs | test | refactor | chore
Agent-ready: yes | no

Reason:
<1-3 sentences.>

Suggested plan:
1. <small first step>
2. <small second step>
3. <verification step>

如果需要人工输入:

Human needed:
<specific question or decision.>

工作流

1. 加载上下文和来源

阅读仓库说明、README、贡献指南、问题模板以及本地路线图/待办事项文档,将其作为上下文。 确定唯一的待办事项来源。 如果缺少来源或所需访问权限,则停止。

对于 GitHub Projects,在编辑前加载字段和状态选项 ID。 使用现有状态名称。 常见映射:

  • Todo:未开始的开放问题。
  • In Progress:有人负责的问题或活跃分支。
  • In Review:已准备好进行审查的开放 PR。
  • Done:已合并 PR 关闭的问题。

除非用户提出要求,否则不要创建项目字段或状态。

2. 确保标签存在

在支持的情况下,创建缺失的受管理标签。 如果无法创建,报告缺失的标签并继续。

GitHub 颜色:

  • risk:low:0E8A16
  • risk:medium:FBCA04
  • risk:high:B60205
  • type:*:5319E7
  • agent:*:1D76DB
  • needs:human:D93F0B
3. 分类未解决议题

获取标题、正文、标签、评论、状态/项目字段和关联的 PR。

针对每个未解决议题:

  1. 如果缺少 risk:*,添加一个。
  2. 如果缺少 type:*,添加一个。
  3. 如果不存在路由标签,添加 agent:ready、needs:human,或不添加。
  4. 保留现有的受管理标签。
  5. 报告标签分歧。
  6. 仅在 Agent Assessment 发生变化时添加或更新。

除非用户要求采用该策略,否则不要将中/高风险议题标记为 agent:ready。

4. 同步 PR 状态

已开启的关联 PR:

  • 如果有可用的审核状态,将议题移至该状态
  • 移除 agent:ready
  • 仅在需要补充 PR 链接或验证摘要时发表评论

已合并的关联 PR:

  • 移除 agent:ready
  • 仅在 PR 明确解决了议题时关闭议题
  • 如果有可用的已完成状态,将项目条目移至该状态
  • 保留审计标签和评估

已关闭但未合并的 PR:

  • 移除 agent:ready
  • 如果下一步不明确,添加 needs:human
  • 如果有已知原因,发表评论说明
  • 仅在跟踪器策略明确时,将状态移回之前的状态

绝不要根据 PR 标题或分支推断工作已完成。 检查草稿标记、可合并性、检查结果、审核和未解决的讨论串。 同步后,确认议题状态和项目条目状态一致。

5. 扫描偏差并创建议题

仅根据具体证据创建工单:

  • 文档与跟踪器或代码状态相矛盾
  • 本地待办事项/路线图与跟踪器相矛盾
  • Markdown 链接失效
  • README/设置命令未出现在脚本、CLI 帮助、Makefile 或文档中
  • 生成的文档与文档中说明的检查命令不一致
  • 范围明确的 TODO/FIXME/HACK 注释
  • 看起来是意外跳过的测试或禁用的检查
  • 默认分支上近期失败的 CI/检查运行
  • 有明确验证方法的简单构建/代码检查/配置偏差

不要为推测性改进、架构重写、产品创意,或需要业务、UX、安全、数据、计费、身份验证或部署判断的工作创建议题。 与未解决和近期关闭的议题进行去重。

仅当证据具体、置信度高且修复范围较小时,才创建议题。 每个创建的议题都必须包含标题、证据、重要性说明、建议修复方案、风险、类型、Agent 就绪状态和 Agent Assessment。 报告因缺少必要条件而跳过的关注事项。

6. 报告分支清理情况

报告以下分支:

  • 已合并到默认分支
  • 关联的议题已关闭,或关联的 PR 已合并/关闭且没有剩余工作
  • PR 关闭但未合并,且没有后续处理的陈旧自动化分支

绝不要删除分支。

7. 验证

验证以下内容:

  • 未解决议题各有一个受管理的 risk:* 和一个受管理的 type:*
  • 仅当风险为 risk:low 且没有 needs:human 时,才会出现 agent:ready
  • risk:high 议题都有 needs:human,除非已记录原因
  • 已分类的未解决议题都有 Agent Assessment
  • 创建的议题已去重,且有证据支持
  • 已开启的关联 PR 在有可用状态时对应审核状态
  • 已合并的关联 PR 在有可用状态时对应已完成状态
  • 没有已关闭议题仍处于活动状态,除非已报告这是跟踪器限制或 API 更新失败

对于 GitHub,优先使用 gh issue list --json number,title,labels,body,而不是检查 Web UI。

8. 报告

包括:

  • 跟踪器
  • 已执行的步骤
  • 已检查的议题
  • 已创建或缺失的标签
  • 已更改的议题
  • agent:ready 数量
  • needs:human 数量
  • 已关闭或根据 PR 状态同步的议题
  • 根据偏差扫描创建或跳过的议题
  • 分支清理候选项
  • 验证结果
  • 阻碍事项和后续操作

定期运行

运行相同的工作流。 提示词必须包含仓库/跟踪器、事实来源规则、议题创建规则、验证要求和交付目标。

定期运行不得合并 PR、发布版本、修改密钥、花费资金、删除分支或进行高风险更改。 对于 GitHub Actions,将此 skill 复制到 .claude/skills/backlog-manager/SKILL.md。 默认的 GITHUB_TOKEN 无法编辑用户级 GitHub Projects;对项目的修改仅作报告处理。

GitHub 适配器

如果 gh 可用,请使用它。

gh repo view --json nameWithOwner,url
gh label list --limit 200
gh label create "risk:low" --color "0E8A16" --description "Low-risk issue suitable for agent execution when agent-ready"
gh issue list --state open --limit 100 --json number,title,body,labels,url,createdAt,updatedAt,comments
gh issue edit <number> --add-label "risk:low,type:docs,agent:ready"
gh issue comment <number> --body-file <file>
gh issue close <number> --comment "Closed because linked PR <url> was merged."
gh project list --owner <owner>
gh project field-list <project-number> --owner <owner> --format json
gh project item-list <project-number> --owner <owner> --limit 200 --format json
gh project item-add <project-number> --owner <owner> --url <issue-or-pr-url> --format json
gh project item-edit --id <item-id> --project-id <project-id> --field-id <status-field-id> --single-select-option-id <option-id>

对于关联的 PR,请使用 GraphQL 或 gh pr list/gh pr view。 重试超时的项目写入操作之前,请先查询条目状态,以避免重复添加评论或项目条目。

Linear 适配器

在用户要求且 Linear 可用时,请使用 Linear。 直接映射标签:risk:*、type:*、agent:ready、needs:human。 将问题状态映射到现有工作流状态。 除非用户要求,否则不要创建新的 Linear 状态。 如果 Linear 和 GitHub 已连接,请使用关联的 PR 状态。

调用

$backlog-manager GitHub backlog for this repo
$backlog-manager full backlog loop for GitHub repo owainlewis/neo
$backlog-manager backlog for GitHub Project https://github.com/orgs/acme/projects/7
$backlog-manager Linear backlog for team ENG project Agentic Engineer
$backlog-manager backlog from ./BACKLOG.md as the source of truth

评论

支持 Markdown