mcpField
G
gh-fix-ci

gh-fix-ci

github.com/mizchi云与 DevOps41669 次安装2 周前更新
代码仓库

关于 gh-fix-ci

gh-fix-ci 是一个使用 GitHub CLI 定位拉取请求失败检查、获取 GitHub Actions 日志并制定修复计划的技能。它会归纳可处理的故障,并在实施更改前等待明确批准。

主要功能

  1. 01解析拉取请求
  2. 02检查失败的状态检查
  3. 03获取 GitHub Actions 日志
  4. 04提取故障摘要
  5. 05实施前制定修复计划

适用场景

  1. 01诊断拉取请求检查失败
  2. 02概述 Actions 故障日志
  3. 03准备经批准的修复计划
  4. 04更改后重新检查 CI

安装

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

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

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

包含的文件

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

LICENSE.txt
README.md
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