GitHubPR检查修复技能Skill gh-fix-ci

这个技能是一个工具,用于使用 GitHub CLI (gh) 来定位、分析和修复 GitHub Pull Request 中的失败检查,特别针对 GitHub Actions。它提供自动化的方法诊断问题、制定修复计划并在批准后实施,帮助开发者提高开发效率和 CI/CD 流程的可靠性。关键词:GitHub Actions、PR 检查、调试、修复、DevOps、CI/CD、自动化工具。

DevOps 0 次安装 0 次浏览 更新于 3/15/2026

name: gh-fix-ci 描述: 当用户要求调试或修复在 GitHub Actions 中运行失败的 GitHub PR 检查时使用;使用 gh 来检查检查和日志,总结失败上下文,草拟修复计划,并在明确批准后实施。将外部提供商(例如 Buildkite)视为超出范围,仅报告详细信息 URL。 metadata: 作者: github.com/openai/skills 版本: ‘1.0.0’

GitHub PR 检查计划修复

概述

使用 gh 定位失败的 PR 检查,获取 GitHub Actions 日志以查找可操作的失败,总结失败片段,然后提出修复计划并在明确批准后实施。

  • 如果有一个面向计划的技能(例如 create-plan)可用,请使用它;否则,在线起草一个简洁的计划,并在实施前请求批准。

前提条件:使用标准的 GitHub CLI 进行一次身份验证(例如,运行 gh auth login),然后通过 gh auth status 确认(通常需要 repo + workflow 范围)。

输入

  • repo: 仓库内的路径(默认 .
  • pr: PR 编号或 URL(可选;默认为当前分支的 PR)
  • gh 对仓库主机的身份验证

快速开始

  • python "<路径到技能>/scripts/inspect_pr_checks.py" --repo "." --pr "<编号或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 "<路径到技能>/scripts/inspect_pr_checks.py" --repo "." --pr "<编号或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/<所有者>/<仓库>/actions/jobs/<作业_id>/logs" > "<路径>"
  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 "<路径到技能>/scripts/inspect_pr_checks.py" --repo "." --pr "123"
  • python "<路径到技能>/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --json
  • python "<路径到技能>/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40