mcpField
G
gh-fix-ci

gh-fix-ci

github.com/gannonhクラウド・DevOps235 回インストール8 週間前に更新
リポジトリ

gh-fix-ci について

gh-fix-ciは、ghで失敗したGitHub Actionsのチェックを調べ、ログを要約して修正と検証を進める開発者向けスキルです。失敗箇所の抜粋を取り出すスクリプトも含みます。

主な機能

  1. 01失敗したPRチェックの特定
  2. 02GitHub Actionsログの取得
  3. 03失敗の根拠の要約
  4. 04修正の計画・実施・検証
  5. 05付属スクリプトによるログ抜粋

活用シーン

  1. 01失敗したプルリクエストの診断
  2. 02CIログから対処可能なエラーを特定
  3. 03コード変更後のCI再確認

インストール

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

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

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

同梱ファイル

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

LICENSE.txt
agents/
openai.yaml
scripts/
inspect_pr_checks.py

詳細

概要

gh を使って失敗した PR チェックを特定し、GitHub Actions のログを取得して対処可能な失敗を確認し、失敗を要約して修正を実装します。

入力

  • repo:リポジトリ内のパス(デフォルトは .)
  • pr:PR 番号または URL(任意。デフォルトは現在のブランチの PR)
  • リポジトリのホストに対する gh 認証

クイックスタート

  • python3 "<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 のフィールドの変更やジョブログへのフォールバックに対応しています)。
      • python3 "<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. 計画を実装します。
    • 計画を適用し、差分とテストを要約して、変更をコミットしてプッシュします。
  8. ステータスを再確認します。
    • 変更後、関連するテストと gh pr checks を再実行し、確認します。
    • 新たな失敗または既存の失敗が残っている場合は、CI が通過するまでワークフローを繰り返します。
  9. 結果を要約します。
    • CI チェックが通過したら、修正内容を要約し、マージまたはユーザーのワークフローにおける次の手順に進む前に、ユーザーの確認を求めます。

同梱リソース

/scripts/inspect_pr_checks.py

失敗した PR チェックを取得し、GitHub Actions のログを読み込み、失敗箇所の抜粋を抽出します。失敗が残っている場合はゼロ以外のコードで終了するため、自動化でも使用できます。

使用例:

  • python3 "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "123"
  • python3 "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --json
  • python3 "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40

コメント