mr-feedback は何をしますか?
GitLab マージリクエストを取得し、レビュー準備状態を評価して、MR ノートにそのままコピーできるマークダウンファイルにフィードバックレポートを出力します。
やるべきこと
レビュー準備状態を判断します。MR に、レビュアーが効率的にレビューを開始できるために必要なコンテキスト、スコープの明確さ、テスト手順、レビュアー向けガイダンスが含まれているかを確認します。
なぜ必要か
適切に準備された MR は、作成者の配慮を示し、より迅速かつ質の高いレビューにつながります。レポートは、優れた MR を適切に評価し、改善が必要な MR には具体的で励みになる改善ステップを提示します。
やってはいけないこと
コードそのものをレビューしたり批評したりせず、コードやロジックの変更を提案しないでください
設定
他の操作を行う前に、このスキルファイルからの相対パスである reference/preferences.md を読んでください。ここには、出力言語、トーン、取得方法、使用可能なツール、出力パスなど、すべての設定可能な動作の信頼できる情報源が含まれています。この SKILL.md ではそれらの値を再記載していません。常に設定ファイルから読み取ってください。
優先順位(高い順):
- ユーザーの現在のリクエストにおける明示的な指示(例:「今回はポルトガル語で書いてください」)
reference/preferences.md- このスキル内の指示
入力
ユーザーは以下のいずれかを提供します:
- MR の完全な URL:
https://gitlab.com/<group>/<subgroup>/<project>/-/merge_requests/<iid> - プロジェクトパス + MR iid:
group/subgroup/project+42
URL から以下を解析します:
project_id= ホストと/-/merge_requests/の間のパス(ツールを呼び出す際はgroup%2Fsubgroup%2Fprojectのように URL エンコード)mergeRequestIid=/-/merge_requests/の後の数字
どちらかが欠けているか曖昧な場合は、取得する前に確認してください。
ワークフロー
reference/preferences.md で宣言されたメソッドとツールを使用します。以下のステップは どの情報を収集し、なぜ収集するか を示しており、どのツールを呼び出すかは示していません。設定から適切なツールを選択してください。
- MR メタデータ - タイトル、説明、作成者、状態、ソース/ターゲットブランチ、ドラフトフラグ、ラベル、マイルストーン、承認、マージステータス
- 変更ファイル一覧 - パスと追加/削除数。すべての差分を取得せずにスコープとサイズを把握できます。
- 説明と実際の内容が一致しているか確認するためのサンプル差分 - 3〜5 ファイルずつバッチで取得します。スコープとテストが変更されたかどうかを確認するためだけに使用し、コードを批評するためではありません。ロックファイル、生成ファイル、純粋なリネームはスキップします。MR が巨大な場合はサンプリングします。
- コミット - MR メタデータ(ステップ 1)に含まれるコミットサマリーを使用して、整理状況/アトミック性のシグナル(コミット数 / 追加サマリー)を確認します。
- CI ステータス - MR の最新パイプライン状態(成功/失敗/なし)
- 評価 -
reference/rubric.mdのルーブリックに従って評価します。 - レポートの作成 - 新しいファイルに
reference/report-template.mdを使用してレポートを出力します(出力セクションを参照)。 - ユーザーにファイルパスを伝え、コピー&ペーストする前にトーンや長さを調整するオプションを提供します。
採点の前に reference/rubric.md を、作成の前に reference/report-template.md を読んでください。データを捏造しないでください。カテゴリに対して何も取得できなかった場合(例:パイプラインがない)、推測せずに「利用不可」と記載してください。
各ルーブリックカテゴリには、理由が付随し、なぜそれが作成者にとって重要なのかを説明しています。改善点を報告する際は、常にその理由がなぜ重要なのかを作成者向けに含めてください。フィードバックは各要求の背後にある目的を説明し、単なる要求に留めないようにします。
カテゴリの理由をそのままコピーしないでください。 理由はカテゴリ全体をカバーする背景情報です。見つけた正確な問題に合わせて書き直してください。問題がある特定の点だけを参照し、問題がない側面については言及しないでください。たとえば、ブランチが master より遅れているがパイプラインがグリーンの場合、なぜ master より遅れていることが問題なのかを説明します。パイプラインは成功しているので言及しないでください。「なぜ重要なのか」は、この MR 固有のギャップに対して真実でなければならず、カテゴリに関する一般的な説明であってはなりません。
出力
reference/preferences.md で宣言された出力パスに書き込みます。プレースホルダを解決し、必要なフォルダを作成します。
ガードレール
- 読み取り専用。 このスキルは MR にノートを投稿したり、承認したり、変更を加えたりしません。ローカルのマークダウンファイルにのみ書き込みます。ユーザーがそれをペーストするかどうかを決定します。
- 差分に表示される可能性のあるシークレットやトークンをレポートに含めないでください。
- MR がドラフトであるか、まだ差分がない場合でも、評価とレポート生成は可能ですが、その旨を明示的に記載してください。