skills/pr-review/SKILL.md
PRやコミットの差分をレビューして、マージ可否の判断と指摘事項を出力する。 以下のトリガーで自動発動: - 「PRレビューして」「このPRどう思う?」「マージしても大丈夫?」 - 「差分をレビューして」「コミット内容を確認して」 - /pr-review [ブランチ名 or コミットハッシュ]
npx skillsauth add oto1720/claude-agents-skills pr-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Git の差分をベースに PRレビューレポート を生成する。
code-review より差分に特化し、変更の意図・影響範囲・マージ可否 を重視する。
$ARGUMENTS にブランチ名、コミットハッシュ、または空(現在の差分)を受け取る。
例:
/pr-review — ステージング済み + 未コミット変更を対象/pr-review feature/auth — mainとfeature/authの差分/pr-review abc1234 — 特定コミットの変更# 引数なし: 現在の変更
git diff HEAD
git diff --staged
# ブランチ指定
git diff main...$ARGUMENTS --stat
git diff main...$ARGUMENTS
# コミット指定
git show $ARGUMENTS --stat
git show $ARGUMENTS
# 変更ファイル数・行数
git diff --shortstat main...$ARGUMENTS 2>/dev/null || git diff --shortstat HEAD
# 変更ファイル一覧
git diff --name-status main...$ARGUMENTS 2>/dev/null || git diff --name-status HEAD
# コミットメッセージ確認
git log main...$ARGUMENTS --oneline 2>/dev/null || git log -5 --oneline
変更が波及する箇所を特定:
# 変更されたファイルが他からimportされているか
for file in $CHANGED_FILES; do
grep -r "import.*$(basename $file .dart)" lib --include="*.dart" -l
done
# テストファイルの対応確認
# lib/features/auth/auth_service.dart → test/features/auth/auth_service_test.dart
docs/reviews/pr_review_{branch}_{YYYYMMDD}.md に出力:
# PR レビューレポート
**PR/ブランチ**: {ブランチ名}
**レビュー日時**: {date}
**変更規模**: +{追加行数} / -{削除行数} / {変更ファイル数}ファイル
---
## 🎯 変更の概要
{この変更が何をするPRか1-3文で要約}
**変更種別**:
- [ ] 新機能 (Feature)
- [ ] バグ修正 (Bug Fix)
- [ ] リファクタリング
- [ ] パフォーマンス改善
- [ ] テスト追加
- [ ] ドキュメント
---
## ✅ マージ判定
> **[APPROVE / REQUEST CHANGES / NEEDS DISCUSSION]**
{判定理由を2-3文で}
---
## 📁 変更ファイル一覧
| ファイル | 変更種別 | +行 | -行 | 懸念度 |
|---------|---------|-----|-----|--------|
| auth_service.dart | Modified | +45 | -12 | 🔴 要確認 |
| home_page.dart | Modified | +8 | -3 | 🟢 問題なし |
| new_feature.dart | Added | +120 | - | 🟡 軽微 |
---
## 🔍 詳細レビュー
### auth_service.dart
#### 変更の意図
{なぜこのファイルが変更されたか}
#### 指摘事項
**[🔴 C-1] {問題タイトル}** (`auth_service.dart:42`)
```dart
// ❌ 変更後のコード(問題あり)
// ✅ 推奨する修正
{なぜ問題か}
このPRの変更が影響する箇所:
home_page.dart — auth_serviceを直接使用profile_page.dart — 認証状態を参照破壊的変更 (Breaking Change): あり / なし
| テスト項目 | 状態 | |-----------|------| | 既存テストがパスするか | ✅ / ❓ 未確認 / ❌ 失敗懸念 | | 新機能のテストが追加されているか | ✅ / ❌ 不足 | | エッジケースのテスト | ✅ / ❌ 不足 |
追加すべきテストケース:
// テスト例
test('should handle null user gracefully', () { ... });
PRのコメントにそのまま貼れる形式
全体コメント:
レビューしました。
{N}件の指摘事項があります。Criticalが{N}件あるため、
修正後に再レビューをお願いします。
詳細は docs/reviews/pr_review_*.md を参照してください。
インラインコメント候補:
auth_service.dart:42: nullチェックを追加してください。user?.id ?? '' の形式が安全です。Generated by Claude Code / pr-review skill
## 品質基準
- **差分のコードを必ず引用する**(`git show` の実際の出力から取る)
- **マージ判定は必ず出す**(Approve / Request Changes / Needs Discussion)
- **影響範囲を必ず分析する**(変更が波及するファイルを調べる)
- **コピペ用のレビューコメントを含める**(実際のPRに使いやすくする)
development
プロジェクト全体の技術構成図(アーキテクチャダイアグラム)を自動生成するスキル。リポジトリやプロジェクトのコードベースを解析し、使用技術・依存関係・レイヤー構造・データフロー・インフラ構成を可視化したMermaid/SVG/HTML図を生成する。「技術構成図を作って」「アーキテクチャ図」「システム構成を可視化」「プロジェクトの全体像」「tech stack diagram」などのリクエストで必ずこのスキルを使用すること。プロジェクトの理解・オンボーディング資料・ドキュメント作成にも活用できる。
testing
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, update or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
development
セキュリティ観点でコードを精査し、脆弱性・リスクをレポートする。 以下のトリガーで自動発動: - 「セキュリティレビューして」「脆弱性チェック」「セキュリティ問題ない?」 - 「認証コードを確認して」「APIキーや秘密情報が漏れていないか確認して」 - /security-review [ファイルパス]
development
Next.js UIコード規範・規約の適用スキル。Next.jsのコンポーネント、ページ、レイアウト、フォーム、データテーブル、モーダルなどUI要素の作成・レビュー・生成時に使用する。「Next.jsのコンポーネントを作って」「フォームを実装したい」「このページをどう構成すべきか」「Server Componentを書いて」「モーダルを追加して」「データテーブルを作って」「Next.jsのUIパターンを教えて」などのリクエストでトリガーする。ファイル構成、TypeScript規約、Tailwindパターン、shadcn/uiに関する質問でも使用すること。