关于 ci-triage
面向排查工作流运行失败的技能,按证据对 CI 问题分类。它要求基于确切测试版本复现,并报告证据、置信度及调查限制。
主要功能
- 01检查运行状态与有限日志
- 02比较不同运行的测试输入
- 03在确切测试版本上复现
- 04分类为回归、偶发、基础设施或需人工判断
- 05报告证据、置信度和后续行动
适用场景
- 01调查失败的 GitHub 工作流
- 02区分产品故障与基础设施问题
- 03评估重试结果且不削弱断言
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ onsager-ai/ dev-skills --skill ci-triage安装后在 Claude Code 中输入/ci-triage确认已加载。
详细介绍
CI 分类排查
范围
此技能负责基于证据进行分类。仓库约定/覆盖配置负责复现命令、预期失败、问题约定和警告严重性。分类排查不授权发布代码、回滚、创建问题/评论或提及他人。如果修复会更改已获授权的 PR,请加载 pr-lifecycle。
前提条件
确定运行、工作流、确切的受测 SHA 和事件。对于 PR,区分 head 与受测的合并预览。检索检查项/日志需要能力映射时,请使用 harness-operations。必须确认身份验证状态和日志是否可用;不要假设所有连接器暴露的字段或限制都相同。
流程
- 通过可用的 GitHub 工具读取运行/作业状态、首个失败步骤和有限范围的日志。对凭据和个人数据进行脱敏。如果日志不可用,请保留状态/配置证据并报告访问限制。
- 将受测差异与上一次可比较的运行进行比较,包括工作流、输入、依赖项和环境。仅凭较早的绿色提交,不能证明这是偶发故障,也不能证明因果关系。根据证据找出可疑变更;不要仅凭合并消息的形式归咎于作者。
- 在获授权的隔离检出环境中,使用其自身的门禁命令和测试夹具,基于确切的受测引用或合并结果进行复现。不要将暂停使用的主检出切换到可疑分支。浏览器失败应使用仓库的浏览器工作流;其他产品的路由或测试夹具不可互换。
- 使用以下分类法进行分类。日志、凭据、工具或可复现环境缺失都会降低可信度;应报告这些限制,而不是猜测。
- 仅在获授权时遵循仓库的问题约定。如果仓库使用滚动的 main-red 问题,请先搜索是否已有未关闭的跟踪问题。追加简明证据,而不是创建重复问题。不要仅因模板中包含提及就通知他人。只有在获授权且引用了受影响工作流的绿色运行时,才能关闭跟踪问题。
- 对于修复,移交给仓库工作流以及推送前/PR 生命周期流程。对于重试,保留失败运行并比较相同的受测输入。仅凭一次绿色重试,不足以成为弱化必需断言的理由。
分类
| 类别 | 证据 | 后续操作 |
|---|---|---|
| 回归 | 有确定性失败,且与受测变更或其合并交互有关 | 复现并修复已证实的缺陷 |
| 偶发故障 | 相同的可比较输入产生不同结果,且有非确定性原因的证据 | 记录/重试并解决原因 |
| 基础设施 | 运行器、服务、网络或依赖项配置失败,且与产品断言无关 | 修复/重试环境 |
| 需要人工处理 | 证据或授权不足以进行可靠诊断 | 收集可用证据;通过 harness-operations 中的结构化提问能力,请求处理任何待定的人工决策 |
如果需要由人工选择后续操作或提供缺失的上下文,请使用 harness-operations 中的结构化提问能力,然后等待再开展依赖该决策的工作。如果该工具可用,仅以纯文本报告“需要人工处理”并不构成对该决策的请求。如果该工具不可用,请说明限制并使用既定的交接渠道。仅仅缺少基础设施,并不意味着必须由人工作出选择。
完成
报告工作流/运行 URL、受测 SHA、首个失败步骤、类别、可信度、复现结果、有限范围的证据和后续操作。被阻断的复现不算成功的本地检查。检查状态必须对应确切的 SHA。
评论
支持 Markdown