关于 gh-fix-ci
gh-fix-ci 是通过 GitHub CLI 检查拉取请求失败状态并提取 GitHub Actions 日志的技能,供排查 CI 问题的开发者使用。它先总结失败信息并拟定修复计划,获得明确批准后才实施更改。
主要功能
- 01定位拉取请求失败检查
- 02获取 GitHub Actions 日志
- 03提取并总结失败片段
- 04先拟定计划并请求批准
- 05批准后实施并建议复查
适用场景
- 01排查当前分支拉取请求的失败检查
- 02从 Actions 日志中定位错误信息
- 03审阅修复计划后再修改代码
- 04更改后重新检查拉取请求状态
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tech-leads-club/ agent-skills --skill gh-fix-ci安装后在 Claude Code 中输入/gh-fix-ci确认已加载。
附带文件LICENSE.txtscripts/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