关于 gh-fix-ci
面向开发者的技能,使用 gh 检查拉取请求中失败的 GitHub Actions 检查并提取日志片段,再拟定修复计划。只有获得明确批准后才实施更改。
主要功能
- 01定位失败的 PR 检查
- 02获取 GitHub Actions 日志
- 03概述失败日志片段
- 04拟定需批准的修复计划
- 05实施已批准的更改
- 06重新检查 PR 状态
适用场景
- 01诊断失败的拉取请求
- 02查看可操作的 CI 日志
- 03规划经批准的 CI 修复
- 04更改后确认检查结果
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ composio-community/ awesome-codex-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 日志以找出可处理的失败,总结失败片段,然后提出修复计划并在明确批准后实施。
- 依赖
planskill 来起草和批准修复计划。
前提:确保 gh 已通过认证(例如,先运行一次 gh auth login),然后以提升的权限运行 gh auth status(包含 workflow/repo 权限范围),以便 gh 命令成功执行。如果沙箱阻止 gh auth status,请使用 sandbox_permissions=require_escalated 重新运行。
输入
repo:仓库内的路径(默认.)pr:PR 编号或 URL(可选;默认为当前分支的 PR)- 针对仓库主机的
gh认证
快速开始
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"- 如果需要便于机器处理的输出以进行总结,请添加
--json。
工作流
- 验证 gh 认证。
- 在运行
gh auth login后,在仓库中以提升的权限范围(workflow/repo)运行gh auth status。 - 如果沙箱中的认证状态检查失败,请使用
sandbox_permissions=require_escalated重新运行该命令,以允许网络/钥匙串访问。 - 如果未认证,请要求用户先登录再继续。
- 在运行
- 解析 PR。
- 优先使用当前分支的 PR:
gh pr view --json number,url。 - 如果用户提供了 PR 编号或 URL,请直接使用。
- 优先使用当前分支的 PR:
- 检查失败的检查项(仅限 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中提取 run id 并运行:gh run view <run_id> --json name,workflowName,conclusion,status,url,event,headBranch,headShagh run view <run_id> --log
- 如果运行日志显示仍在进行中,请直接获取作业日志:
gh api "/repos/<owner>/<repo>/actions/jobs/<job_id>/logs" > "<path>"
- 首选:运行捆绑脚本(处理 gh 字段变动和作业日志回退):
- 界定非 GitHub Actions 检查项的范围。
- 如果
detailsUrl不是 GitHub Actions 运行,请将其标记为外部并仅报告 URL。 - 不要尝试 Buildkite 或其他提供商;保持工作流精简。
- 如果
- 为用户总结失败情况。
- 提供失败的检查项名称、运行 URL(如果有)以及简洁的日志片段。
- 明确指出缺失的日志。
- 创建计划。
- 使用
planskill 起草简洁的计划并请求批准。
- 使用
- 批准后实施。
- 应用已批准的计划,总结差异/测试,并询问是否要打开 PR。
- 重新检查状态。
- 更改后,建议重新运行相关测试和
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" --jsonpython "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40
评论
支持 Markdown