gh-fix-ci について
gh-fix-ciは、プルリクエストで失敗したGitHub Actionsのチェックを調べ、ログを要約して修正計画を提案する開発者向けスキルです。変更は承認後に実施します。
主な機能
- 01失敗したPRチェックの特定
- 02GitHub Actionsログの取得
- 03失敗箇所の短い抜粋
- 04承認後の修正実施
- 05変更後の状態再確認
活用シーン
- 01プルリクエストのチェック失敗の診断
- 02ログをもとにした修正計画の作成
- 03承認済み変更後のチェック確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ openai/ skills --skill gh-fix-ciインストール後、Claude Code で/gh-fix-ciを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.txtagents/openai.yamlassets/github-small.svgscripts/inspect_pr_checks.py詳細
Gh Pr Checks Plan Fix
概要
gh を使って失敗した PR チェックを見つけ、GitHub Actions のログから対応が必要な失敗を取得し、失敗箇所の抜粋を要約してから、修正計画を提案し、明示的な承認を得た後に実装します。
create-planなど、計画作成に適したスキルが利用できる場合はそれを使います。利用できない場合は、簡潔な計画をその場で作成し、実装前に承認を求めます。
前提条件:標準の GitHub CLI で一度認証してください(例:gh auth login を実行)。その後、gh auth status で認証を確認します(通常、リポジトリとワークフローのスコープが必要です)。
入力
repo:リポジトリ内のパス(デフォルトは.)pr:PR 番号または URL(省略可。デフォルトは現在のブランチの PR)- リポジトリのホストに対する
gh認証
クイックスタート
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"- 要約用に機械可読な出力が必要な場合は、
--jsonを追加します。
ワークフロー
- 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 が報告する利用可能なフィールドを指定して再実行します。
- 失敗したチェックごとに、
detailsUrlから実行 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(ある場合)、簡潔なログの抜粋を提示します。
- ログがない場合は、その旨を明示します。
- 計画を作成します。
create-planスキルを使って簡潔な計画を作成し、承認を求めます。
- 承認後に実装します。
- 承認された計画を適用し、差分とテストの概要を伝え、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 対応