mcpField
G
gh-fix-ci

gh-fix-ci

github.com/tech-leads-club云与 DevOps7.1k206 次安装今天更新
代码仓库

关于 gh-fix-ci

gh-fix-ci 是通过 GitHub CLI 检查拉取请求失败状态并提取 GitHub Actions 日志的技能,供排查 CI 问题的开发者使用。它先总结失败信息并拟定修复计划,获得明确批准后才实施更改。

主要功能

  1. 01定位拉取请求失败检查
  2. 02获取 GitHub Actions 日志
  3. 03提取并总结失败片段
  4. 04先拟定计划并请求批准
  5. 05批准后实施并建议复查

适用场景

  1. 01排查当前分支拉取请求的失败检查
  2. 02从 Actions 日志中定位错误信息
  3. 03审阅修复计划后再修改代码
  4. 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。

工作流

  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