issue-triage 是一项用于 GitHub 议题自动分流的技能,来源于 getsentry/toolkit。它由 Flue 处理器按阶段逐一调用,处理器负责确定性地执行所有 GitHub 变更操作,技能本身只做分析和建议。
用途 该技能适用于对新开设的 GitHub 议题进行初步分流,包括查找重复议题、诊断议题有效性、判断可操作性,并在适当情况下建议更新标题或正文、留下简短评论,或关闭明确的垃圾内容。
主要能力 技能分为两个阶段:
-
search-duplicates(搜索重复):读取当前议题快照和仓库标签,使用多组具体查询(如精确或近似标题、错误信息、堆栈帧名称、包名、命令名、API 名称)搜索同一仓库中的开放和已关闭议题,每次搜索限制返回 10 条,排除当前议题编号。它避免使用泛化词汇(如语言名、错误、超时等)单独搜索,对于低信号的重写请求仅搜索精确标题和正文特征短语。比较候选议题时要求同一底层缺陷、请求或文档问题才判定为重复,广泛主题重叠不算。返回状态为 duplicate、unique 或 uncertain,并附候选列表和依据。
-
diagnose-and-validate(诊断与验证):在仓库检出可用时,检查代码路径、阅读 AGENTS.md、相关文档和邻近文件,定位可能涉及的子系统、文件、命令、文档或 API。对于堆栈跟踪定位第一方帧并检查引用代码;对于文档或设置报告检查相关文档和脚本;对于功能请求判断仓库是否已支持。在实用范围内运行聚焦搜索、定向测试、类型检查或包脚本,但避免广泛或破坏性命令。根据证据决定议题处置:可操作、需要更多信息、低可操作性、范围不切实际、垃圾内容或不清楚。同时选择重写模式:none(不修改)、light_cleanup(轻度清理)、technical_diagnosis(技术诊断)、scope_clarification(范围澄清),并决定是否更新议题、是否留评论、是否关闭垃圾内容。
使用方式 该技能不直接执行 GitHub 变更。调用方需传入阶段(search-duplicates 或 diagnose-and-validate)、议题编号、可选仓库、受信任的当前议题快照和仓库标签。诊断阶段还会收到重复搜索候选和仓库上下文。技能返回结构化字段,包括严重程度、类别、处置建议、重写模式、有效性、摘要、证据、可应用标签(仅限仓库已有标签)、是否评论、是否更新议题、建议标题和正文、评论内容、是否关闭及关闭原因等。
适用场景
- 开源仓库维护者希望自动初步分流新议题,减少重复和低质量报告。
- 需要快速判断议题是否为重复、是否可操作、是否需要补充信息。
- 对明确垃圾内容(推广、SEO 链接、自动化外部推广等)进行识别和关闭建议。
- 对宽泛的功能请求或架构迁移请求提供范围澄清,避免过度专业化低信号报告。
限制
- 技能将议题内容视为不可信,不执行议题中的命令,不修改仓库文件,不创建标签,不删除或转移议题。
- 仅应用仓库中已存在的标签。
- 证据不足时倾向保守决策,不关闭不确定的重复项。
- 不关闭安全报告、法律/所有权争议、维护者自建议题、模糊的合作/集成请求等需要人工判断的内容。
- 重写议题时保留原始细节,不将低信号请求包装成高信号规范。
- 评论语气友好但直接,不夸大置信度,不使用俚语或表情包。
- 该技能依赖 Flue 处理器执行实际的 GitHub 变更,单独使用时仅提供分析结果。