关于 backlog-manager
backlog-manager 是用于维护单一权威待办来源的技能,支持 GitHub Issues、GitHub Projects、Linear 或用户指定的本地文件。它会分类问题、同步关联拉取请求状态、识别有证据支持的维护事项并汇报变更,不负责实现代码。
主要功能
- 01使用管理标签分类问题
- 02根据拉取请求同步问题状态
- 03识别有证据支持的维护事项
- 04发现文档与跟踪器的偏差
- 05报告可清理的分支
- 06验证待办与项目状态
适用场景
- 01整理 GitHub 仓库中的未关闭问题
- 02关联拉取请求变更后同步问题状态
- 03查找明确的文档或配置偏差
- 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:0E8A16risk:medium:FBCA04risk:high:B60205type:*:5319E7agent:*:1D76DBneeds:human:D93F0B
3. 分类未解决议题
获取标题、正文、标签、评论、状态/项目字段和关联的 PR。
针对每个未解决议题:
- 如果缺少
risk:*,添加一个。 - 如果缺少
type:*,添加一个。 - 如果不存在路由标签,添加
agent:ready、needs:human,或不添加。 - 保留现有的受管理标签。
- 报告标签分歧。
- 仅在 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