gha について
ghaは、gh CLIでGitHub Actionsの実行URLを調査するスキルです。実際の失敗要因の特定、ジョブ単位の履歴確認、修正候補の評価に重点を置きます。
主な機能
- 01ワークフローとジョブのログ分析
- 02失敗したジョブの履歴確認
- 03再発状況と成功率の評価
- 04原因となるコミットの検証
- 05修正を含むオープンPRの検索
活用シーン
- 01Actions実行が終了コード1になった原因の特定
- 02特定ジョブの失敗が再発しているかの判定
- 03継続的な不具合につながるコミットの特定
- 04オープンPRに修正があるかの確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ykdojo/ claude-code-tips --skill ghaインストール後、Claude Code で/ghaを入力して読み込まれたか確認します。
詳細
この GitHub Actions の URL を調査してください:$ARGUMENTS
gh CLI を使用して、このワークフローの実行を分析してください。調査では、次の点を確認してください。
-
基本情報を取得し、実際の失敗原因を特定する:
- 失敗したワークフロー/ジョブ、失敗した日時、対象コミットを確認する
- 重要:ログ全体を注意深く読み、終了コード 1 の具体的な原因を特定する
- 警告や致命的でないエラーと、実際の失敗を区別する
- 「failing:」「fatal:」のようなパターンや、終了コード 1 を決定するスクリプトのロジックを探す
- 「non-fatal」と「fatal」の両方のエラーがある場合は、実際に失敗を引き起こしたものに注目する
-
不安定さを確認する:同じ失敗したジョブの過去 10~20 回の実行を確認する
- 重要:ワークフローに複数のジョブがある場合は、ワークフロー全体ではなく、失敗した特定のジョブの履歴を確認する
gh run list --workflow=<workflow-name>で実行 ID を取得し、次にgh run view <run-id> --json jobsで特定のジョブのステータスを確認する- これは一度限りの失敗か、それともこの特定のジョブで繰り返し発生している問題か?
- このジョブの最近の成功率はどれくらいか?
- このジョブが最後に成功したのはいつか?
-
問題を引き起こしたコミットを特定する(特定のジョブで失敗が続いている場合):
- この特定のジョブが最初に失敗した実行と、最後に成功した実行を確認する
- 失敗を引き起こしたコミットを特定する
- 次の点を確認して検証する:このジョブはそのコミット以降のすべての実行で失敗し、それ以前のすべての実行で成功しているか?
- 検証できた場合は、問題を引き起こしたコミットを高い確信度で報告する
-
根本原因:ログ、履歴、問題を引き起こしたコミットに基づき、考えられる原因を特定する
- 実際に失敗を引き起こしたものに注目する(見つかったエラーすべてではない)
- 仮説をログと失敗判定のロジックに照らして検証する
-
既存の修正 PR を確認する:この問題にすでに対処している可能性のあるオープン PR を検索する
- 関連するエラーメッセージやファイル名を使って、
gh pr list --state open --search "<keywords>"を実行する - 失敗したファイル/ワークフローを変更しているオープン PR があるか確認する
- 修正 PR が見つかった場合は、レポートに記載し、推奨事項のセクションは省略する
- 関連するエラーメッセージやファイル名を使って、
次の内容を含む最終レポートを作成してください。
- 失敗の概要(終了コード 1 を具体的に引き起こしたもの)
- 不安定さの評価(一度限りか繰り返しか、成功率)
- 問題を引き起こしたコミット(特定して検証できた場合)
- 根本原因の分析(実際の失敗要因に基づく)
- 既存の修正 PR(見つかった場合は PR 番号とリンクを含める)
- 推奨事項(修正 PR がすでにある場合は省略)
コメント
Markdown 対応