gh-fix-ci
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseGh Pr Checks Plan Fix
Gh PR检查修复计划
Overview
概述
Use gh to locate failing PR checks, fetch GitHub Actions logs for actionable failures, summarize the failure snippet, then propose a fix plan and implement after explicit approval.
- If a plan-oriented skill (for example ) is available, use it; otherwise draft a concise plan inline and request approval before implementing.
create-plan
Prereq: authenticate with the standard GitHub CLI once (for example, run ), then confirm with (repo + workflow scopes are typically required).
gh auth logingh auth status使用gh定位失败的PR检查,获取GitHub Actions日志以找出可操作的失败点,总结失败片段,然后提出修复计划并在获得明确批准后实施。
- 如果有面向计划的技能(例如)可用,请使用该技能;否则在本地起草简洁的计划,并在实施前请求批准。
create-plan
前置要求:先通过标准GitHub CLI完成身份验证(例如运行),然后通过确认(通常需要仓库和工作流权限)。
gh auth logingh auth statusInputs
输入参数
- : path inside the repo (default
repo). - : PR number or URL (optional; defaults to current branch PR)
pr - authentication for the repo host
gh
- :仓库内的路径(默认值为
repo). - :PR编号或URL(可选;默认为当前分支对应的PR)
pr - 针对仓库托管平台的身份验证
gh
Quick start
快速开始
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"- Add if you want machine-friendly output for summarization.
--json
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"- 如果需要用于总结的机器友好型输出,请添加参数。
--json
Workflow
工作流程
- Verify gh authentication.
- Run in the repo.
gh auth status - If unauthenticated, ask the user to run (ensuring repo + workflow scopes) before proceeding.
gh auth login
- Run
- Resolve the PR.
- Prefer the current branch PR: .
gh pr view --json number,url - If the user provides a PR number or URL, use that directly.
- Prefer the current branch PR:
- Inspect failing checks (GitHub Actions only).
- Preferred: run the bundled script (handles gh field drift and job-log fallbacks):
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"- Add for machine-friendly output.
--json
- Manual fallback:
gh pr checks <pr> --json name,state,bucket,link,startedAt,completedAt,workflow- If a field is rejected, rerun with the available fields reported by .
gh
- If a field is rejected, rerun with the available fields reported by
- For each failing check, extract the run id from and run:
detailsUrlgh run view <run_id> --json name,workflowName,conclusion,status,url,event,headBranch,headShagh run view <run_id> --log
- If the run log says it is still in progress, fetch job logs directly:
gh api "/repos/<owner>/<repo>/actions/jobs/<job_id>/logs" > "<path>"
- Preferred: run the bundled script (handles gh field drift and job-log fallbacks):
- Scope non-GitHub Actions checks.
- If is not a GitHub Actions run, label it as external and only report the URL.
detailsUrl - Do not attempt Buildkite or other providers; keep the workflow lean.
- If
- Summarize failures for the user.
- Provide the failing check name, run URL (if any), and a concise log snippet.
- Call out missing logs explicitly.
- Create a plan.
- Use the skill to draft a concise plan and request approval.
create-plan
- Use the
- Implement after approval.
- Apply the approved plan, summarize diffs/tests, and ask about opening a PR.
- Recheck status.
- After changes, suggest re-running the relevant tests and to confirm.
gh pr checks
- After changes, suggest re-running the relevant tests and
- 验证gh身份验证。
- 在仓库中运行。
gh auth status - 如果未通过身份验证,请要求用户先运行(确保获取仓库和工作流权限),然后再继续。
gh auth login
- 在仓库中运行
- 确定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
- 如果某个字段被拒绝,使用
- 对于每个失败的检查任务,从中提取运行ID,然后运行:
detailsUrlgh 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检查任务的范围。
- 如果不是GitHub Actions的运行链接,则将其标记为外部服务,仅报告该URL。
detailsUrl - 不要尝试处理Buildkite或其他提供商的任务,保持工作流程简洁。
- 如果
- 为用户总结失败信息。
- 提供失败的检查任务名称、运行URL(如有)以及简洁的日志片段。
- 明确指出缺失的日志。
- 创建修复计划。
- 使用技能起草简洁的计划并请求批准。
create-plan
- 使用
- 获得批准后实施。
- 应用已批准的计划,总结差异/测试情况,并询问是否要发起PR。
- 重新检查状态。
- 更改后,建议重新运行相关测试并使用确认修复效果。
gh pr checks
- 更改后,建议重新运行相关测试并使用
Bundled Resources
内置资源
scripts/inspect_pr_checks.py
scripts/inspect_pr_checks.py
Fetch failing PR checks, pull GitHub Actions logs, and extract a failure snippet. Exits non-zero when failures remain so it can be used in automation.
Usage examples:
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
获取失败的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