mcpField

Fix CI Until Green

おすすめ手動実行

Fix CI Until Green について

現在のブランチで失敗している CI 実行に対処する、手動起動のループです。各ラウンドで直近の失敗した実行を取得して原因を特定し、修正をプッシュしてから、最新の実行の結論を確認します。最大 8 ラウンドで終了します。

主な機能

  1. 01手動トリガー、最大 8 ラウンド
  2. 02gh run list が返す conclusion フィールドで成否を判定
  3. 03毎ラウンド、直近の失敗した実行から着手
  4. 04Cursor と Claude Code に対応

活用シーン

  1. 01依存関係の更新後にブランチの CI が失敗したとき
  2. 02リファクタリング後にビルドや lint のステップが失敗したとき
  3. 03メインブランチのマージ後に新たなパイプラインエラーが出たとき
目標
現在のブランチの最新の CI 実行が成功している。
終了条件
最新の実行の conclusion が success になった時点、または 8 ラウンドで成功しなかった時点で終了します。
各ラウンドの間に実行
gh run list --branch $(git branch --show-current) --limit 1 --json conclusion -q '.[0].conclusion'

起動プロンプト

Cursor / Claude Code に貼り付けて実行すると、終了条件を満たすまでエージェントが以下の手順を繰り返します。

prompt.md
「Fix CI Until Green」ループを開始します。
目標:現在のブランチの最新の CI 実行が成功している。
最大ラウンド数:8。
ステップ 1:失敗した実行を取得 — 現在のブランチで直近に失敗した CI 実行を一覧し、どのジョブとステップが失敗したかを確認します。 `gh run list --branch $(git branch --show-current) --status failure --limit 1`
ステップ 2:原因を特定して修正 — 失敗ログを読んで根本原因を突き止め、ローカルでコードを修正します。対象はその失敗に関係する箇所だけです。
ステップ 3:変更をプッシュ — 修正をコミットして現在のブランチにプッシュし、新しい CI 実行の完了を待ちます。
ステップ 4:プッシュ後に確認 — 最新の実行の conclusion を確認します。success ならループを終了し、そうでなければ次のラウンドに進みます。 `gh run list --branch $(git branch --show-current) --limit 1 --json conclusion -q '.[0].conclusion'`
各ラウンドの間に実行:`gh run list --branch $(git branch --show-current) --limit 1 --json conclusion -q '.[0].conclusion'`
終了条件:最新の実行の conclusion が success になった時点、または 8 ラウンドで成功しなかった時点で終了します。

手順

各ラウンドは順番に実行され、終了条件を満たさなければ次のラウンドへ進みます(最大 8 ラウンド)。

01
失敗した実行を取得

現在のブランチで直近に失敗した CI 実行を一覧し、どのジョブとステップが失敗したかを確認します。

$gh run list --branch $(git branch --show-current) --status failure --limit 1
02
原因を特定して修正

失敗ログを読んで根本原因を突き止め、ローカルでコードを修正します。対象はその失敗に関係する箇所だけです。

03
変更をプッシュ

修正をコミットして現在のブランチにプッシュし、新しい CI 実行の完了を待ちます。

04
プッシュ後に確認

最新の実行の conclusion を確認します。success ならループを終了し、そうでなければ次のラウンドに進みます。

$gh run list --branch $(git branch --show-current) --limit 1 --json conclusion -q '.[0].conclusion'
未達 → 次のラウンド条件を満たせば終了

対応エージェント

この Loop をそのまま実行できるコーディングエージェントです。

Cursor
Claude Code

コメント