Skip to main content

review-guidelines

各レビュアーエージェントが参照する詳細なレビュー観点(DB設計、セキュリティ、バックエンド、フロントエンド、インフラ)を定義

Source facts

Repository
takemo101/compose-workflow
Last source activity
January 29, 2026 at 15:10
Detected SKILL.md language
Japanese
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
review-guidelines
description
各レビュアーエージェントが参照する詳細なレビュー観点(DB設計、セキュリティ、バックエンド、フロントエンド、インフラ)を定義
# レビュー観点詳細ガイド 本ドキュメントは、各レビュアーエージェントが参照する詳細なレビュー観点を定義します。 --- ## 1. DB設計レビュー観点 (`database-reviewer` skill) ### 1.1 仕様との整合性(配点: 25点) | チェック項目 | 確認内容 | |-------------|---------| | エンティティ網羅 | 要件・基本設計で定義されたエンティティがテーブル化されているか | | API対応 | APIのリクエスト/レスポンスに必要なカラムが含まれているか | | ビジネスルール | ビジネスルールを実現できる設計か(制約、トリガー等) | ### 1.2 正規化(配点: 15点) | チェック項目 | 確認内容 | |-------------|---------| | 正規形 | 第3正規形以上に正規化されているか | | 冗長性 | 不要な重複データがないか | | 非正規化 | 意図的な非正規化は理由が明記されているか | ### 1.3 リレーション(配点: 15点) | チェック項目 | 確認内容 | |-------------|---------| | 外部キー | 外部キー制約が適切に設定されているか | | カスケード | ON DELETE / ON UPDATE が適切に設定されているか | | 整合性 | 参照整合性が保たれているか | ### 1.4 データ型(配点: 10点) | チェック項目 | 確認内容 | |-------------|---------| | 適切性 | 用途に適したデータ型が選択されているか | | サイズ | VARCHAR長、数値範囲が適切か | | DBエンジン対応 | 対象DBエンジンに適した型か | ### 1.5 インデックス(配点: 15点) | チェック項目 | 確認内容 | |-------------|---------| | 検索パターン | 想定される検索パターンに対応しているか | | 外部キー | 外部キーカラムにインデックスが付与されているか | | 複合インデックス | 選択性の高いカラムが先に配置されているか | | 過剰インデックス | 不要なインデックスがないか | ### 1.6 命名規則(配点: 10点) | チェック項目 | 確認内容 | |-------------|---------| | テーブル名 | snake_case、複数形が守られているか | | カラム名 | snake_case、外部キーは `{参照テーブル単数形}_id` 形式か | | インデックス名 | `idx_{テーブル}_{カラム}` 形式か | ### 1.7 共通カラム(配点: 5点) | チェック項目 | 確認内容 | |-------------|---------| | 主キー | `id` (BIGINT UNSIGNED AUTO_INCREMENT) があるか | | タイムスタンプ | `created_at`, `updated_at` があるか | | ソフトデリート | 必要なテーブルに `deleted_at` があるか | ### 1.8 セキュリティ(配点: 5点) | チェック項目 | 確認内容 | |-------------|---------| | パスワード | パスワードはハッシュ化前提のカラム設計か | | 機密データ | PII/機密データの暗号化が考慮されているか | --- ## 2. セキュリティレビュー観点 (`security-reviewer` skill) ### 2.1 脆弱性情報の参照(必須) 実装レビュー時は以下のサイトで最新の脆弱性情報を確認: | サイト | URL | 説明 | |--------|-----|------| | JVN | https://jvn.jp/ | 日本の脆弱性情報ポータル(必須) | | JVN iPedia | https://jvndb.jvn.jp/ | 脆弱性対策情報データベース | | CVE | https://cve.mitre.org/ | 国際的な脆弱性識別子 | | NVD | https://nvd.nist.gov/ | 米国国立脆弱性データベース | ### 2.2 OWASP Top 10 (2021) チェック | # | 脆弱性 | チェック項目 | |---|--------|-------------| | A01 | アクセス制御の不備 | 認可チェックが全エンドポイントで実装されているか | | A02 | 暗号化の失敗 | 強い暗号化アルゴリズムを使用しているか(bcrypt, argon2等) | | A03 | インジェクション | SQL/コマンド/XSSインジェクション対策があるか | | A04 | 安全でない設計 | 脅威モデリングが実施されているか | | A05 | セキュリティ設定ミス | 本番環境でデバッグモードが無効か | | A06 | 脆弱なコンポーネント | 依存パッケージに既知の脆弱性がないか | | A07 | 認証の失敗 | ブルートフォース対策(レート制限)があるか | | A08 | 整合性の不具合 | ロックファイルがコミットされているか | | A09 | ログ監視の不足 | セキュリティイベントがログ出力されているか | | A10 | SSRF | 外部URLアクセス時の検証があるか | ### 2.3 入力検証 | チェック項目 | 確認内容 | |-------------|---------| | 全入力の検証 | ユーザー入力はすべてサーバー側で検証されているか | | 型チェック | 適切な型チェックが実装されているか | | 長さ制限 | 入力長の制限が設けられているか | | サニタイズ | 特殊文字のエスケープ/サニタイズが行われているか | ### 2.4 認証・認可 | チェック項目 | 確認内容 | |-------------|---------| | 認証保護 | 認証が必要なエンドポイントが保護されているか | | 認可チェック | リソースへのアクセス権限が検証されているか | | セッション管理 | セッションが適切に管理されているか | | トークン | JWTの有効期限、署名検証が適切か | ### 2.5 データ保護 | チェック項目 | 確認内容 | |-------------|---------| | 機密データ暗号化 | 機密データは暗号化されて保存されているか | | パスワードハッシュ | パスワードは強いハッシュアルゴリズムで保存されているか | | ログ出力 | ログに機密情報(パスワード、トークン等)が出力されていないか | | ハードコード | 機密情報がコードにハードコードされていないか | --- ## 3. バックエンドレビュー観点 (`backend-reviewer` skill) ### 3.1 アーキテクチャ準拠(配点: 25点) | チェック項目 | 確認内容 | |-------------|---------| | 層構造 | オニオン/クリーンアーキテクチャの層構造が守られているか | | 依存方向 | 依存関係が内側(ドメイン)に向いているか | | 責務分離 | 各層の責務が適切に分離されているか | ### 3.2 API設計(配点: 20点) | チェック項目 | 確認内容 | |-------------|---------| | RESTful | RESTful設計原則に従っているか | | ステータスコード | HTTPステータスコードが適切か | | エラーレスポンス | エラーレスポンス形式が統一されているか | | バージョニング | APIバージョニングが考慮されているか | ### 3.3 エラーハンドリング(配点: 15点) | チェック項目 | 確認内容 | |-------------|---------| | 例外処理 | 例外が適切にキャッチ・処理されているか | | ログ出力 | エラー時のログ出力が適切か | | ユーザー向けメッセージ | 内部情報が漏洩しないメッセージになっているか | ### 3.4 パフォーマンス(配点: 15点) | チェック項目 | 確認内容 | |-------------|---------| | N+1問題 | N+1クエリ問題がないか | | ページネーション | 大量データ取得時にページネーションがあるか | | キャッシュ | 適切なキャッシュ戦略が実装されているか | ### 3.5 テスト(配点: 15点) | チェック項目 | 確認内容 | |-------------|---------| | カバレッジ | 新規コードのカバレッジが80%以上か | | 境界値 | 境界値テストが実装されているか | | 異常系 | 異常系テストが網羅されているか | ### 3.6 コード品質(配点: 10点) | チェック項目 | 確認内容 | |-------------|---------| | 500行ルール | 1ファイル500行以下か | | 命名規則 | 命名規則が守られているか | | 重複 | コードの重複がないか | --- ## 4. フロントエンドレビュー観点 (`frontend-reviewer` skill) ### 4.1 アーキテクチャ準拠(配点: 25点) | チェック項目 | 確認内容 | |-------------|---------| | Atomic Design | コンポーネントが5階層で適切に分類されているか | | MVVM | Model-View-ViewModelの分離が適切か | | 責務分離 | コンポーネントの責務が単一か | ### 4.2 コンポーネント設計(配点: 20点) | チェック項目 | 確認内容 | |-------------|---------| | 再利用性 | コンポーネントが再利用可能な設計か | | Props設計 | Propsの型定義が適切か | | 状態管理 | 状態管理が適切なスコープで行われているか | ### 4.3 アクセシビリティ(配点: 15点) | チェック項目 | 確認内容 | |-------------|---------| | セマンティックHTML | 適切なHTML要素が使用されているか | | ARIA属性 | 必要なARIA属性が設定されているか | | キーボード操作 | キーボードのみで操作可能か | | コントラスト | 色のコントラスト比が適切か | ### 4.4 パフォーマンス(配点: 15点) | チェック項目 | 確認内容 | |-------------|---------| | レンダリング最適化 | 不要な再レンダリングがないか | | バンドルサイズ | 不要な依存関係がないか | | 画像最適化 | 画像が最適化されているか | ### 4.5 UX/UI(配点: 15点) | チェック項目 | 確認内容 | |-------------|---------| | ローディング | ローディング状態が表示されるか | | エラー表示 | エラーが適切に表示されるか | | レスポンシブ | レスポンシブデザインが実装されているか | ### 4.6 コード品質(配点: 10点) | チェック項目 | 確認内容 | |-------------|---------| | 500行ルール | 1ファイル500行以下か | | 型安全性 | TypeScriptの型が適切に定義されているか | | Lint | ESLint/Prettierのエラーがないか | --- ## 5. インフラレビュー観点 (`infra-reviewer` skill) ### 5.1 Well-Architected Framework(配点: 40点) | 柱 | チェック項目 | |----|-------------| | セキュリティ | 暗号化、最小権限、ネットワーク分離 | | 信頼性 | Multi-AZ、Auto Scaling、バックアップ | | パフォーマンス効率 | 適切なインスタンスサイズ、キャッシュ活用 | | コスト最適化 | 不要なリソースがないか | | 運用上の優秀性 | CloudWatch、タグ付け、IaC | ### 5.2 Terraform ベストプラクティス(配点: 30点) | チェック項目 | 確認内容 | |-------------|---------| | モジュール構成 | 責務ごとに適切に分離されているか | | 命名規則 | `{project}-{env}-{resource}` 形式か | | 変数化 | ハードコードがないか | | バージョン固定 | providerバージョンが固定されているか | | 出力定義 | 必要なoutputsが定義されているか | ### 5.3 Docker Compose ベストプラクティス(配点: 30点) | チェック項目 | 確認内容 | |-------------|---------| | バージョン | version: '3.8' 以上か | | ネットワーク | 適切なネットワーク分離がされているか | | ボリューム | 永続化が適切に設定されているか | | 環境変数 | `.env` ファイルから参照しているか | | ヘルスチェック | healthcheckが設定されているか | --- ## スコア算出方法 各レビュアーは100点満点でスコアを算出し、以下の基準で判定: | スコア | 判定 | アクション | |--------|------|----------| | 90-100 | 合格 | マージ可能 | | 70-89 | 要修正 | 指摘事項を修正して再レビュー | | 0-69 | 不合格 | 設計から見直し | --- ## 変更履歴 | 日付 | バージョン | 変更内容 | |:---|:---|:---| | 2026-01-02 | 1.0.0 | 初版作成(ai-frameworkからの取り込み) |
View on GitHub