gh-fix-ci について
gh-fix-ciは、ghで失敗したGitHub Actionsのチェックを調べ、ログを要約して修正と検証を進める開発者向けスキルです。失敗箇所の抜粋を取り出すスクリプトも含みます。
主な機能
- 01失敗したPRチェックの特定
- 02GitHub Actionsログの取得
- 03失敗の根拠の要約
- 04修正の計画・実施・検証
- 05付属スクリプトによるログ抜粋
活用シーン
- 01失敗したプルリクエストの診断
- 02CIログから対処可能なエラーを特定
- 03コード変更後のCI再確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ gannonh/ skills --skill gh-fix-ciインストール後、Claude Code で/gh-fix-ciを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.txtagents/openai.yamlscripts/inspect_pr_checks.py詳細
概要
gh を使って失敗した PR チェックを特定し、GitHub Actions のログを取得して対処可能な失敗を確認し、失敗を要約して修正を実装します。
入力
repo:リポジトリ内のパス(デフォルトは.)pr:PR 番号または URL(任意。デフォルトは現在のブランチの PR)- リポジトリのホストに対する
gh認証
クイックスタート
python3 "<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 のフィールドの変更やジョブログへのフォールバックに対応しています)。
python3 "<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 でない場合は、外部チェックとしてラベルを付け、URL のみを報告します。- Buildkite やその他のプロバイダーは調査しません。ワークフローを簡潔に保ちます。
- 失敗を要約します。
- 失敗したチェック名、実行 URL(ある場合)、簡潔なログ抜粋を提示します。
- ログがない場合は、その旨を明記します。
- 計画を作成します。
create-planスキルを使って簡潔な計画を作成します。
- 計画を実装します。
- 計画を適用し、差分とテストを要約して、変更をコミットしてプッシュします。
- ステータスを再確認します。
- 変更後、関連するテストと
gh pr checksを再実行し、確認します。 - 新たな失敗または既存の失敗が残っている場合は、CI が通過するまでワークフローを繰り返します。
- 変更後、関連するテストと
- 結果を要約します。
- CI チェックが通過したら、修正内容を要約し、マージまたはユーザーのワークフローにおける次の手順に進む前に、ユーザーの確認を求めます。
同梱リソース
/scripts/inspect_pr_checks.py
失敗した PR チェックを取得し、GitHub Actions のログを読み込み、失敗箇所の抜粋を抽出します。失敗が残っている場合はゼロ以外のコードで終了するため、自動化でも使用できます。
使用例:
python3 "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "123"python3 "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --jsonpython3 "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40
コメント
Markdown 対応