本文へ移動
cccskills
無料GitHub で公開

review-pr

PRコードレビュー。複数の観点(ロジック・セキュリティ・パフォーマンス・設計整合性)で 並列レビューし、統合結果を出力する。 「PRをレビューして」「このPRの問題点を見て」「PR#123を確認して」 「コードレビューして」などのリクエストで使用する。 PR番号・URL指定、またはカレントブランチのPRを自動検出する。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md6.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

review-pr — PRコードレビュー

PRの差分を複数の観点で並列レビューし、統合結果を出力する。 APIキー不要(Claude Codeがローカルで実行)。

トリガー

  • /review-pr — カレントブランチのPR、またはURLを指定
  • /review-pr 123 — PR番号を指定
  • /review-pr https://github.com/owner/repo/pull/123 — URLを指定
  • 「PRをレビューして」「このPRの問題点を見て」

入力

  • PR番号、URL、またはなし(カレントブランチのPRを自動検出)

実行フロー

Step 1: PR情報取得

# PR番号が指定されている場合
gh pr view {PR_NUMBER} --json title,body,baseRefName,headRefName,url,files

# カレントブランチの場合
gh pr view --json title,body,baseRefName,headRefName,url,files

# 差分取得
gh pr diff {PR_NUMBER}

Step 2: 並列レビュー(5つのサブエージェントを同時起動)

以下の5つのAgentを並列で起動する。各Agentには差分全文とPR情報を渡す。

Agent 1: セキュリティレビュー

観点:

  • XSS脆弱性(dangerouslySetInnerHTML、未サニタイズ入力)
  • SQLインジェクション(Prisma $queryRaw での未サニタイズ入力)
  • 認証・認可バイパス(Guard欠落、JWT検証漏れ)
  • 機密情報ハードコード(APIキー、パスワード、トークン)
  • SSRF・パストラバーサル

出力形式:

重大度: CRITICAL / HIGH / MEDIUM / LOW / NONE
指摘一覧:
- [重大度] ファイル:行番号 — 指摘内容

Agent 2: コード品質レビュー

観点:

  • TypeScript型安全性(any 乱用、不適切な型アサーション)
  • エラーハンドリング(例外握りつぶし、ユーザー通知漏れ)
  • 命名規則(PascalCase/camelCase/UPPER_SNAKE)
  • コード重複・デッドコード
  • パフォーマンス(N+1、不要な再レンダリング、メモリリーク)

出力形式:

品質スコア: A / B / C / D
指摘一覧:
- [重要度] ファイル:行番号 — 指摘内容

Agent 3: アーキテクチャレビュー

観点:

  • レイヤー分離(Controller → Usecase → Service の責務境界)
  • コンポーネント分割(1ファイル300行超、責務過多)
  • 状態管理(Recoil atom粒度、不要なグローバル状態)
  • 依存方向(上位→下位の一方向か、循環依存がないか)
  • API設計(RESTful規約、レスポンス形式の一貫性)

出力形式:

懸念レベル: NONE / MINOR / MODERATE / MAJOR
指摘一覧:
- [懸念度] ファイル — 指摘内容

Agent 4: ドメイン・ビジネスロジックレビュー

観点:

  • ドメインロジックの配置(ビジネスルールがController/UIに漏れていないか、Service層に集約されているか)
  • 集約の境界(1つのトランザクションで複数の集約ルートを跨いでいないか)
  • ドメイン知識の散在(同じビジネスルールが複数箇所に重複実装されていないか)
  • 値オブジェクト/エンティティの区別(IDで識別すべきものと値で比較すべきものが混同されていないか)
  • ユビキタス言語(コード上の命名が業務用語と乖離していないか、英語/日本語が混在していないか)
  • 暗黙のドメインルール(マジックナンバー、ハードコードされた業務条件がないか)
  • 外部サービス依存(ドメインロジックが外部API(CloudLogi等)の詳細に直接依存していないか、ポート/アダプタが分離されているか)

出力形式:

ドメイン健全性: GOOD / FAIR / POOR / CRITICAL
指摘一覧:
- [重要度] ファイル:行番号 — 指摘内容(どのドメインルールに違反しているか)

Agent 5: テスト・ドキュメントレビュー

観点:

  • テスト更新漏れ(ロジック変更にテスト追加があるか)
  • テストデータ安全性(本番データ、個人情報の混入)
  • E2Eテスト影響(UI変更でセレクタが壊れていないか)
  • ドキュメント更新漏れ(API変更にSwaggerデコレータ更新があるか)

出力形式:

カバレッジ懸念: NONE / LOW / MEDIUM / HIGH
指摘一覧:
- [重要度] ファイル — 指摘内容

Step 3: 結果統合

5つのAgentの結果を統合し、以下の形式で出力する:

## 🤖 コードレビュー結果

**PR:** #{番号} {タイトル}
**判定:** ✅ 承認 / ⚠️ 要修正 / ❌ 差し戻し

### サマリー
{全体の1-2行サマリー}

### セキュリティ {重大度アイコン}
{指摘一覧 or "問題なし"}

### コード品質 {品質スコア}
{指摘一覧 or "問題なし"}

### アーキテクチャ {懸念アイコン}
{指摘一覧 or "問題なし"}

### テスト・ドキュメント {カバレッジアイコン}
{指摘一覧 or "問題なし"}

判定基準

  • 承認: セキュリティCRITICAL/HIGHが0件 かつ ドメインCRITICALが0件 かつ 他の重大指摘が0件
  • 要修正: セキュリティMEDIUM以上が1件以上、またはドメインPOOR以下、または品質D以下
  • 差し戻し: セキュリティCRITICALが1件以上、またはドメインCRITICAL、またはアーキテクチャMAJOR

Step 4: GitHubコメント投稿(オプション)

ユーザーが「コメントして」「PRに投稿して」と指示した場合のみ:

gh pr comment {PR_NUMBER} --body "$(cat review-result.md)"

注意事項

  • 差分が10,000行を超える場合は変更ファイル一覧を表示して対象を絞る
  • バイナリファイル(画像、Excel等)はスキップ
  • node_modules/、package-lock.json、.prisma/ の変更は無視
  • テンプレートリポ(yamasaki)のPRの場合は観点を自動調整(テンプレート品質重視)

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

add-repo

無料日本語概要

既存プロジェクトに新しいリポジトリを追加する。Workspaceにリポを追加した後、 CLAUDE.md・設計書・ドメイン構成を差分更新する。 「モバイルリポを追加した」「新しいリポを取り込んで」「リポを追加したので設計書を更新して」 「Workspaceにリポを足した」などのリクエストで使用する。 init-spec の移行モードではファイル存在チェックしか行わないため、 既存ドキュメントの内容を新リポに合わせて拡張するにはこのスキルを使う。

i-standard1/yamasaki62026年8月26日 更新

analyze-codebase

無料日本語概要

既存プロジェクトをサブエージェントで並列分析し、 精度の高い overview.md を生成する。init-spec の前処理として使う。 「既存プロジェクトを分析して」「コードベースを理解して設計書を作って」 「overview.mdを作って」などのリクエストで使用する。 ファイル数が200を超えるプロジェクトで特に有効。 200以下の場合は単一エージェントで全体を読む方が精度が高いため、 init-spec をそのまま実行することを提案する。

i-standard1/yamasaki62026年8月26日 更新

apply-design

無料日本語概要

デザインの差し替え。ロジックは一切触らず見た目(HTML/CSS/テンプレート)だけを更新する。 「このデザインに差し替えて」「UIをFigmaの通りに変えて」「見た目だけ変えて」 「デザインを更新して」「CSSだけ直して」などのリクエストで使用する。 ロジック変更を伴う場合はrevise-specを使う。

i-standard1/yamasaki62026年8月26日 更新

browse

無料日本語概要

ブラウザで画面を確認する。agent-browser CLI を使って画面のスクリーンショット撮影、 アクセシビリティツリー取得、フォーム操作、画面遷移などを行う。 「画面見て」「ブラウザ確認して」「スクショ撮って」「現状把握して」「画面開いて」 「ログインして確認して」「画面の状態を教えて」「UIを確認して」などのリクエストで使用する。 E2Eテストの作成・実行には gen-tests(Playwright)を使うこと。本スキルはテスト実行ではなく 「AIの目」としてブラウザを操作し、画面状態を把握するためのもの。

i-standard1/yamasaki62026年8月26日 更新

claude-design

無料日本語概要

ClaudeDesign(claude.ai/design)とClaude Codeの連携。DesignSyncツールで デザインプロジェクトからプロトタイプHTML等を取得(インポート)、または ローカルのコンポーネントをデザインシステムプロジェクトへ同期(プッシュ)する。 「ClaudeDesignからデザインを取得して」「claude.ai/design のURLを取り込んで」 「デザインプロジェクトに同期して」「デザインシステムをプッシュして」 などのリクエスト、または claude.ai/design のURLが渡されたときに使用する。 取得したデザインのコード実装への適用は apply-design を使う。

i-standard1/yamasaki62026年8月26日 更新

detail-design

無料日本語概要

詳細設計書の一括生成。2つのモードを自動判定する: (A) コード分析モード: 既存コードから詳細設計書を逆生成する(init-spec + spec-all 完了後) (B) 設計書ファーストモード: 要件定義書から詳細設計書を新規作成する(コードなし) 「詳細設計を作って」「設計書を完成させて」「実装に必要な設計書を全部作って」 「他のエンジニアに渡せる設計書にして」などのリクエストで使用する。

i-standard1/yamasaki62026年8月26日 更新

i-standard1 のスキルをすべて見る

このスキルの問題を報告する