mcpField
G
gh-fix-ci

gh-fix-ci

github.com/openaiクラウド・DevOps28.4k11.5k 回インストール18 週間前に更新
リポジトリ

gh-fix-ci について

gh-fix-ciは、プルリクエストで失敗したGitHub Actionsのチェックを調べ、ログを要約して修正計画を提案する開発者向けスキルです。変更は承認後に実施します。

主な機能

  1. 01失敗したPRチェックの特定
  2. 02GitHub Actionsログの取得
  3. 03失敗箇所の短い抜粋
  4. 04承認後の修正実施
  5. 05変更後の状態再確認

活用シーン

  1. 01プルリクエストのチェック失敗の診断
  2. 02ログをもとにした修正計画の作成
  3. 03承認済み変更後のチェック確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/openai/skills --skill gh-fix-ci

インストール後、Claude Code で/gh-fix-ciを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE.txt
agents/
openai.yaml
assets/
github-small.svg
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:リポジトリ内のパス(デフォルトは .)
  • pr:PR 番号または URL(省略可。デフォルトは現在のブランチの PR)
  • リポジトリのホストに対する gh 認証

クイックスタート

  • python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"
  • 要約用に機械可読な出力が必要な場合は、--json を追加します。

ワークフロー

  1. gh の認証を確認します。
    • リポジトリ内で gh auth status を実行します。
    • 未認証の場合は、先に gh auth login を実行し(リポジトリとワークフローのスコープを確保するよう伝えます)、認証するようユーザーに依頼します。
  2. PR を特定します。
    • 現在のブランチの PR を優先します:gh pr view --json number,url
    • ユーザーから PR 番号または URL が提示された場合は、直接使用します。
  3. 失敗したチェックを調査します(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,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 "<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" --json
  • python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40

コメント