gh-fix-ci について
開発者向けのスキルです。gh でプルリクエストの失敗した GitHub Actions チェックを調べ、ログ抜粋を集めて修正計画を作成します。明示的な承認後にのみ変更を実施します。
主な機能
- 01失敗した PR チェックの特定
- 02GitHub Actions ログの取得
- 03失敗箇所の要約
- 04承認を求める修正計画
- 05承認済み変更の実施
- 06PR 状態の再確認
活用シーン
- 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 のログを取得して、失敗箇所の抜粋を要約します。その後、修正計画を提案し、明示的な承認を得てから実装します。
- 修正計画の作成と承認には
planスキルを使用します。
前提条件: gh が認証済みであることを確認してください(例: 一度 gh auth login を実行します)。その後、gh コマンドが成功するように、エスカレートされた権限(workflow/repo スコープを含む)で gh auth status を実行します。サンドボックスによって 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(ある場合)、および簡潔なログの抜粋を示します。
- ログが欠落している場合は、その旨を明示します。
- 計画を作成します。
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 対応