pr-monitor

star 13

Monitor a GitHub PR for CI failures and review comments, then automatically fix issues. Use this skill when the user wants to watch a PR, fix CI, respond to review comments, or automate PR maintenance. Triggers on "PR監視", "PRを見て", "CIが落ちた", "レビュー対応", "pr monitor", "watch pr", "fix ci", or "pr fix".

hiroppy By hiroppy schedule Updated 5/15/2026

name: pr-monitor description: Monitor a GitHub PR for CI failures and review comments, then automatically fix issues. Use this skill when the user wants to watch a PR, fix CI, respond to review comments, or automate PR maintenance. Triggers on "PR監視", "PRを見て", "CIが落ちた", "レビュー対応", "pr monitor", "watch pr", "fix ci", or "pr fix".

PR Monitor

GitHub PRのCIステータスとレビューコメントを監視し、自動で修正・対応するスキル。

前提

  • gh CLIが認証済みであること
  • 対象リポジトリのローカルクローン内で実行すること

ワークフロー

1. PR特定

PRの特定方法(優先順位):

  • ユーザーがPR番号を指定した場合はそれを使う
  • 指定がなければ現在のブランチに紐づくPRを gh pr view --json number で取得

2. CI監視と修正

gh pr checks <PR番号> --json name,state,description,link

failedなcheckがある場合:

  1. ログ取得: gh run view <run-id> --log-failed でエラーログを取得
  2. 原因分析: エラーメッセージからlint/format/build/testのどれが失敗したか判別
  3. 修正: コードを読み、原因を特定して修正。修正は最小限に留める
  4. 検証: ローカルで同等のコマンドを実行して修正を確認(可能な場合)
  5. コミット&プッシュ: 修正をコミットしてpush

コミットメッセージは fix: <何を修正したか> の形式で簡潔に。

push前にローカルで該当するlint/format/build/testを実行できる場合は、必ず先にローカルで通してからpushする。ローカル実行ができない場合は、その理由をユーザーへの報告に含める。

CIが全て通るまでこのループを繰り返す。ただし同じエラーが3回連続で解消しない場合は、ユーザーに報告して停止する。

3. レビューコメント対応

gh api repos/{owner}/{repo}/pulls/<PR番号>/comments --jq '.[] | select(.in_reply_to_id == null)'

未対応のレビューコメント(エージェントがまだ返信していないスレッド)を検出する。

各コメントに対して:

  1. コンテキスト理解: 指摘されたファイルと行を読み、周辺コードを把握
  2. 指摘の評価: 以下の観点で指摘が正当かを判断
    • 正確性: コードにバグや誤りがあるか
    • 設計: より良い設計パターンがあるか、責務の分離は適切か
    • バグ: エッジケースやエラーハンドリングの漏れがないか
  3. 対応を決定:

指摘が正しく、修正方針に自信がある場合

  • コードを修正してコミット&プッシュ
  • push前にローカルで該当するlint/format/build/testを実行できる場合は、必ず先にローカルで通す

指摘が正しいが、修正方針に自信がない場合

  • pushせず、ユーザーに方針を確認する
  • 何が不明確か、どういう選択肢があるかを提示する

指摘が正しくない場合

  • 技術的な根拠を添えて、なぜ現状の実装が妥当かをスレッドに返信
  • 攻撃的にならず、建設的に。コードや仕様を引用して具体的に説明する
  • 判断に自信がない場合(60%未満)は、その旨も正直に伝えて議論を促す

4. 報告

1回の実行で行った対応をまとめてユーザーに報告:

  • CI: 修正した内容と結果
  • レビュー: 対応したコメント数、修正/反論の内訳
  • 未解決: 自動対応できなかった項目

継続監視

ユーザーが継続監視を求めている場合は、利用中の環境で利用できるループ機能やスケジューラを使い、ワークフロー(1〜4)を一定間隔で再実行する。

  • デフォルトの間隔は5分
  • 重複実行を避けるため、既存の監視ジョブやループがある場合は再登録しない
  • ユーザーが「1回だけ」「ループ不要」と指示した場合は継続監視を設定しない
  • 継続監視を設定した場合は、停止方法をユーザーに伝える

注意事項

  • force pushはしない。常に新しいコミットで修正する
  • push前にローカルで確認可能な検証コマンドがある場合は、必ずローカルで通してからpushする
  • レビュアーとの議論が平行線になった場合(同じスレッドで2往復以上)は、ユーザーに判断を委ねる
  • セキュリティに関わる変更(認証、暗号化、権限周り)は自動修正せず報告のみ
  • 既存のコードスタイルやプロジェクトの規約に従う
Install via CLI
npx skills add https://github.com/hiroppy/dotfiles --skill pr-monitor
Repository Details
star Stars 13
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator