关于 gh-fix-ci
gh-fix-ci 是面向开发者的技能,可检查拉取请求中失败的 GitHub Actions 检查、概述日志并提出修复计划;获批后才实施更改。
主要功能
- 01查找失败的 PR 检查
- 02获取 GitHub Actions 日志
- 03提取简短失败片段
- 04获批后再实施修复
- 05更改后重新检查状态
适用场景
- 01诊断拉取请求检查失败
- 02依据日志证据制定修复计划
- 03确认获批更改后的检查结果
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ openai/ skills --skill gh-fix-ci安装后在 Claude Code 中输入/gh-fix-ci确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSE.txtagents/openai.yamlassets/github-small.svgscripts/inspect_pr_checks.py详细介绍
Gh Pr Checks Plan Fix
概述
使用 gh 查找失败的 PR 检查,获取 GitHub Actions 日志以定位可处理的失败,汇总失败片段,然后提出修复计划,并在获得明确批准后实施。
- 如果有面向计划的技能(例如
create-plan),请使用;否则,请直接起草简洁的计划,并在实施前征求批准。
前提条件:先使用标准 GitHub CLI 登录一次(例如运行 gh auth login),然后运行 gh auth status 确认(通常需要 repo 和 workflow 范围)。
输入
repo:仓库内的路径(默认为.)pr:PR 编号或 URL(可选;默认为当前分支的 PR)- 仓库主机的
gh身份验证
快速开始
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"- 如果需要便于机器处理的输出以供汇总,请添加
--json。
工作流
- 验证 gh 身份验证状态。
- 在仓库中运行
gh auth status。 - 如果尚未通过身份验证,请让用户先运行
gh auth login(确保包含 repo 和 workflow 范围),然后再继续。
- 在仓库中运行
- 确定 PR。
- 优先使用当前分支的 PR:
gh pr view --json number,url。 - 如果用户提供了 PR 编号或 URL,请直接使用。
- 优先使用当前分支的 PR:
- 检查失败的检查(仅限 GitHub Actions)。
- 优先使用随附脚本(可处理 gh 字段变更和作业日志回退):
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"- 添加
--json可获取便于机器处理的输出。
- 手动回退方案:
gh pr checks <pr> --json name,state,bucket,link,startedAt,completedAt,workflow- 如果某个字段不受支持,请使用 gh 报告的可用字段重新运行。
- 对于每项失败的检查,从
detailsUrl提取运行 ID,然后运行:gh run view <run_id> --json name,workflowName,conclusion,status,url,event,headBranch,headShagh run view <run_id> --log
- 如果运行日志显示仍在进行中,请直接获取作业日志:
gh api "/repos/<owner>/<repo>/actions/jobs/<job_id>/logs" > "<path>"
- 优先使用随附脚本(可处理 gh 字段变更和作业日志回退):
- 确定非 GitHub Actions 检查的范围。
- 如果
detailsUrl不是 GitHub Actions 运行链接,请将其标记为外部检查,并且只报告 URL。 - 不要尝试 Buildkite 或其他提供商;保持工作流精简。
- 如果
- 向用户汇总失败信息。
- 提供失败检查的名称、运行 URL(如有)以及简洁的日志片段。
- 明确指出缺失的日志。
- 制定计划。
- 使用
create-plan技能起草简洁的计划并征求批准。
- 使用
- 获得批准后实施。
- 执行已批准的计划,汇总差异和测试结果,并询问是否要创建 PR。
- 重新检查状态。
- 完成更改后,建议重新运行相关测试和
gh pr checks以确认结果。
- 完成更改后,建议重新运行相关测试和
随附资源
scripts/inspect_pr_checks.py
获取失败的 PR 检查,拉取 GitHub Actions 日志,并提取失败片段。如果仍有失败项,则以非零状态码退出,因此可用于自动化。
用法示例:
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "123"python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --jsonpython "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40
评论
支持 Markdown