ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

深入解析 Triage Labels:技能库五大分诊角色与 Issue Tracker 标签词汇的映射机制

深入解析 Triage Labels:技能库五大分诊角色与 Issue Tracker 标签词汇的映射机制 深入解析 Triage Labels技能库五大分诊角色与 Issue Tracker 标签词汇的映射机制【免费下载链接】skillsSkills for Real Engineers. Straight from my .agents directory.项目地址: https://gitcode.com/GitHub_Trending/skills13/skills导读本文围绕仓库中 triage-labels.md 这一配置文档完整拆解工程技能体系engineering skills所依赖的五大规范分诊角色triage roles如何映射为 Issue Tracker 上真实存在的标签字符串并说明该映射文件在triage、setup-matt-pocock-skills、to-tickets、wayfinder等技能之间的流转作用。读完本文你将掌握五个规范角色与标签的对应关系、如何按自有词汇改写映射表、以及标签在 GitHub、GitLab、本地 Markdown 三种追踪器中的实际操作命令。一、为什么需要一份角色到标签的映射表工程技能在工作时并不直接引用某一个追踪器的标签字符串而是统一使用一套规范分诊角色canonical triage roles来描述问题状态。真正的标签字符串存放在各个仓库的 Issue Tracker 中不同仓库可能使用不同的命名习惯。正如 triage/SKILL.md 所写These are canonical role names. The actual label strings used in the issue tracker may differ. The mapping should have been provided to you. If not, tell the user to run/setup-matt-pocock-skills.也就是说技能内部说角色例如 apply the AFK-ready triage label追踪器上存标签例如 GitHub 仓库中真实创建的ready-for-agenttriage-labels.md 就是连接两者的一对一映射表它由/setup-matt-pocock-skills在仓库初始化时写入docs/agents/triage-labels.md供triage等下游技能运行时读取。这是一份配置而非脚本技能文件本身完全一致只有这份映射连同 issue-tracker.md 和 domain.md随仓库变化这正是整套技能不锁定单一托管平台的原因。二、五大规范分诊角色的完整定义映射表建立在五个状态角色之上它们在 triage/SKILL.md 中有精确定义规范角色含义needs-triage维护者需要评估该 issue未分诊needs-info等待报告者补充更多信息ready-for-agent需求已完全明确可供 AFK Agent 直接执行ready-for-human需要人工实现存在判断、外部访问、设计决策或手动测试等无法委托的原因wontfix不会处理已实现、被拒绝等需要强调的是这五个只是状态角色。triage 体系还包含两个类别角色bug有东西坏了与enhancement新功能或改进。规范约定Every triaged issue should carry exactly one category role and one state role.每个被分诊的 issue 应恰好携带一个类别角色和一个状态角色。若状态角色冲突应标记出来并在动手前先询问维护者。状态流转关系为未带标签的 issue 通常先进入needs-triage此后迁移到needs-info、ready-for-agent、ready-for-human或wontfix报告者回复后needs-info回到needs-triage。维护者可随时覆盖但异常迁移应标记并先征询。对于以 PR/MR 为请求面的场景同一状态作用于所附代码ready-for-agent表示已附带 brief、Agent 应针对 diff 采取下一步ready-for-human表示可供人工合并。三、核心映射表原文完整继承triage-labels.md 的核心是一张三列表格左侧是mattpocock/skills源仓库的标签名右侧是本仓库追踪器中实际使用的标签字符串中间说明角色含义源仓库标签mattpocock/skills本仓库追踪器标签含义needs-triageneeds-triage维护者需要评估该 issueneeds-infoneeds-info等待报告者提供更多信息ready-for-agentready-for-agent已完全明确可供 AFK Agent 执行ready-for-humanready-for-human需要人工实现wontfixwontfix不会处理使用规则在文档中写得很直接当某个技能提到一个角色例如 apply the AFK-ready triage label时就应使用本表中对应的标签字符串。这张表也是 setup-matt-pocock-skills/SKILL.md 中Section BTriage label vocabulary的产出物之一当triage技能已安装时该 Skill 会询问用户是否保留默认分诊标签推荐是默认即五个规范角色、每个标签字符串与角色名相同原样写入docs/agents/triage-labels.md只有当用户明确回答否时才收集覆盖词汇。四、自定义标签词汇改右列不动左列文档在结尾给出了定制规则Edit the right-hand column to match whatever vocabulary you actually use.编辑右列使其匹配你实际使用的词汇。这带来两个重要的工程结论左列是规范层保持稳定技能代码与文档中引用的永远是规范角色名因此左列不应改动它是技能与映射表之间的契约。右列是适配层随仓库变化当你现有的追踪器已经使用了其他命名例如用bug:triage表示needs-triage时只需修改右列让triage复用已有标签而不是在追踪器上创建重复标签。这也正是setup-matt-pocock-skills中 Section B 收集覆盖项的初衷。从 triage/SKILL.md 的应用逻辑看映射正确时/triage能直接应用已有标签/to-tickets发布时也无需再询问 issue 存放位置反之若映射缺失或错误技能可能创建出重复标签或标签应用失败。五、三种追踪器中的标签实操命令映射表最终要落到真实追踪器上setup-matt-pocock-skills 提供了三种开箱即用的模板各自定义了标签的增删改查命令。5.1 GitHub使用ghCLI来自 issue-tracker-github.md应用标签gh issue edit number --add-label ready-for-agent移除标签gh issue edit number --remove-label needs-info读取含标签与评论gh issue view number --comments列表按标签/状态过滤gh issue list --state open --json number,title,body,labels,comments --jq [.[] | {number, title, body, labels: [.labels[].name], comments: [.comments[].body]}]注意gh会根据git remote -v自动推断仓库。此外GitHub 的 issue 与 PR 共享同一个编号空间裸#42可能指向任一者需用gh pr view 42尝试解析、失败再回退到gh issue view 42。5.2 GitLab使用glabCLI来自 issue-tracker-gitlab.md应用标签glab issue update number --label ready-for-agent多个标签可逗号分隔或重复该 flag移除标签glab issue update number --unlabel ...读取glab issue view number --comments-F json输出机器可读结果GitLab 将评论称为 notesglab issue note number --message ...与 GitHub 不同GitLab 的 issue 与 MR 分别编号因此#42在确定所指面后无歧义。5.3 本地 Markdown.scratch/目录来自 issue-tracker-local.md本地模式将 issue 存为 markdown 文件每特性一个目录.scratch/feature-slug/分诊状态记录在每个 issue 文件顶部附近的Status:行角色字符串即取自 triage-labels.md。wayfinder的子票文件.scratch/effort/issues/NN-slug.md同样用Status:行记录claimed/resolved用Type:行记录类型。5.4 其他追踪器Jira、Linear 等当远程既非 GitHub 也非 GitLab 时setup-matt-pocock-skills会请用户用一段话描述工作流并记录为docs/agents/issue-tracker.md中的自由文本下游技能按这段文字行事。标签映射文件本身仍照常生成与追踪器类型解耦。六、常见问题与边界结合 triage/SKILL.md 与文档有两点需特别注意映射文件不创建标签docs/agents/triage-labels.md只是映射它不会运行gh label create。若仓库追踪器中这些标签尚未创建需由维护者先行创建尤其 wayfinder 使用的wayfinder:map与wayfinder:type标签也不在本配置范围内在 GitHub 上gh issue create --label 缺失标签会直接失败而非自动建标签因此首次运行 wayfinder 前应手工创建这些标签。默认即恒等映射若你的追踪器恰好使用规范名作为标签名映射表就是一张恒等表无需额外配置这是预期中的常见情形。此外映射文件只在triage技能已安装时才生成setup-matt-pocock-skills的 Section B 与### Triage labels子块同步省略同时会在所编辑的CLAUDE.md/AGENTS.md中写入指向docs/agents/triage-labels.md的一行摘要。七、验证清单映射是否生效配置完成后可从 setup-matt-pocock-skills/SKILL.md 归纳出以下验收标准docs/agents/triage-labels.md存在在triage已安装的前提下标签字符串与你的追踪器中真实存在的标签一一对应之后运行/triage时应用的是已有标签而非凭空创建/to-tickets发布时无需再询问 issue 存放位置技能文件SKILL.md本身没有任何改动改动只发生在docs/agents/*.md配置层。若后续更换追踪器或希望完全重新初始化可重新运行/setup-matt-pocock-skills日常微调直接手改docs/agents/*.md即可无需重跑。结语triage-labels.md 虽然只有一张表、一段说明却是整套工程技能在多仓库、多追踪器环境下保持一致的枢纽它把五个稳定的规范角色翻译成每个仓库真实的标签词汇让triage能正确打标签、让to-tickets能正确发布、让wayfinder能正确流转。理解左列规范、右列适配的双层设计是自定义仓库标签体系而不破坏技能契约的关键。【免费下载链接】skillsSkills for Real Engineers. Straight from my .agents directory.项目地址: https://gitcode.com/GitHub_Trending/skills13/skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表