用途:在运行该技能的仓库中统一应用一套 issue 与 PR 标签词汇,并把标签含义记录下来供智能体使用。labels.json 是唯一事实来源,包含每个标签的名称、颜色、描述、作用域及重命名来源;仅在修改标签集时阅读 RATIONALE.md。
标签分四组,前缀表示适用对象:issue 类型(type:bug、type:feature、type:task);issue 分诊状态(needs-triage、needs-info、ready-for-agent、ready-for-human、wontfix);智能体 PR 结论(recommend-merge、recommend-close、recommend-triage、recommend-revise);维护者 PR 结论(maintainer-approved)。规则:已分诊 issue 恰好带一个 type: 标签和一个分诊状态;无标签即未分诊,needs-triage 表示评估中。非草稿且无结论的 PR 由智能体最终处理,草稿标志即“仍在构建”状态,无对应标签。智能体每个 head 最多给出一个 recommend-* 结论;recommend-revise 交还作者,其余三个交给维护者。结论仅为建议,智能体从不合并、从不关闭;不要把 recommend-merge 改名为 ready-to-merge,合并机器人会监听该字符串。maintainer-approved 仅在维护者明确指示时设置,可与 recommend-* 共存。新推送会使结论过期,由设置方清除并更新。
使用方式:先用 gh repo view --json nameWithOwner -q .nameWithOwner 检测仓库,失败则询问用户目标仓库。然后对比清单与仓库现状,预览将创建、更新颜色/描述、重命名的标签,并检查 docs/agents/triage-labels.md 与根 AGENTS.md 的处理方式,最后明确询问用户是否应用。确认后先执行重命名再创建或更新:jq -c '.[]' labels.json | while read -r label; do name=$(jq -r .name <<<"$label"); old=$(jq -r '.renamed_from // empty' <<<"$label"); if [ -n "$old" ] && [ "$old" != "$name" ]; then gh label edit "$old" --name "$name" --repo "$REPO" 2>/dev/null || true; fi; gh label create "$name" --color "$(jq -r .color <<<"$label")" --description "$(jq -r .scope <<<"$label"): $(jq -r .description <<<"$label")" --force --repo "$REPO"; done。可对多个仓库重复执行。随后创建或更新 docs/agents/triage-labels.md,包含每个 /triage 角色对应 issue 与 PR 两列的映射表、上述规则及仓库特有覆盖,并让根 AGENTS.md 指向该文件。最后按重命名、更新、创建三类报告,空类写 none,并说明文档变更。清单外的标签保持不动;删除标签需用户明确要求,因为会从所有 issue 和 PR 移除:gh label delete "<name>" --repo "$REPO" --yes。修改标签集时编辑 labels.json,重命名需改 name 并设 renamed_from,迁移完成后删除该字段;保持标签集精简,新标签必须携带标题、diff 或现有标签没有的信息,并在 RATIONALE.md 记录理由。
限制:创建标签面向公开仓库,需先确认完整预览;未提供收费、平台或效果信息。