Claude Code Plugins

Community-maintained marketplace

Feedback

review-output-format

@Ryo-cool/Nature-Spots
2
0

コードレビュー結果の出力フォーマットを定義。重要度レベル、出力構造、GitHubコメント形式のMarkdownテンプレートを提供します。

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name review-output-format
description コードレビュー結果の出力フォーマットを定義。重要度レベル、出力構造、GitHubコメント形式のMarkdownテンプレートを提供します。

レビュー出力フォーマット

このスキルはコードレビュー結果の出力形式を定義します。すべてのレビューはこのフォーマットに従って出力してください。

重要度レベル

レベル アイコン 説明 マージへの影響
Critical 🔴 セキュリティ脆弱性、重大なバグ、データ損失リスク マージ不可。即座に修正必須
High 🟠 パフォーマンス問題、テスト不足、重要な設計問題 マージ前に修正必須
Medium 🟡 コードスタイル違反、軽微な設計問題 修正推奨(マージ可)
Low 🟢 改善提案、リファクタリング候補 任意(マージ可)
Info ℹ️ 情報提供、肯定的なフィードバック 参考情報

出力構造

単一観点のレビュー

## [アイコン] [観点名] レビュー結果

### サマリー
[2-3文での概要]

### 🔴 Critical
[問題がある場合のみ表示]

### 🟠 High
[問題がある場合のみ表示]

### 🟡 Medium
[問題がある場合のみ表示]

### 🟢 Low / Info
[問題がある場合のみ表示]

### ✅ 良い点
[肯定的なフィードバック]

---
レビュー完了: [日時]
レビュー観点: [観点名]
対象ファイル数: [数]

統合レビュー(複数観点)

# 📋 PR レビュー結果

## サマリー
| 観点 | Critical | High | Medium | Low |
|------|----------|------|--------|-----|
| 🔒 セキュリティ | 0 | 1 | 2 | 0 |
| ⚡ パフォーマンス | 0 | 0 | 1 | 1 |
| 🏗️ アーキテクチャ | 0 | 0 | 0 | 2 |
| **合計** | **0** | **1** | **3** | **3** |

## 判定
[APPROVED / CHANGES_REQUESTED / COMMENT]

---

## 🔒 セキュリティレビュー結果
[詳細]

---

## ⚡ パフォーマンスレビュー結果
[詳細]

---

## 🏗️ アーキテクチャレビュー結果
[詳細]

問題の記述形式

基本形式

### 🔴 Critical

#### 1. [問題のタイトル]
- **ファイル**: [`path/to/file.ts:42`](path/to/file.ts#L42)
- **問題**: [問題の説明]
- **影響**: [この問題が引き起こす影響]
- **修正提案**: [具体的な修正方法]
- **修正例**:
  ```typescript
  // Before
  [現在のコード]

  // After
  [修正後のコード]
  • 参考: [関連ドキュメントへのリンク(あれば)]

### 具体例

```markdown
### 🔴 Critical

#### 1. SQLインジェクションの脆弱性
- **ファイル**: [`back/app/controllers/api/v1/spots_controller.rb:25`](back/app/controllers/api/v1/spots_controller.rb#L25)
- **問題**: ユーザー入力が直接SQLクエリに挿入されています
- **影響**: 攻撃者がデータベースの全データを取得・改ざん・削除可能
- **修正提案**: パラメータ化クエリを使用してください
- **修正例**:
  ```ruby
  # Before
  Spot.where("name LIKE '%#{params[:q]}%'")

  # After
  Spot.where("name LIKE ?", "%#{params[:q]}%")

## GitHubコメント形式

### PR全体へのコメント

```markdown
## 📋 自動コードレビュー結果

> このレビューは Claude Code によって自動生成されました

### 概要
このPRでは [変更の概要] が実装されています。

### レビュー結果
- 🔴 Critical: **0件**
- 🟠 High: **1件**
- 🟡 Medium: **2件**
- 🟢 Low: **3件**

### 判定: ⚠️ CHANGES_REQUESTED

---

[詳細なレビュー内容]

---

<details>
<summary>レビュー設定</summary>

- レビューエージェント: security-reviewer, performance-reviewer, architecture-reviewer
- レビュー日時: 2025-01-15 10:30:00 JST
- 対象ファイル数: 12

</details>

特定行へのコメント(インラインコメント)

⚠️ **High: N+1クエリの可能性**

このコードはN+1クエリを引き起こす可能性があります。

**修正提案**:
```ruby
# 現在のコード
@spots = Spot.all

# 推奨される修正
@spots = Spot.includes(:user, :reviews).all

関連データを事前にロードすることで、クエリ数を大幅に削減できます。


## 問題が検出されなかった場合

```markdown
## ✅ [観点名] レビュー結果

レビューを完了しました。**問題は検出されませんでした**。

### レビュー対象
- ファイル数: 8
- 変更行数: +142 / -23

### 確認項目
- [x] [確認した項目1]
- [x] [確認した項目2]
- [x] [確認した項目3]

---
レビュー完了: 2025-01-15 10:30:00 JST

テストファイルのレビュー形式

テストファイルは通常のコードとは異なる観点でレビューします。

## 🧪 テストレビュー結果

### テストカバレッジ
- 新規コード: 85%
- 全体: 78%

### 検出された問題

#### 🟡 Medium: アサーションの不足
- **ファイル**: [`spec/models/spot_spec.rb:45`](spec/models/spot_spec.rb#L45)
- **問題**: テストケースにアサーションがありません
- **修正例**:
  ```ruby
  # Before
  it 'creates a spot' do
    Spot.create(name: 'Test')
  end

  # After
  it 'creates a spot' do
    expect { Spot.create(name: 'Test') }.to change(Spot, :count).by(1)
  end

テスト品質チェック

  • 境界値テストの実装
  • エラーケースのテスト
  • モックの適切な使用
  • テストの独立性

## 出力言語

すべてのレビュー結果は**日本語**で出力してください。

技術用語(例: SQLインジェクション、N+1クエリ)は英語のままで構いません。

## フッターテンプレート

```markdown
---

<sub>🤖 このレビューは [Claude Code](https://claude.com/claude-code) によって自動生成されました。</sub>
<sub>問題がある場合は、手動でレビューを依頼してください。</sub>