SuperAPI AI 工具集

gh-fix-ci

测试与质量

查看项目

更新于 10-16 01:16

技能介绍

用途:当用户要求调试或修复在 GitHub Actions 中运行的失败 PR 检查时使用该技能。它通过 gh 定位失败的 PR 检查、拉取 GitHub Actions 日志、归纳失败片段,然后提出修复计划并在明确批准后实施。

前置条件:先完成一次标准 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 auth status 验证认证,未认证则提示用户先 gh auth login。2. 解析 PR,优先使用当前分支 PR(gh pr view --json number,url),用户提供编号或 URL 则直接使用。3. 检查失败的检查(仅 GitHub Actions):优先运行自带脚本(可处理 gh 字段变化和 job 日志回退);手动回退可用 gh pr checks <pr> --json name,state,bucket,link,startedAt,completedAt,workflow,若字段被拒则按 gh 报告的可用字段重试;对每个失败检查,从 detailsUrl 提取 run 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" 直接获取 job 日志。4. 对非 GitHub Actions 检查,若 detailsUrl 不是 Actions 运行则标记为外部并只报告 URL,不尝试其他提供方。5. 向用户总结失败:失败检查名称、run URL(如有)和简明日志片段,缺失日志要明确指出。6. 制定计划:使用 create-plan 技能起草简洁计划并请求批准,若无该技能则内联起草。7. 批准后实施,总结改动与测试,并询问是否开启 PR。8. 重新检查状态:建议重跑相关测试和 gh pr checks 确认。

限制:仅覆盖 GitHub Actions 检查;非 Actions 检查只报 URL;需预先完成 gh 认证;实施前必须获得明确批准。