mcpField
G
gh-fix-ci

gh-fix-ci

github.com/tech-leads-clubクラウド・DevOps7.1k206 回インストール今日更新
リポジトリ

gh-fix-ci について

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

主な機能

  1. 01プルリクエストの失敗チェック特定
  2. 02GitHub Actions ログの取得
  3. 03失敗箇所の抽出と要約
  4. 04計画の提示と承認依頼
  5. 05承認後の変更実施と再確認

活用シーン

  1. 01ブランチのプルリクエストで失敗したチェックの調査
  2. 02Actions ログからエラー内容を特定
  3. 03コード変更前に修正計画を確認
  4. 04変更後のプルリクエスト状態の再確認

インストール

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

$npx skills add https://github.com/tech-leads-club/agent-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 のログから対処可能な失敗を取得して、該当箇所を要約したうえで、修正計画を提案し、明示的な承認を得てから実装します。

  • 計画作成用のスキル(たとえば create-plan)が利用できる場合はそれを使い、利用できない場合は簡潔な計画をその場で作成し、実装前に承認を求めます。

前提条件:標準の GitHub CLI で一度認証します(たとえば gh auth login を実行)。次に gh auth status で確認します(通常、repo と workflow のスコープが必要です)。

入力

  • 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 を実行するようユーザーに依頼します(repo と workflow のスコープが含まれていることを確認してください)。
  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 でない場合は、外部チェックとしてラベル付けし、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

コメント