ds-watch-pr について
ds-watch-prは、チェックとレビューの条件が満たされるまで単一のPRを監視するスキルです。待機条件を設定できるPythonウォッチャーを使い、失敗、コメント、ブランチ更新への対応手順も定めています。
主な機能
- 01PRのチェック、コメント、レビューを監視
- 02準備完了またはチェック成功まで待機
- 03新たな失敗やレビュー指摘に対応
- 04ブランチが遅れている場合にリベース
- 05設定可能なPythonウォッチャーを使用
活用シーン
- 01チェック実行中のPRを追跡
- 02新しいレビューコメントやチェック失敗に対応
- 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 行ごとに通知を受け取ります。なければ、長時間のフォアグラウンドコマンドとして実行します。
- イベントごとに、コードを変更する前に該当箇所を読みます。指摘が妥当か判断します。
- 実際のバグや CI の失敗の場合は、最小限の修正を行い、失敗したチェックをローカルで実行してからプッシュし、ウォッチャーを再起動します。
- 誤検知や対象範囲外の要望の場合は、
ds-pr-commentsを通じて簡潔な理由を返信し、スレッドを解決して、フォローアップ項目として記載します。 - 実際のテスト失敗とインフラの一時的な失敗を区別します。一時的な失敗と判断する前に、1 回再実行します。
- ベースブランチが更新された場合、またはブランチが遅れている場合は、リベースし、
--force-with-leaseを付けてプッシュしてから、ウォッチャーを再起動します。 - PR の準備ができたと判断する前に、
git fetchを実行し、PR をもう一度確認します。BEHIND または DIRTY であってはなりません。
次の場合は停止します
- ウォッチャーが終了コード 0 で終了した場合。PR の準備ができた、またはマージされたことを報告します。
- 修正とプッシュを 5 サイクル実行しても終了コード 0 にならない場合。残っている失敗を報告します。
- 別の PR により、この PR が不要になった場合。停止し、クローズする前に確認します。
ghがレート制限を報告した場合。gh api rate_limitを確認し、リセットまで 1 回待ちます。ループしないでください。
ルール
- PR ごとにウォッチャーは 1 つだけ使用します。独自のスリープやポーリングのループは作成しないでください。
- イベントへの対応が不要な場合は、何も言わないでください。「引き続き待機中」などのメッセージは不要です。
- マージするのはユーザーから依頼された場合だけです。それ以外の場合は、準備ができたことを報告します。
- PR は小さく保ちます。コードを削除するか、対象範囲を絞る修正を優先します。
コメント
Markdown 対応