关于 parallel-ci-triage
将相互独立的 CI 失败任务或错误组分配给并行子 Agent 的工作流 skill,覆盖日志收集、根因分析、修复、本地验证及重新运行 GitHub Actions。
主要功能
- 01按任务或错误组划分失败
- 02将独立工作分派给子 Agent
- 03利用 GitHub Actions 日志诊断
- 04协调修复并处理文件冲突
- 05本地验证更改并重跑 CI
适用场景
- 01排查多个相互独立的 CI 失败任务
- 02拆分长任务日志中的无关错误
- 03协调并行修复后重新运行 GitHub Actions
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ revitalb-port/ skills-registry-demo --skill parallel-ci-triage安装后在 Claude Code 中输入/parallel-ci-triage确认已加载。
详细介绍
并行 CI 故障排查
将失败的作业(或相互独立的故障簇)分配给并行子 Agent,加快修复 CI 的速度。每个子 Agent 负责一个垂直切片:该切片的日志、根因、代码修复和本地验证。
前提条件
- 已安装并完成身份验证的 GitHub CLI(
gh)(gh auth login),或者使用 GitHub 网页界面 / API 手动复制日志。 - 拥有仓库的推送权限,以便推送修复并重新运行 CI。
工作流
1. 找出失败的运行
在仓库根目录运行:
gh run list --limit 5
gh run view <RUN_ID> --log-failed
或者打开 Actions 选项卡,打开失败的工作流运行记录,并记下失败的作业(而不只是失败的步骤——按作业名称分组)。
如果无法使用 gh,请从 GitHub 网页界面下载日志并粘贴到对话中。
2. 按作业(或故障簇)拆分
- 如果作业测试的内容不同(例如
lint、test-node-18、e2e),则每个失败的作业分配一个子 Agent。 - 如果单个作业的日志中包含多个互不相关的错误,则每个相互独立的故障簇分配一个子 Agent——但优先按每个作业分配一个 Agent,以避免对同一文件产生冲突修改。
如果两个故障在同一文件中有相同的根因,则指派一个子 Agent 同时修复这两个故障。
3. 启动并行子 Agent
针对每个失败的作业,在同一条消息中启动一个 generalPurpose 子 Agent,让它们并行运行:
Task: Fix CI failure for job "<JOB_NAME>"
Context:
- Workflow run: <RUN_URL or RUN_ID>
- Branch: <branch>
- Relevant log excerpt (failed steps only):
<paste gh run view --job <JOB_ID> --log or the failed section>
Instructions:
1. Infer the root cause from the log (command, stack trace, file:line).
2. Open and edit only what this job requires.
3. Run the same commands locally that failed in CI (or the narrowest equivalent, e.g. `npm run lint`, `pytest tests/foo`, `pnpm test --filter pkg`).
4. Report: what failed, what you changed, and confirmation that the local command passes.
提供失败的确切命令和错误行,避免子 Agent 猜测。
4. 合并并验证
-
收集每个子 Agent 修改过的文件。如果两个 Agent 修改了同一文件,手动解决冲突。
-
尽可能在本地运行完整的 CI 等效流程:
# Example: match your repo npm run lint && npm test -
使用符合 Conventional Commits 规范的消息提交、推送,并重新检查工作流:
gh run watch
适用场景
- 多个 GitHub Actions 作业失败,且故障看起来互不相关。
- 与依次修复相比,将冗长的工作流日志按作业拆分更容易处理。
不适用场景
- 单个作业出现一个明确的错误——在主 Agent 中修复。
- 纯粹由不稳定的基础设施导致的故障——先重试或修复工作流配置。
注意事项
- 将日志粘贴到聊天中时,请隐去机密信息。
- 如果 Agent 修改了共享文件并产生冲突,请在并行处理完成后依次合并。
评论
支持 Markdown