openai-gh-fix-ci について
GitHub のプルリクエストで失敗したチェックを調べるコーディングエージェント向けスキルです。GitHub Actions のログを取得して失敗内容を要約し、修正前に計画の承認を求めます。
主な機能
- 01失敗した PR チェックの調査
- 02GitHub Actions ログの取得
- 03失敗箇所の要約
- 04修正前の計画承認
- 05変更後の状態再確認
活用シーン
- 01失敗したプルリクエストの原因調査
- 02CI ログのエラー確認
- 03承認済みコード修正の計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ trailofbits/ skills-curated --skill openai-gh-fix-ciインストール後、Claude Code で/openai-gh-fix-ciを入力して読み込まれたか確認します。
同梱ファイルscripts/inspect_pr_checks.py
詳細
Gh Pr Checks Plan Fix
概要
gh を使って失敗している PR チェックを特定し、対処可能な失敗について GitHub Actions のログを取得して、失敗箇所の抜粋を要約します。その後、修正計画を提案し、明示的な承認を得てから実装します。
- 計画作成用のスキル(例:
create-plan)が利用可能な場合はそれを使用してください。利用できない場合は、簡潔な計画をその場で作成し、実装前に承認を求めてください。
前提条件:標準の GitHub CLI で一度認証します(例:gh auth login を実行)。その後、gh auth status で確認します(通常、repo および workflow スコープが必要です)。
入力
repo:リポジトリ内のパス(デフォルトは.)pr:PR 番号または URL(任意。デフォルトは現在のブランチの PR)- リポジトリのホストに対する
gh認証
クイックスタート
python "{baseDir}/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"- 要約用に機械可読な出力が必要な場合は、
--jsonを追加します。
ワークフロー
- gh の認証を確認します。
- リポジトリ内で
gh auth statusを実行します。 - 未認証の場合は、続行する前に
gh auth loginを実行するようユーザーに依頼します(repo および workflow スコープが有効であることを確認してください)。
- リポジトリ内で
- PR を特定します。
- 現在のブランチの PR を優先します:
gh pr view --json number,url。 - ユーザーが PR 番号または URL を指定した場合は、それを直接使用します。
- 現在のブランチの PR を優先します:
- 失敗しているチェックを調査します(GitHub Actions のみ)。
- 推奨:同梱スクリプトを実行します(gh のフィールド変更とジョブログへのフォールバックに対応しています)。
python "{baseDir}/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 "{baseDir}/scripts/inspect_pr_checks.py" --repo "." --pr "123"python "{baseDir}/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --jsonpython "{baseDir}/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40
使用する場合
使用しない場合
コメント
Markdown 対応