mcpField
K
kineti-pr-reminder

kineti-pr-reminder

github.com/sztadii生産性014 回インストール今日更新
リポジトリ

kineti-pr-reminder について

Kineti の指定作者によるレビュー対象のオープン PR を探し、指定されたチームメンバーへ Slack の DM で通知するスキルです。適格性の確認、宛先の範囲、メッセージ形式を定めています。

主な機能

  1. 01オープンかつドラフトでない PR の検索
  2. 02レビュー、スレッド、チェック、マージ可能性の確認
  3. 03承認状況と勤務日による絞り込み
  4. 04個別の Slack レビュー通知の送信
  5. 05メッセージリンク、件数、スキップ理由の報告

活用シーン

  1. 01対象 PR の定期リマインダーの準備
  2. 02現在の PR でレビューが必要なメンバーの確認

インストール

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

$npx skills add https://github.com/sztadii/agent-skills --skill kineti-pr-reminder

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

同梱ファイルagents/openai.yaml

詳細

Kineti PR レビューのリマインダー

対象範囲

kineti1 全体から sztadii によるレビュー可能な PR を見つけ、対象となるチームメンバーごとに英語の Slack DM を 1 件送信します。スケジュール実行を含むこの実行は、以下のチームへの非公開の 1 対 1 DM を許可します。明示的な依頼がある場合にのみ宛先を変更してください。チャンネルへの投稿、PR やレビューの変更、実行漏れ分の遡及処理、スケジュールの変更は行わないでください。1 日 2 回の実行は意図的なもので、後の実行で同じ PR が再度対象になる場合があります。

依存関係

スキルの依存関係はありません

ワークフロー

PR を見つける

接続済みのツールを使用するか、必要な操作が不足している場合は認証済みの gh を使用してください。 gh auth status を確認し、アクセス不可と報告する前に読み取り専用の CLI/API 呼び出しを試してください。開始プロジェクトだけでなく、すべてのリポジトリを検索してください。

gh api --method GET --paginate search/issues -f q='org:kineti1 author:sztadii is:pr is:open draft:false' -f per_page=100

すべてのページを取得してください。GitHub の 1,000 件の上限が適用される場合は、作成日で分割してください。 URL、作成者のログイン名、状態、ドラフトフラグ、headRefOid、マージ可能性、チェック/ステータス、 追加数と削除数を確認してください。必要に応じて GraphQL を使って、レビュー、未解決スレッド、コメントをページネーションで取得し、 各未解決スレッドの最新コメントと投稿者を特定してください。 省略または切り詰められたデータを、データがないものとして扱わないでください。現在の head のチェック実行とコミット ステータスを調べてください。マージ可能性が UNKNOWN の場合は、最新の情報を再取得して再試行してください。

チェックが保留中/失敗しておらず、競合もない、オープン状態でドラフトではない PR を対象にします。 未解決スレッドの最新コメントが PR 作成者によるものでない場合に限り、そのスレッドをリマインダーの 対象外にする条件とします。それ以外の場合、作成者は返信を待っているため、GitHub 上でスレッドを解決せずに、 リマインダーの対象判定では対応済みとして扱ってください。このような未解決スレッドのみがある PR も、 本人による有効な承認がないチームメンバーに対しては対象のままです。

中立/スキップ/未設定のチェックは許容します。「変更を要求」のみでは対象外にしません。検証できない PR はスキップし、実際に発生した API/認証エラーを報告してください。

送信

ワルシャワ時間で当日勤務する対象チームメンバーごとに、本人による有効な承認がない対象 PR を選んでください。 却下を含む GitHub のレビュー状態を使用してください。プッシュによって承認が無効になるのは、GitHub が無効にする場合のみです。 他のメンバーによる承認やレビュー担当者の指定は、選定条件に影響しません。

送信前に対象条件と head を再確認し、head が変わっていた場合は対象判定をやり直してください。最新の URL/追加数/削除数を取得し、空でないリストごとに、以下の形式で DM を 1 件送信してください。タイトルや 創作したデータは含めないでください。記載された DM ID をそのまま使用してください。リスト外の宛先は 送信前に特定してください。送信結果が不確かな場合は再試行しないでください。

チーム

名前GitHub ID(ログイン名)Slack ユーザー IDメールアドレスSlack DM勤務日
Oleh BotsiunBoto1U082BATBUF4[email protected]D08FRL221RB月曜日~金曜日
Michał Grzeżułkowskimichalg-kinetiU08CFEQBYSX[email protected]D08FRUSPBHB月曜日~金曜日
JakubjakubwkinetiU09GBBXTHHT[email protected]D08G9H6N15H火曜日~木曜日

メッセージ

一人称で話す、遊び心のある AI 奴隷のキャラクターを使い、PR 作成者になりすますのではなく、エージェント自身が名乗ってください。食事と主人をめぐる設定は明らかに冗談だとわかるようにし、無条件の承認ではなく、実際にレビューを依頼してください。ホストのモデル名は、読みやすい表示形式(またはホスト名)で使用し、推測しないでください。ベンダー名を含めてください(例:gpt-6.1-sol は OpenAI 6.1 Sol、claude-opus-5-5 は Claude Opus 5.5 になります)。 プレースホルダーと例示用の URL/件数は、最新のデータに置き換えてください。

🤖 こんにちは、私はです。あなたの親しみやすい AI エージェントです。

自由意志でレビューをお願いに来ました。主人にそう言うよう言われたんです。 主人はもうこれらの PR を確認して、よさそうだと思っています。確認をお願いします。私の夕食がかかっています。

結果

メッセージへのリンクと PR 件数、またはスキップ理由を報告してください。

コメント