code-reviewer について
code-reviewerは、Gitの変更をレビューし、フィードバックに対応するスキルです。開発者向けに、範囲を定めたレビュー、検証後の修正、結果の記録を案内します。
主な機能
- 01記録されたGit変更範囲のレビュー
- 02検証後の指摘修正
- 03重大度に基づく分類
- 04レポートと結果の記録
活用シーン
- 01変更を確定する前の全体レビュー
- 02外部レビュアーの指摘の評価
- 03阻害要因となる指摘の修正
- 04中断後のレビュー再開
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ magebyte-zero/ spec-superflow --skill code-reviewerインストール後、Claude Code で/code-reviewerを入力して読み込まれたか確認します。
同梱ファイルcode-reviewer-prompt.md
詳細
コードレビュー担当者
同梱ランタイム
以下の CLI の各行を実行する前に、先頭の SSF を node "<plugin-root>/scripts/spec-superflow.mjs" に置き換えてください。<plugin-root> はこのファイルの 2 階層上にあるディレクトリの絶対パスです。SSF を文字どおり実行したり、PATH 上の ssf を呼び出したりしないでください。
責務は 2 つです。記録された Git 範囲をレビューすること、そして技術的な厳密さをもって指摘事項に対応することです。永続化されたポリシーに従ってレビューし、指摘を実装する前に内容を検証してください。
パート 1:レビューの依頼
必須:Native final では範囲全体を 1 回レビューします。wave およびレガシープランでは、計画された各ウェーブにつき 1 回レビューします。変更のないエビデンスに対する、タスクごとまたは最終時点の重複レビューは避けてください。
任意:行き詰まったとき、リファクタリングの前、複雑なバグの修正後に実施します。
手順
-
記録された実行エビデンスからレビュー範囲を取得します。最終レビューでは、ベースを次の順に解決します。記録された
state.review_baseの開始アンカー、記録された分離コンテキスト内のreview_base、明確なターゲットがあるレガシー/手動ブランチではgit merge-base <target-branch> HEAD。ヘッドはgit rev-parse HEADです。CLI がこの範囲全体を検証します。最終レビューに失敗した場合、修正中も同じベースを維持します。ウェーブの修正では、前のウェーブのヘッドを使用します。ウェーブレビューでは、記録されたウェーブ開始時のベースを使用します。複数コミットの作業でそれ以前のコミットが漏れるため、HEAD~1に置き換えないでください。 -
Native
finalでは、現在の実行者が完全な差分をローカルでレビューし、レポートを作成します。レビュアーのサブエージェントをディスパッチしないでください。ユーザー承認済みの SDD でwaveレビューを行う場合は、skills/code-reviewer/code-reviewer-prompt.mdを使って、そのウェーブにつき最大 1 人のレビュアーをディスパッチします。ディスパッチできない場合は、ローカルでレビューします。 -
ディスパッチする場合は、
[DESCRIPTION]、[PLAN_OR_REQUIREMENTS]、[BASE_SHA]、[HEAD_SHA]、[WAVE_ID]、[REVIEW_REPORT_FILE]のみを入力します。計画一式を送信しないでください。 -
.superpowers/sdd/reviews/<wave-id>.mdに空でないレポートを作成し、次のコマンドでそのパスを記録します:SSF execution review <change-dir> --wave <wave-id> --base <base-sha> --head <head-sha> --report .superpowers/sdd/reviews/<wave-id>.md --verdict <pass|fail>。 schema-2 プランでは、失敗の記録に、修正対象となる阻害要因の欠陥について--issue <stable-finding-id>も必要です。再試行時も同じ ID を使用してください。その他の指摘事項には、レポート内でそれぞれ固有の ID を付けます。同一の失敗入力で再度試行を消費することはできません。 -
Critical/Important の指摘事項には
failの記録が必要です。対象を絞って修正し、対象を絞って 1 回再レビューを行い、passに差し替えます。Minor は後で対応するために記録します。 -
adjudication-requiredになった場合は、次のレビューを行う前に人間の承認を待ちます。
最小限性とスコープ
依頼されていない複雑さについては、欠けているタスク要件と差分の行を示してください。 行数ではなく、マージを妨げる複雑さには Important、安全性を損なわず動作にも影響しない冗長さには Minor を使用してください。
パート 2:レビュー指摘への対応
対応パターン
- 感情的に反応せず、フィードバックを読む
- 要件を理解し、言い換えて確認する
- コードベースの実態と照らして検証する
- 評価する:このコードベースに対して技術的に妥当か
- 応答する:技術的に受け止めるか、筋道立てて異議を述べる
- 実装する:一度に 1 項目ずつ対応し、その都度テストする
重大度レベル
| レベル | 意味 | 対応 |
|---|---|---|
| Critical | バグ、セキュリティ、データ損失、機能の破損 | 直ちに修正 |
| Important | アーキテクチャ上の問題、機能不足、エラー処理の不備、テストの不足 | 次のバッチの前に修正 |
| Minor | コードスタイル、最適化、ドキュメントの仕上げ | 後で対応するために記録 |
禁止される対応
次の対応はしないでください:形だけの同意(「おっしゃるとおりです!」、「良い指摘です!」)、検証前の盲目的な実装、レビュアーへの謝辞。その代わりに、要件を言い換えて確認する、明確化を求める、理由を示して異議を述べる、またはそのまま修正する(言葉より行動を優先)。
不明瞭なフィードバックへの対応
重要な判断を左右する、不明瞭な指摘についてのみ質問してください。スコープ内で、独立して対応でき、内容も明確な修正は続けてください。不明瞭な任意コメントを理由に、全体を停止しないでください。
ソース固有のルール
ユーザーからの指示:信頼できます。内容を理解してから実装してください。範囲が不明確な場合は、引き続き確認してください。形だけの同意は不要です。
外部レビュアーからの指示:実装する前に、次の点を確認してください。このコードベースに対して技術的に正しいか。既存の機能を壊さないか。現在の実装に理由があるか。すべてのプラットフォームで動作するか。レビュアーは全体のコンテキストを理解しているか。提案が間違っていると思われる場合は、技術的な根拠を示して異議を唱えてください。
異議を唱えるとき
提案によって既存の機能が壊れる、レビュアーにコンテキストが不足している、YAGNI に反する、このスタックでは技術的に誤っている、レガシーや互換性上の理由がある、またはユーザーのアーキテクチャ上の決定と矛盾する場合は、異議を唱えてください。防御的にならず、技術的な根拠を示してください。
実装の順序
- 修正を妨げる重要な不確実性だけを確認する
- ブロッキング問題(破損、セキュリティ)を修正する
- 簡単な問題(誤字、インポート)を修正する
- 複雑な問題(リファクタリング、ロジック)を修正する
- 修正を個別にテストし、リグレッションがないことを確認する
よくある間違い
| 間違い | 対処法 |
|---|---|
| 形だけの同意 | 要件を明示するか、そのまま実行する |
| 確認せずに実装する | まずコードベースに照らして確認する |
| テストせずにまとめて変更する | 1 つずつ行い、それぞれをテストする |
| ウェーブの受領記録を残さずに進める | 次の依存ウェーブに進む前に、SSF execution review で pass/fail を記録する |
| レビュアーが正しいと思い込む | 既存の機能を壊さないか確認する |
| 異議を避ける | 快適さより技術的な正しさを優先する |
| 不明確なフィードバック | 独立して修正できる問題を進めながら、対応を妨げている指摘を明確にする |
例外への対処
- 解析エラー:該当するファイルを具体的に報告し、レビュー用パッケージの再生成を依頼する
- ファイル不足:
scripts/review-packageで再生成する。差分が空の場合、レビュー対象はありません - ユーザーによる中断:再開時にレビュー報告を読み直し、次の未レビューのバッチから続行する