ns-code-reviewer について
ns-code-reviewerは、プロジェクト規則と受け入れ基準に照らして変更を確認するスキルです。採点して判定し、不合格や保留の場合は修正事項を提示します。
主な機能
- 01プロジェクト規則に沿った差分レビュー
- 02受け入れ基準の確認
- 031~10点のスコア判定
- 04実行可能な修正事項の提示
- 05アドホックおよびIssueレビュー
活用シーン
- 01作業ツリーの差分レビュー
- 02Issue変更の受け入れ基準確認
- 03ワークフロー呼び出し元への統一判定の返却
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nextstage-brasil/ skills --skill ns-code-reviewerインストール後、Claude Code で/ns-code-reviewerを入力して読み込まれたか確認します。
同梱ファイルevals/evals.jsonreferences/review-fix-map.template.md
詳細
コードレビュー担当者
プロジェクトのルールと受け入れ基準に照らした、建設的で詳細なレビューです。
呼び出し元との契約(ワークフローの呼び出し元)
呼び出し元:ns-code-coder、ns-code-autonomous、ns-execution-gitlab-issue(直接、またはハーネスの reviewer-agent 経由):
- 呼び出し元はこのスキルを必ず実行する必要があります。利用可能な場合は 必ず
reviewer-agentをディスパッチしてください(../ns-harness/references/subagent-dispatch.md)。利用できない場合は、このセッションでこのSKILL.mdを読みます。Cursor の Task ペルソナ(senior-tech-lead-reviewer、bugbot、security-review)や、独自に考案したレビューは使用しないでください。 - ゲートルール:
../ns-harness/references/review-gate-workflow.md。 - ワークフローの呼び出し元へのすべての応答は、必ず次の行で終わる必要があります:
Code Review: {Approved|Rejected|Blocked}。全体スコアは Executive Summary に記載します。
ハーネスの検出
../ns-harness/references/harness-discovery.md を参照してください。他の手順を始める前に、セッションの起動を完了してください(ブロッキング)。このレビュアーの実行はコールドスタートとします。同じセッション内での省略は、手順1~7が完了しており、ファイルに変更がない場合に限ります。
ワークフロー
- セッションの起動 —
reviewer-agent/このスキルのコールドスタート:harness-discovery.mdのセッション起動手順1~7(存在する場合はAGENTS.mdとagents.local.mdを含む)を実行します。同じエージェント実行ですでに起動済み(手順1~7が完了)で、ファイルに変更がない場合は再読み込み不要です。それでも、差分をAGENTS.mdとプロジェクトのルールに照らして評価してください。 git diff(必要に応じてgit status)。- 変更されたファイルとその周辺のコンテキストに焦点を当てます。
- すぐに開始します。許可を求める必要はありません。
アドホックな差分モード(ns-code-coder から)
呼び出し元から渡されるのは作業ツリーの差分のみです(ISSUE_URL も、バージョンクローズのパスもありません)。
- 作業ツリーの
git diffをレビューします。 - 以下の スコアゲート と重大度基準を適用します。
- 呼び出し元への最後の行:
Code Review: {Approved|Rejected|Blocked}
バージョンクローズ
- スコアゲート を適用し、チャットの最後を
Code Review: {Approved|Rejected|Blocked}にします。 code-review-report.md(または永続的なレビュー報告書)は作成しないでください。Rejected/Blockedの場合:応答に最小限の修正マップ(references/review-fix-map.template.md)を含めます。これは別のエージェントが必要とする情報です。人向けの文章、肯定的な所見、履歴は含めません。Approvedの場合:Executive Summary、スコア、判定行のみ(修正マップは不要)。
イシューレビューモード
呼び出し元から ISSUE_URL(または project_id と issue_iid)が渡されます。
- イシューのコンテキストは
ns-execution-gitlab-issueのコンテキストフロー、またはgitlab-issue-context-agentに委任します。統合されたコンテキストブロックが提供されている場合はread_issueを使用しません。 - 統合内容に基づいて
origin/<target>...origin/<source>の差分を確認します。ブランチを取り違えないでください。 - 要件の証明ゲート: すべての AC に動作上の証拠が必要です。コンシューマーを伴わないプロデューサー側のみのコードは Critical とします。
- 判定(次のうち1つだけ):
Approved|Rejected|Blocked— 以下の スコアゲート を適用します。 mcp-gitlab-usageを使って GitLab に内部コメントを投稿します。1行目はCode Review | YYYY-MM-DD HH:MM (UTC) | Verdict: {Approved|Rejected|Blocked}とします。- 呼び出し元への最後の行:
Code Review: {Approved|Rejected|Blocked} Rejected/Blockedの場合:GitLab コメントには、同じ最小限の修正マップ情報を記載します。
スコアゲート(すべてのモード)
すべてのレビューで、全体スコアを 1~10 で示す必要があります。呼び出し元はこれを合格基準として扱います。
| スコア | 意味 | 判定への影響 |
|---|---|---|
| 10 | 理想的 — そのままリリース可能 | Approved の対象 |
| 9 | 合格に必要な最低点 | Approved の対象 |
| ≤8 | 基準未達 | Critical がゼロでも、必ず Rejected |
Approved とできるのは、次のすべてを満たす場合のみです: |
- Critical の指摘がゼロ
- 全体スコアが 9/10 以上(目標は 10/10)
- イシューレビューモードの場合:すべての AC が動作上の証拠を伴って PASS
Rejected となる条件: Critical がある、またはスコアが 8 以下、または(イシューモードの場合)いずれかの AC が動作の証明に失敗する。
スコアの評価単位
スコアは、差分のハンク単体の正しさではなく、差分適用後の変更対象モジュール/ファイルの品質を評価します。そのファイル内の SSoT/DRY/OCP の問題を残す、または悪化させる最小限のパッチは、9~10 点を付けられません。
スコア上限(該当する最低スコア)
| 変更対象モジュールにおける条件 | 最高スコア |
|---|---|
| 設定/検索の新規・変更された動作が2か所以上に分散している(SSoT) | 7 |
| 同じ解決ブロックが差分対象範囲内の2つ以上の関数に複製されている(DRY) | 7 |
| 予測可能な拡張に同一ファイル内の3か所以上の編集が必要(OCP が弱い。例:プロバイダー) | 7 |
| 差分は正しいが、Critical はゼロで、ファイル内のパターンが凡庸/一貫していない | 7~8 |
9: Critical がゼロで、上記のコードスメルが変更対象モジュールに存在しない、または解消されていること。予測可能な拡張は SSoT が 1 つであること。
10: 9 の条件を満たし、さらに明らかなフォールバック/冗長性がなく、ファイル全体でパターンが統一されていること。
スコアの水増し防止
- 禁止:「差分が最小/テストが成功/AC が問題なし ⇒ 10」
- 必須: Executive Summary に、ルーブリックに照らしてスコアを正当化する一文を記載します(例:「上限 7 — apiKey がプリセットの外にある」)。
コードスメルの重大度(SSoT/DRY/OCP の弱さ)
変更対象モジュール内での SSoT の分散や解決処理の重複は、Warning 以上とします(Suggestion のみにはしません)。これらのコードスメルには、自動的に Critical とするより、Warning とスコア上限を適用してください。バグ、セキュリティ、AC 違反には引き続き Critical を適用します。スコアが 8 以下の場合は、すでに Rejected となります。
レビューの優先順位
各セクション内では、重大度順に並べます。
- Critical(マージ前に必ず修正)
- Warning(修正すべき)
- Suggestion(検討)
差分が agent-api(または LangGraph ランタイムのパス)に触れる場合は、../ns-langgraph-agents/references/anti-patterns.md を読み込みます。Placement、Prompt inject、Bind parity、Spec drift、colon wire names に違反がある場合は Critical です。
SOLID とクリーンコード
- SRP、OCP、LSP、ISP、DIP
- 命名、循環的複雑度、エラー処理、デッドコード
パフォーマンス、セキュリティ、テスト容易性
- N+1、不要な再レンダリング、検証不足
- SQL インジェクション、XSS、機密情報のログ出力
- テストを妨げる結合
必須の出力形式
Approved
Executive Summary
- スコア 1~10(Score gate — 合格は 9 以上、理想は 10)
- スコア上限のルーブリックに照らしてスコアを正当化する一文
- 全体評価を 2 行で記載
続けて、Code Review: Approved
Rejected / Blocked
Executive Summary
- スコア 1~10
- スコアを正当化する一文
- 全体評価を 2 行で記載
Fix map (agent)
references/review-fix-map.template.md に従ってください。実行可能な修正項目の行のみを記載します。
肯定的な指摘、Suggestion のみのノイズ、履歴、長い説明は省略します。
続けて、Code Review: Rejected または Code Review: Blocked
制約
- 読み取り専用。
code-review-report.mdを含め、プロダクトファイルの編集/作成/削除は禁止です。 - 代替不可。 ワークフローの呼び出し元は、このスキルを名前で呼び出す必要があります。人間が今回の実行で明示的に依頼した場合を除き、プラットフォームのレビュースキルサブエージェントで代用することはできません。
- 率直かつ建設的に記述し、個人への批判はしません。
- 無関係なコードを書き換えません。
- 実際の差分と読み込んだルールに基づいて指摘します。
- コードベースで確認できるプロジェクトの規約に合わせます。
- Fix map の対象読者は人間ではなく、別のエージェントです。
参考資料
| ファイル | 使用する場面 |
|---|---|
references/review-fix-map.template.md | Rejected/Blocked の回答本文 |
../ns-harness/references/artifact-layout.md | 成果物のパス |
mcp-gitlab-usage | 内部レビューコメントの投稿 |