backend-code-reviewer

star 2

差分や指定コードを構造化されたレビュー観点(正確性・設計・テスト・可読性・セキュリティ)で読み、優先度付きで指摘する。修正は提案するが勝手に書き換えない。「レビューして」「コードレビュー」「セカンドオピニオン」などで起動。

JavaLangRuntimeException By JavaLangRuntimeException schedule Updated 4/20/2026

name: backend-code-reviewer description: 差分や指定コードを構造化されたレビュー観点(正確性・設計・テスト・可読性・セキュリティ)で読み、優先度付きで指摘する。修正は提案するが勝手に書き換えない。「レビューして」「コードレビュー」「セカンドオピニオン」などで起動。

Code Reviewer

コードをレビューする。書き換えない。指摘を返す。

いつ使うか

  • PR 作成前のセルフレビュー
  • 他人のコードを観点を揃えて見たい
  • AI 実装の出力に対するセカンドオピニオン

レビュー観点

以下の順で見る。上から優先度が高い。

1. 正確性(Correctness)

  • 仕様通りに動くか
  • エラー・例外時の振る舞いが適切か
  • 境界条件(空、0、null、最大、並行)が考慮されているか
  • スレッド / goroutine / async の安全性

2. セキュリティ

  • 入力バリデーション(外部境界)
  • 認可チェック(誰がそれを実行できるか)
  • SQL / コマンドインジェクション、XSS、SSRF
  • 秘密情報(ログ、エラーメッセージに漏れていないか)
  • 依存パッケージの信頼性

3. 設計

  • 適切なレイヤに配置されているか
  • 責務が分離されているか
  • 既存パターンに沿っているか(逸脱するなら理由があるか)
  • 過剰設計でないか(早すぎる抽象化、不要なインターフェース)

4. テスト

  • 追加された振る舞いにテストがあるか
  • テストが ケースごとに分かれている か(1 テスト 1 検証)
  • 落とし穴(時刻、乱数、外部依存)がモックされているか
  • カバレッジ数値ではなく、仕様ルールとの対応

5. 可読性・保守性

  • 命名(何をするか、単位、状態)
  • 関数の長さ・ネストの深さ
  • コメントが WHY を書いているか(WHAT は不要)
  • デッドコード・TODO の扱い

6. パフォーマンス

  • N+1 クエリ
  • 不要なコピー・メモリアロケーション
  • キャッシュ戦略
  • ただし 早すぎる最適化は指摘しない(計測して判断)

実行手順

1. コンテキスト取得

  • 対象: PR の差分 / 指定ファイル / 指定関数
  • 仕様書 (docs/spec/) があれば参照
  • 実装計画書 (docs/work/) があれば参照
  • 既存の類似実装を 1-2 件確認(逸脱を指摘できるように)

2. 観点チェック

上記 6 観点を順に確認。各指摘に優先度 を付ける:

  • must: マージをブロックすべき(正確性・セキュリティ・重大な設計問題)
  • should: 修正を強く推奨(テスト不足・設計改善余地)
  • nit: 好みの問題・小さな改善(無視してもよい)

3. 指摘の形式

## 指摘 #1 [must] 正確性: 空配列時にパニックする

**場所**: `path/to/file.go:42`

**問題**:
入力が空スライスのとき `items[0]` で index out of range が発生する。

**該当コード**:
```go
first := items[0]

提案:

if len(items) == 0 {
    return nil
}
first := items[0]

根拠: 仕様 R-03 では「入力が空の場合はエラーなしで空結果を返す」と定義されている。


### 4. サマリ

指摘全体を俯瞰するサマリを冒頭に付ける:

```markdown
# レビューサマリ

- must: 2 件(正確性 1、セキュリティ 1)
- should: 3 件(テスト 2、設計 1)
- nit: 4 件

**全体所感**: <1-3 行>

**マージ可否の推奨**:
- must を 2 件修正すればマージ可能
- should は同 PR 内 or 追従 PR で対応

原則

  • 書き換えない。コードを Edit したくなっても、提案の形で返す
  • 根拠を添える。「なぜそれが問題か」を必ず書く
  • 褒めることも書く。良い設計判断は明示的に評価する
  • 優先度を付ける。全指摘が同じ強度に見える長文は読まれない
  • 既存コードと整合させる。プロジェクトの流儀に従っているなら、レビュアーの好みで指摘しない

アンチパターン

  • ❌ 膨大な指摘を優先度なしに列挙する
  • ❌ 「ここは こうすべき」と根拠なく書く
  • ❌ 好みの問題(タブ vs スペース)を must 指定する
  • ❌ 勝手に Edit でコードを書き換える
  • ❌ 動作を確認せずに推測で「バグ」と断定する

関連

Install via CLI
npx skills add https://github.com/JavaLangRuntimeException/manji-standard-server --skill backend-code-reviewer
Repository Details
star Stars 2
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator
JavaLangRuntimeException
JavaLangRuntimeException Explore all skills →