--- name: code-review description: コードレビューを実施し、品質監査レポートを生成するスキル --- # Code Review Skill ## 目的 コードベース全体を体系的に監査し、品質、セキュリティ、テスト、SDD準拠性の観点から改善点を特定します。 ## 入力 - `src/` - ソースコード全体 - `docs/functional-design.md` - 機能設計書(SDD) - `CLAUDE.md` - 開発ガイドライン - プロジェクト設定ファイル(eslint.config.js, tsconfig.json, package.json等) ## 出力 `docs/code-review-YYYY-MM-DD.md` - コードレビューレポート(日付付き) ## 実行手順 ### 1. 準備フェーズ - プロジェクト構造を理解(README.md, CLAUDE.md確認) - 既存の実装パターンを把握(lessonNotes, studentTraits参照) - SDDの機能一覧と要件を読み込む ### 2. スコープ決定 - レビュー対象を決定(全体 or 特定feature) - ユーザーに確認を求める ### 3. コードベーススキャン 以下の4つの観点で体系的にレビュー: #### 3.1 コーディング規約とベストプラクティス - [guide.md](./guide.md)の「1. コーディング規約チェックリスト」を参照 - TypeScript型安全性、React 19パターン、命名規則を確認 - ESLint違反、コンソールログ残存をチェック #### 3.2 テストカバレッジと品質 - [guide.md](./guide.md)の「2. テストカバレッジチェックリスト」を参照 - カバレッジ80%以上を確認(npm run test:coverage) - MSWモック実装パターンを検証 - エッジケースとエラーケースのテストを確認 #### 3.3 セキュリティとバリデーション - [guide.md](./guide.md)の「3. セキュリティチェックリスト」を参照 - OWASP Top 10に基づく脆弱性チェック - Zodバリデーション実装を確認 - XSS/CSRF対策、認証・認可の実装を検証 #### 3.4 SDD準拠性 - [guide.md](./guide.md)の「4. SDD準拠性チェックリスト」を参照 - 実装が受入基準を満たしているか確認 - APIエンドポイントが仕様通りか検証 - バリデーションルールがSDD定義と整合しているか確認 ### 4. レポート生成 - [template.md](./template.md)を参照してレポートを作成 - 発見した問題を重要度別に分類(Critical/High/Medium/Low) - 具体的な改善推奨事項を記載 - コード例とファイルパスを含める ### 5. 出力と確認 - `docs/code-review-YYYY-MM-DD.md`に保存 - サマリーをユーザーに提示 - 優先度の高い問題から対応を推奨 ## 参照ファイル - [template.md](./template.md) - レビューレポートのテンプレート構造 - [guide.md](./guide.md) - 詳細なレビューガイドライン(チェックポイント、判断基準、実装例) ## 効率的なスキャン戦略 大規模コードベースでは以下の戦略を採用: 1. **優先度付けスキャン**: - Critical機能から優先的にレビュー(auth, lessonNotes, studentTraits) - 共通ライブラリ(lib/errors, lib/api)を重点的に確認 2. **パターンマッチング**: - 既知の実装パターン(lessonNotes)と比較 - 逸脱パターンを特定 3. **自動化活用**: - Glob/Grepで効率的にファイル検索 - ESLintレポート、テストカバレッジレポートを活用 4. **段階的レビュー**: - 1回のレビューで全てをカバーせず、feature単位で段階実施可能 ## 使い方 ### 基本的な使い方 ``` /code-review ``` ### 特定featureのレビュー ``` /code-review lessonNotes ``` ### レビュー後の対応 1. 生成されたレポート(docs/code-review-YYYY-MM-DD.md)を確認 2. Critical/High優先度の問題から対応 3. 必要に応じて段階的に改善 ## 注意事項 - このスキルは**読み取り専用**で、コード修正は行いません - レポートは改善提案であり、全て対応必須ではありません - プロジェクトの文脈や制約を考慮して判断してください - 定期的(週次/月次)に実行し、継続的な品質改善に活用してください