---
name: review-schema
description: Review the SCHEMA.md document's contents using a structured 3-tier severity checklist.
argument-hint: "Relative path of the schema document to review (default: docs/SCHEMA.md)"
---

Read and review the contents of the target SCHEMA.md document in the workspace using a structured checklist with three severity levels (問題, 要確認, 提案).

## Review Checklist

### 1. 問題 (Issue/Problem - High Severity)

*Critical errors, logic flaws, or gaps that must be corrected.*

*   **構成要素の不足 (Missing Core Sections)**: Check if required sections are present: "データベース概要", "ネーミングルール", "全体ER図", and "マイグレーション方針".
*   **ER図の文法エラー (Mermaid Syntax Error)**: Inspect the Mermaid entity relationship diagram syntax for errors.
*   **ネーミングルールの矛盾 (Naming Rule Violation)**: Contradictory rules for table/column naming (e.g. mix of snake_case and camelCase without clear scoping).
*   **アーキテクチャ・コンセプトとの不整合 (Inconsistency with ARCHITECTURE.md/CONCEPT.md)**: Database type or hosting choices that conflict with the technical stack defined in `docs/ARCHITECTURE.md` or `docs/CONCEPT.md`.

### 2. 要確認 (Needs Confirmation/Clarification - Medium Severity)

*Items that require clarification or validation.*

*   **マイグレーション・初期データ方針の曖昧さ (Migration / Seed Data Rules)**: Ambiguous instructions for migrating changes or seeding initial/master data.
*   **データ保持要件 (Data Retention & Volume)**: Unstated assumptions about data volume limits, archiving, or partition strategies if the project is expected to scale.
*   **複合ユニークキーやインデックス基本ルール (Index Standard Rules)**: Lack of clear conventions for indexing foreign keys or creating compound constraints.

### 3. 提案 (Suggestion/Recommendation - Low Severity)

*Constructive ideas to improve clarity, aesthetics, or user experience.*

*   **データ型マッピング表の追加 (Data Type Mapping Table)**: Add a mapping guide of application framework types to database engine physical types.
*   **カラム命名プレフィックス/サフィックス例 (Naming Convention Examples)**: Provide concrete examples of boolean indicators (e.g., `is_`, `has_`) or timestamp columns (e.g., `_at`, `_on`).

---

## Execution Flow

1. **Locate Target File**:
   *   If a file path is provided as an argument, use it as the target.
   *   If no argument is provided, default to `docs/SCHEMA.md`.
2. **Read Content**:
   *   Read the file content.
3. **Conduct Review**:
   *   Analyze the document line-by-line or section-by-section against the checklist.
4. **Save Report to File**:
   *   Save the formatted review report to `.review/[relative-path-to-target-document]` relative to the project root (e.g., `.review/docs/SCHEMA.md`).
   *   Ensure the directories inside `.review/` are created automatically if they do not exist.
   *   If the report file already exists, overwrite it with the new review content.
5. **Output Report**:
   *   Present the structured review report in the chat and notify the user of the path to the saved file.

---

## Output Report Format

Output the review report using the following structure:

```markdown
# Document Review Report: [file basename]

Review of: `[relative/path/to/file]`

## Executive Summary

| Severity | Count | Key Focus |
| --- | --- | --- |
| 🔴 問題 (High) | 0 | Critical issues requiring immediate correction |
| 🟡 要確認 (Medium) | 0 | Items requiring user confirmation or alignment |
| 🟢 提案 (Low) | 0 | Suggestions for readability and quality |

---

## Detailed Findings

### 🔴 問題 (High Severity)
*List critical issues.*

- **[Short Summary of Issue]**
  - **Location**: Line X-Y / Section name
  - **Original Text**: `[original text]`
  - **Description**: [Why it is a problem]
  - **Recommended Action**: [Specific, actionable fix]

### 🟡 要確認 (Medium Severity)
*List items needing confirmation.*

- **[Short Summary]**
  - **Location**: Line X-Y / Section name
  - **Original Text**: `[original text]`
  - **Description**: [What needs confirmation and why]
  - **Recommended Action**: [Specific clarification questions or options]

### 🟢 提案 (Low Severity)
*List suggestions.*

- **[Short Summary]**
  - **Location**: Line X-Y / Section name
  - **Original Text**: `[original text]`
  - **Description**: [How it could be improved]
  - **Recommended Action**: [Concrete suggested text or structure]
```
