mcpField
D
ds-watch-pr

ds-watch-pr

github.com/aicodeking開発150269 回インストール6 日前に更新
リポジトリ

ds-watch-pr について

ds-watch-prは、チェックとレビューの条件が満たされるまで単一のPRを監視するスキルです。待機条件を設定できるPythonウォッチャーを使い、失敗、コメント、ブランチ更新への対応手順も定めています。

主な機能

  1. 01PRのチェック、コメント、レビューを監視
  2. 02準備完了またはチェック成功まで待機
  3. 03新たな失敗やレビュー指摘に対応
  4. 04ブランチが遅れている場合にリベース
  5. 05設定可能なPythonウォッチャーを使用

活用シーン

  1. 01チェック実行中のPRを追跡
  2. 02新しいレビューコメントやチェック失敗に対応
  3. 03準備完了の報告前にブランチの最新状態を確認

インストール

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

$npx skills add https://github.com/aicodeking/deepseek-stack --skill ds-watch-pr

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

同梱ファイルscripts/watch_pr.py

詳細

PR がグリーンになり、レビューされるまで、できるだけ余計な通知を出さずに進めます。

ウォッチャーは、このスキルのフォルダー内にある scripts/watch_pr.py です。絶対パスで呼び出してください。python3 と、ログイン済みの gh が必要です。

python3 <skill>/scripts/watch_pr.py <pr> [--repo owner/name] [--until ready|green|any] [--interval 30] [--max-minutes 60]

新しいチェックの失敗、完了したチェック実行、コメント、レビューごとに 1 行を出力し、最後に stop: 行を出力します。終了コード 0 は条件を満たしたか、PR がマージされたことを示します。終了コード 1 は対応が必要であることを示します。終了コード 2 は入力が不正であることを示します。ready はチェックがすべてグリーンになり、ブランチがマージ可能で、変更要求がない状態になるまで待機します。green はチェックだけが完了するまで待機します。

手順

  1. すでに発生しているものに対応します。失敗したチェックと、最後のプッシュ以降のコメントを確認します。
  2. ウォッチャーを起動します。ハーネスにバックグラウンド実行ツールや監視ツールがあれば、それを使って 1 行ごとに通知を受け取ります。なければ、長時間のフォアグラウンドコマンドとして実行します。
  3. イベントごとに、コードを変更する前に該当箇所を読みます。指摘が妥当か判断します。
  4. 実際のバグや CI の失敗の場合は、最小限の修正を行い、失敗したチェックをローカルで実行してからプッシュし、ウォッチャーを再起動します。
  5. 誤検知や対象範囲外の要望の場合は、ds-pr-comments を通じて簡潔な理由を返信し、スレッドを解決して、フォローアップ項目として記載します。
  6. 実際のテスト失敗とインフラの一時的な失敗を区別します。一時的な失敗と判断する前に、1 回再実行します。
  7. ベースブランチが更新された場合、またはブランチが遅れている場合は、リベースし、--force-with-lease を付けてプッシュしてから、ウォッチャーを再起動します。
  8. PR の準備ができたと判断する前に、git fetch を実行し、PR をもう一度確認します。BEHIND または DIRTY であってはなりません。

次の場合は停止します

  • ウォッチャーが終了コード 0 で終了した場合。PR の準備ができた、またはマージされたことを報告します。
  • 修正とプッシュを 5 サイクル実行しても終了コード 0 にならない場合。残っている失敗を報告します。
  • 別の PR により、この PR が不要になった場合。停止し、クローズする前に確認します。
  • gh がレート制限を報告した場合。gh api rate_limit を確認し、リセットまで 1 回待ちます。ループしないでください。

ルール

  • PR ごとにウォッチャーは 1 つだけ使用します。独自のスリープやポーリングのループは作成しないでください。
  • イベントへの対応が不要な場合は、何も言わないでください。「引き続き待機中」などのメッセージは不要です。
  • マージするのはユーザーから依頼された場合だけです。それ以外の場合は、準備ができたことを報告します。
  • PR は小さく保ちます。コードを削除するか、対象範囲を絞る修正を優先します。

コメント