mcpField
O
openai-gh-fix-ci

openai-gh-fix-ci

github.com/trailofbitsテスト・品質52275 回インストール15 週間前に更新
リポジトリ

openai-gh-fix-ci について

GitHub のプルリクエストで失敗したチェックを調べるコーディングエージェント向けスキルです。GitHub Actions のログを取得して失敗内容を要約し、修正前に計画の承認を求めます。

主な機能

  1. 01失敗した PR チェックの調査
  2. 02GitHub Actions ログの取得
  3. 03失敗箇所の要約
  4. 04修正前の計画承認
  5. 05変更後の状態再確認

活用シーン

  1. 01失敗したプルリクエストの原因調査
  2. 02CI ログのエラー確認
  3. 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 を追加します。

ワークフロー

  1. gh の認証を確認します。
    • リポジトリ内で gh auth status を実行します。
    • 未認証の場合は、続行する前に gh auth login を実行するようユーザーに依頼します(repo および workflow スコープが有効であることを確認してください)。
  2. PR を特定します。
    • 現在のブランチの PR を優先します:gh pr view --json number,url。
    • ユーザーが PR 番号または URL を指定した場合は、それを直接使用します。
  3. 失敗しているチェックを調査します(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,headSha
        • gh run view <run_id> --log
      • 実行ログに処理中と表示される場合は、ジョブログを直接取得します。
        • gh api "/repos/<owner>/<repo>/actions/jobs/<job_id>/logs" > "<path>"
  4. GitHub Actions 以外のチェックの範囲を定めます。
    • detailsUrl が GitHub Actions の実行先でない場合は、外部のチェックとしてラベル付けし、URL のみを報告します。
    • Buildkite やその他のプロバイダーは試さず、ワークフローを簡潔に保ちます。
  5. 失敗をユーザー向けに要約します。
    • 失敗したチェック名、実行 URL(ある場合)、簡潔なログ抜粋を提示します。
    • ログがない場合は、その旨を明記します。
  6. 計画を作成します。
    • create-plan スキルを使って簡潔な計画を作成し、承認を求めます。
  7. 承認後に実装します。
    • 承認済みの計画を適用し、差分とテストを要約して、PR を作成するか尋ねます。
  8. 状態を再確認します。
    • 変更後、関連するテストと 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" --json
  • python "{baseDir}/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40

使用する場合

使用しない場合

コメント