loop-on-ci について
loop-on-ciは、必須チェックが通るまでプルリクエストのCI失敗に対処するスキルです。`gh pr checks`でPRに紐づく全チェックを確認・監視し、プッシュのたびに再確認します。
主な機能
- 01ブランチに対応するプルリクエストの特定
- 02PRに紐づく全チェックの確認
- 03失敗時に停止する待機中チェックの監視
- 04失敗の診断とプッシュ後の再確認
- 05CI状況、修正内容、PR URLの報告
活用シーン
- 01プルリクエストのマージ可否の確認
- 02必須チェックの失敗箇所の特定と修正
- 03修正プッシュ後の保留チェックの監視
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ poteto/ plugins --skill loop-on-ciインストール後、Claude Code で/loop-on-ciを入力して読み込まれたか確認します。
詳細
CI を繰り返し実行する
トリガー
ブランチまたはプルリクエストを監視し、必要なチェックがすべて成功するまで CI の失敗に対処する必要があります。
正確な情報源として gh pr checks を使用してください。PR に関連付けられたすべてのチェックが含まれますが、gh run list が対象とするのは GitHub Actions のみです。
ワークフロー
- 現在のブランチに対応する PR を特定します。
- 待機する前に、現在の PR チェックを確認します。
- すでに失敗しているチェックがある場合は、まずその失敗を診断します。
- チェックが保留中の場合は、
gh pr checks --watch --fail-fastで監視します。 - プッシュのたびに PR のチェック全体を再確認し、すべて成功するまで繰り返します。
コマンド
# Resolve the active PR
gh pr view --json number,url,headRefName
# Inspect all attached checks
gh pr checks --json name,bucket,state,workflow,link
# Watch pending checks and fail fast
gh pr checks --watch --fail-fast
# GitHub Actions logs, when the failing check links to a GHA run
gh run view <run-id> --log-failed
ガードレール
- 可能な限り、各修正を単一の失敗原因に限定します。
- 進行を強制するためにフックを回避(
--no-verify)しないでください。 - 失敗が明らかに PR と無関係で、main では修正済みと思われる場合は、PR に無関係な修正を追加するのではなく、最新の main をマージします。
- 失敗が不安定な場合は、一度だけ再試行し、不安定さを示す根拠を報告します。
- プッシュのたびに
gh pr checks --json name,bucket,state,workflow,linkを再実行します。チェックの構成は変わることがあります。
出力
- 現在の CI ステータス
- 失敗の概要と適用した修正
- チェックがすべて成功した後の PR URL
コメント
Markdown 対応