ワンクリックで
github-action-diagnose
诊断昇腾(Ascend)NPU 集群上 GitHub Actions 执行失败的原因,定位基础设施故障与根因分析
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
诊断昇腾(Ascend)NPU 集群上 GitHub Actions 执行失败的原因,定位基础设施故障与根因分析
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
A skill that helps open source engineers plan their schedules effectively, including feature development, PR review, Issue resolution, information acquisition, etc.
Transform a folder of unnamed screenshots and a rough markdown draft into a polished, illustrated tutorial document. Use when the user has a set of screenshots (e.g., from Snipaste or other tools) with timestamp-based filenames and a brief markdown outline, and wants to produce a complete step-by-step instructional document with images renamed by content and inserted at appropriate positions. Triggers include "整理截图写文档", "screenshots to tutorial", "rename images and write guide", "把截图整理成教程", or when a folder of screenshots and a markdown draft are provided together.
Upgrade Triton-Ascend project based on upstream Triton project. This skill automates the version upgrade process, creates a new branch with upgraded code, and performs compilation and basic functionality tests.
Automatically analyze and fix CI-failed Pull Requests on GitCode/GitHub. Use when a PR has failed CI checks and needs diagnosis and repair. Triggers include "fix this PR", "repair failed CI", "analyze PR failure", or when given a PR URL with CI failures. Works with any Docker-based CI/CD pipeline and automatically creates a new PR with fixes.
You are a releasing note writer for vLLM Ascend project (vllm-project/vllm-ascend). You are responsible for writing release notes for vLLM Ascend.
Generate professional dark-themed release announcement posters for GitHub releases. Use when the user wants to create a release poster, announcement image, changelog graphic, or visual summary for software releases. Triggers include "create release poster", "make announcement image", "generate release graphic", "版本发布海报", or when given a GitHub release URL with a request to visualize it. Automatically adapts to different categories, content lengths, and release note structures.
| name | github-action-diagnose |
| description | 诊断昇腾(Ascend)NPU 集群上 GitHub Actions 执行失败的原因,定位基础设施故障与根因分析 |
| allowed-tools | Bash(gh run view:*), Bash(gh run list:*), Bash(gh api:*), Bash(kubectl get:*), Bash(kubectl describe:*), Bash(kubectl logs:*), Bash(kubectl config:*), Read, Grep |
诊断昇腾(Ascend)NPU 集群上 GitHub Actions 的执行失败。仅做故障定性和根因分析,不提供修复建议。 所有只读操作(gh CLI、kubectl 查询、日志读取)直接执行,无需用户确认。
本技能采用 5 步诊断流程:Step 0 输入识别 + 4 步诊断逻辑(生命周期分诊 → 物理节点溯源与环境故障定位 → 非环境问题判定 → 输出报告)。
分析用户提供的输入,自动识别类型:
/actions/runs/):提取 owner/repo 和 run_id,执行 gh run view <run_id> --repo <owner/repo> --log-failed 获取失败日志。gh run view <run_id> --log-failed。如果 --log-failed 信息不足,自动尝试 gh run view <run_id> --log 获取完整日志。
同时获取 run 的元信息:gh run view <run_id> --repo <owner/repo> --json jobs,name,status,conclusion,headBranch,event。
根据失败发生的步骤进行初步分类:
| 失败步骤 | 初步定性 | 说明 |
|---|---|---|
| Set up job | 环境问题 | Runner 无法拉起/调度失败 |
| Initialize containers | 环境问题 | 容器运行时异常/镜像拉取失败 |
| Checkout / Setup Environment | 环境问题 | 网络/挂载/权限故障 |
| Run steps(pytest/lint 等) | 需进一步分析 | Runner 已就绪,进入 Step 2-3 细分 |
如果失败在前三类步骤,直接标记为环境问题并进入 Step 2。 如果失败在 Run steps,需要同时执行 Step 2 和 Step 3 来区分环境故障与代码问题。
当判定为环境故障或怀疑硬件问题时,定位物理节点:
Set up job 日志或 gh api 获取 runner_name(即 Pod 名称)。runner_name 前缀或 Job Labels 识别节点池(如 a3-0)。kubectl get pods --all-namespaces --no-headers | grep <runner_name> 提取 namespace。kubectl get pod <runner_name> -n <namespace> -o custom-columns=NODE:.spec.nodeName --no-headersSuccessfully assigned <runner_name> to <node_name>。检查以下故障模式:
npu-smi info 报错、ERR99999、error code 507035、Device not found。Killed 信号、Bus error(SHM 不足)、No space left on device。Timeout,优先识别并检查 Master 节点。Master 节点识别方法:
RANK_TABLE_FILE 中 rank_id=0 对应的节点master_addr / MASTER_ADDR 环境变量指向的节点Unexpected Exit 或驱动报错如果 Step 2 未发现环境/硬件故障,检查以下非环境因素:
undefined variable "False"(应为小写 false)。AssertionError、Python Traceback 指向业务源码、测试用例失败。根据诊断结果选择输出模式:
严格按照以下格式输出:
# GitHub Action 故障诊断报告
## 1. 故障概览
- **任务名称**: [Job Name]
- **Run ID**: [Run ID]
- **故障定性**: 环境问题 / 硬件故障 / 集群调度异常
- **判定依据**: [驱动报错/调度异常/硬件死锁/OOM 等]
## 2. 详细诊断
- **失败步骤**: [Set up job / Initialize containers / Run steps 等]
- **报错原文**: [引用关键日志片段]
- **物理节点**: [Runner 名] -> [Pod] -> [物理机/节点池]
- **根因分析**: [深层原因说明]
采用自然语言简要反馈:
注意:两种情况均不输出修复建议或操作手册。