
MCP Toolbox Issue 分类实战基于 triage-issues 技能实现 propose-only 的标签化工作流【免费下载链接】mcp-toolboxMCP Toolbox for Databases is an open source MCP server for databases.项目地址: https://gitcode.com/GitHub_Trending/ge/mcp-toolbox本篇技术指南讲解 MCP Toolbox 仓库中维护者专用的triage-issuesAgent Skillskills/maintainer/triage-issues/SKILL.md它如何将一条或一批GitHub Issue 快速转化为可一键应用的四轴标签方案、重复项结论、Bug 信息完整性检查与可直接粘贴的评论草稿。读完本文你将掌握该技能的设计动机、完整执行流程、输出格式以及它与reproduce-bug、stale-sweep等兄弟技能的分工可以直接在googleapis/mcp-toolboxMCP Toolbox for Databases一个基于 Go 的 MCP 数据库服务器的维护工作中落地这套「只提议、不越权」的分类工作流。技能定位Triage 在这里主要是「打标签」在 mcp-toolbox 仓库中Issue 分类主要是一场人工labeling打标签工作标签是驱动后续路由、SLO 追踪与社区协作的主要载体。其中product:标签通过.github/blunderbuss.yml自动把 Issue 路由到对应的产品团队这是整个技能中「杠杆率最高」的一个标签。该技能严格遵循PROPOSE-ONLY只提议原则交付物是「维护者几秒钟就能应用」的完整方案在聊天中输出绝不自行执行gh issue edit/comment/close或 assign分配当某个调用不够显然时宁可提问也不猜测。技能适用触发词包括「triage #3648」「what labels should this get」「is this a dup」、一次 triage 一批 Issue 编号或直接粘贴一条 mcp-toolbox 的 Issue 链接。前置条件与安装使用前需要满足ghCLI 已针对googleapis/mcp-toolbox完成认证且手头有 Issue 编号若环境没有gh可以用 GitHub MCP Server 替代本文中所有gh命令均可映射到其 read/list 类工具。技能的安装方式与仓库内其他技能一致详见 skills/README.md使用 Agent Skills 生态的npx skillsCLI# 安装单个维护者技能简洁写法 npx skills add googleapis/mcp-toolbox/skills/maintainer/triage-issues # 或按名称选择 npx skills add googleapis/mcp-toolbox --skill triage-issues # 全局安装对所有项目生效 npx skills add googleapis/mcp-toolbox/skills/maintainer/triage-issues -g该技能在目录中附带了一份权威参考资料 skills/maintainer/triage-issues/references/maintainer-playbook.md开源维护者手册其中定义了标签分类体系、优先级/状态定义、SLO 目标与官方评论模板——SKILL.md 本身只负责说明「如何把这些定义套进 propose-only 工作流」。第一步实时读取事实源而不是凭记忆标签体系与路由规则会漂移因此技能要求「live, not from memory」gh label list --repo googleapis/mcp-toolbox --limit 200这是唯一的合法标签名来源。绝不提议一个不在列表中的标签.github/blunderbuss.yml确认每个product:标签路由到哪个团队.github/ISSUE_TEMPLATE/bug_report.ymlBug 报告的必填字段清单用于完整性检查maintainer-playbook权威的分类法、优先级/状态定义、SLO 目标与评论模板。然后拉取 Issue 本体gh issue view n --repo googleapis/mcp-toolbox --json number,title,body,author,labels,comments,createdAt先过滤机器人噪音自动生成的报告例如 Cloud Build Failure Reporter ... failed作者是 bot只需要打periodic-failure标签可以直接跳过其余工作流。四轴标签法type / product / priority / status技能把分类收敛到四个标签轴每个轴给出一行「为什么」。某个轴不适用时就明确说明不要硬凑标签。type:类型轴Issue 模板通常已预置type: bug/type: question。默认信任模板但当正文内容与模板不一致时必须纠正并说明原因——例如一个「bug」实际上是在要求新行为那它其实是 feature request。product:产品轴每个数据源一个杠杆率最高的标签因为它驱动团队路由。从 Issue 中提到的 source/tool 推断例如 looker run_dashboard tool →product: looker。以下情况不要硬贴核心/产品无关的 Issue不强行打但要注明「没有产品所有者」真实数据源却还没有对应标签说明情况并标记到.github/labels.yaml去补而不是错误路由。priority:优先级轴Bug 只能是 p0 或 p1绝不 p2/p3Feature request 可以跨 p0–p3。对照手册中的优先级示例与 SLO 表匹配 Issue给出理由并允许维护者覆盖。status:状态轴可选标签语义waiting for responseBug 缺少可行动的信息等待报告者补充feedback wanted等待社区/作者反馈help wanted面向社区开放的工作精确语义含60 天静默即关闭规则以手册为准。社区标签与分配社区标签独立、无status:前缀good first issue用于范围清晰、易上手的问题ready for work用于已经过 triage、现在就可行动的问题。当修复小而自包含时建议good first issue与help wanted一起提出。分配不是标签由于product:已自动路由到团队分配很少需要。仅当外部贡献者主动认领分配给他们以避免重复劳动或维护者本人接手时才提议分配否则保持未分配让贡献者知道任务仍开放。重复检查gh issue list --repo googleapis/mcp-toolbox --state all --search key terms --limit 20使用有区分度的关键词工具名、报错字符串。若确认是已知问题提议duplicate 关闭并链接引用原 Issue、感谢报告者模板见下文。Bug先调查再考虑挂起在提议waiting for response之前技能要求先做三件事尝试复现通过追踪代码路径判断问题真伪检查git log/git blame修复可能已经静默落地——若已修复应提议duplicate 关闭并引用提交而不是向报告者要信息交接给reproduce-bug技能当判断取决于「Bug 是否真实」时转给 skills/maintainer/reproduce-bug/SKILL.md。该技能先跑廉价判别器错误的工具类型、版本偏差、客户端问题并且大多数报告无需凭据即可在 SQLite 上复现它的裁决能同时锐化priority:与status:的判定。若你能直接定位根因给出file:line——这会显著提高优先级判断的准确性。只有当确实无法复现时才回退到waiting for response且必须提出具体、可行动的问题而不是 please provide more info并对照bug_report.yml的必填字段版本、环境、期望 vs 实际、复现步骤逐条列出缺失项这些缺失项同时用于支撑标签与草稿评论。Feature Request 与 QuestionFeature request在起草致谢回复前先搜索代码库看是否已有部分实现——可能已经可以实现回答并关闭或者是个重复项type: question直接基于代码作答并给出引用而不是只打个标签了事。草稿评论使用官方模板不自己发明措辞Bug 缺复现/细节时用手册中的Needs More Information模板FR 用Acknowledging a Feature Request模板只填充具体细节如确切缺失的字段。重复项模板原文直用Thanks for reporting this! This is a duplicate of #original, so Im closing this in favor of that issue. Please follow along there for updates.手册中另两个可复用的官方模板来自 skills/maintainer/triage-issues/references/maintainer-playbook.md# Acknowledging a Feature Request Thanks for suggesting this feature! We appreciate you taking the time to provide this feedback. Weve added this to our backlog for consideration. We cant provide a specific timeline for implementation right now, but we will update this issue with any progress. In the meantime, we welcome pull requests from the community if you are interested in contributing this feature yourself.# Needs More Information Thanks for opening this issue! We are having trouble reproducing your problem with the information provided. To help us investigate further, could you please provide: - A minimal, reproducible code sample that demonstrates the issue. - The full error message and stack trace. We will close this issue in 14 days if we dont hear back. Thanks!输出格式让维护者一键应用每条 Issue 输出一个结构化块并附上可直接运行的gh issue edit行运行交给维护者## Issue #n: title **Labels:** - type: x: why - product: x: why routing, or no product owner: core/... - priority: x: why - status: x: why, if any **Duplicates:** #nums, or none for terms: ... **Completeness (bugs):** whats missing, or complete **Draft comment:** paste-ready, or none needed **Apply:** gh issue edit n --repo googleapis/mcp-toolbox --add-label type: ...,product: ...,priority: ...批量处理时每个 Issue 一个块末尾附一行汇总表。四条铁律只提议绝不执行gh issue edit/comment/close或 assign交付物只在聊天中给出只用真实标签每个提议的标签必须出现在gh label list中类型/产品拿不准就问一个自信的错误product:会把 Issue 路由到错误团队每句主张都要有依据路由/标签类主张引用配置如 perblunderbuss.ymlroutes to ...代码类主张根因、已修复、已实现引用file:line或提交 SHA否则标注[UNVERIFIED]。背后依据手册中的 SLO 与标签定义SKILL.md 的执行逻辑全部锚定在维护者手册中。手册定义了 Issue 从报告到发布的生命周期Identify → Triage → Resolution → Review Merge → Release其中 Triage 检查清单包括查重复、验证可复现性、应用Priority/Type/Product/Status标签、分配/取消分配负责人。SLO 目标表如下TypePriorityMetricObjectiveFeature RequestP0Response5 daysProcessP0Response5 daysBug / Customer IssueP0Response2 daysClosure14 daysP1Response7 daysClosure90 daysP2Response30 days手册中优先级的具体示例与 triage-issues 的分类行为一一对应P0 Bug主要功能损坏、特性不可用如扩展加载失败导致工具全部不可用关键数据面工具持续返回错误结果导致数据损坏P1 Bug影响下一个发布的关键功能损坏如新建实例工具偶发超时需手动重试P2/P3仅适用于 FRnice-to-have 或开放社区贡献Bug 不应落入 P2/P3——这正是技能中「Bug 只有 p0/p1」规则的来源。技能协作生态triage-issues 并不是孤立的先 triage 定标签再 reproduce-bug 出证据stale-sweep 定期清理。三者共享同一份 skills/maintainer/triage-issues/references/maintainer-playbook.md 作为权威事实源skills/maintainer/reproduce-bug/SKILL.md当 triage 判定依赖「Bug 是否真实」时接手产出 7 类带证据的裁决confirmed / already-fixed / misconfiguration / client-side / works-as-intended / not-reproducible / blockedskills/maintainer/stale-sweep/SKILL.md基于同一套status:语义与 60 天静默关闭规则按「静默属于谁」分类作者/我们/无人并起草提醒或关闭评论。这套技能的最终价值在于它把维护者最容易犹豫不决的「该打什么标签、是不是重复、信息够不够、怎么回复」压缩成了一条可复现、可审计、可一键应用的流水线同时用 PROPOSE-ONLY 与「只提真实标签」两条硬约束把 Agent 的行为严格限定在辅助决策、而非代行权限的边界之内。【免费下载链接】mcp-toolboxMCP Toolbox for Databases is an open source MCP server for databases.项目地址: https://gitcode.com/GitHub_Trending/ge/mcp-toolbox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考