mcpField
G
gh-fix-ci

gh-fix-ci

github.com/openai云与 DevOps28.4k11.5k 次安装18 周前更新
代码仓库

关于 gh-fix-ci

gh-fix-ci 是面向开发者的技能,可检查拉取请求中失败的 GitHub Actions 检查、概述日志并提出修复计划;获批后才实施更改。

主要功能

  1. 01查找失败的 PR 检查
  2. 02获取 GitHub Actions 日志
  3. 03提取简短失败片段
  4. 04获批后再实施修复
  5. 05更改后重新检查状态

适用场景

  1. 01诊断拉取请求检查失败
  2. 02依据日志证据制定修复计划
  3. 03确认获批更改后的检查结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/openai/skills --skill gh-fix-ci

安装后在 Claude Code 中输入/gh-fix-ci确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE.txt
agents/
openai.yaml
assets/
github-small.svg
scripts/
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。

工作流

  1. 验证 gh 身份验证状态。
    • 在仓库中运行 gh auth status。
    • 如果尚未通过身份验证,请让用户先运行 gh auth login(确保包含 repo 和 workflow 范围),然后再继续。
  2. 确定 PR。
    • 优先使用当前分支的 PR:gh pr view --json number,url。
    • 如果用户提供了 PR 编号或 URL,请直接使用。
  3. 检查失败的检查(仅限 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,headSha
        • gh run view <run_id> --log
      • 如果运行日志显示仍在进行中,请直接获取作业日志:
        • gh api "/repos/<owner>/<repo>/actions/jobs/<job_id>/logs" > "<path>"
  4. 确定非 GitHub Actions 检查的范围。
    • 如果 detailsUrl 不是 GitHub Actions 运行链接,请将其标记为外部检查,并且只报告 URL。
    • 不要尝试 Buildkite 或其他提供商;保持工作流精简。
  5. 向用户汇总失败信息。
    • 提供失败检查的名称、运行 URL(如有)以及简洁的日志片段。
    • 明确指出缺失的日志。
  6. 制定计划。
    • 使用 create-plan 技能起草简洁的计划并征求批准。
  7. 获得批准后实施。
    • 执行已批准的计划,汇总差异和测试结果,并询问是否要创建 PR。
  8. 重新检查状态。
    • 完成更改后,建议重新运行相关测试和 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" --json
  • python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40

评论

支持 Markdown