--- name: architecture-design description: アーキテクチャ設計書を作成するスキル --- # Architecture Design Skill ## 目的 システム全体のアーキテクチャ設計書を作成します。 ## 前提条件 このスキルを実行する前に、以下のスキルが完了している必要があります: - **prd-writing**: `docs/product-requirements.md` が作成されていること - **functional-design**: `docs/functional-design.md` が作成されていること ## 入力 - `docs/product-requirements.md` - `docs/functional-design.md` ## 出力 `docs/architecture.md` - アーキテクチャ設計書 ## 実行手順 ### 1. 要件の把握 - PRD(`docs/product-requirements.md`)を読み込む - 機能設計書(`docs/functional-design.md`)を読み込む - プロジェクト制約(技術スタック、開発期間、リソース)を確認する ### 2. 要件の分析 - 機能要件をリストアップ - 非機能要件(パフォーマンス、セキュリティ、可用性)を抽出 - ドメインモデル(エンティティとリレーション)を把握 ### 3. アーキテクチャ設計 - [guide.md](./guide.md)の技術選定基準を参照 - 適切なアーキテクチャパターンを選定 - [template.md](./template.md)を参照してドキュメントを作成 - 実際のプロジェクト要件(React 19、Rails API連携、ドメインモデル)を反映 ### 4. 検証 - 下記の「アーキテクチャ検証チェックリスト」を実施 - レビューで指摘があれば修正 ### 5. 完成 - `docs/architecture.md`を出力 ## 参照ファイル - [template.md](./template.md) - アーキテクチャ設計書のテンプレート構造 - [guide.md](./guide.md) - 設計書作成時のガイドライン(技術選定やアーキテクチャ図作成の注意点) ## アーキテクチャ検証チェックリスト 設計完了後、以下の項目をチェックしてください。 ### 要件との整合性 - [ ] PRDで指定された技術スタック(React 19、Rails API)が反映されている - [ ] 実際のドメインモデル(LessonNote、StudentTrait、Grade、User)がER図に含まれている - [ ] 非機能要件(パフォーマンス目標、セキュリティ要件)が設計に反映されている - [ ] プロジェクト制約(開発期間6ヶ月、限定リソース)を考慮した現実的な設計になっている ### 技術選定の妥当性 - [ ] 各技術選定に明確な理由が記載されている - [ ] 代替案とトレードオフが検討されている - [ ] チームのスキルセットと習熟度が考慮されている - [ ] 運用負荷とコストが許容範囲内である ### アーキテクチャの適切性 - [ ] レイヤー間の依存関係が明確で、適切な分離がされている - [ ] データフローが可視化され、理解しやすい - [ ] スケーラビリティ戦略が具体的に記載されている - [ ] セキュリティ対策(認証、認可、データ保護)が網羅されている ### パフォーマンス設計 - [ ] ページロード≤2秒を実現する具体的な手段が記載されている - [ ] API応答≤500msを実現するキャッシュ戦略がある - [ ] 同時100ユーザー対応のスケーリング設計がある ### 図表の品質 - [ ] アーキテクチャ図がMermaid形式で記載されている - [ ] コンポーネント階層図がある(フロントエンド) - [ ] データフロー図がある - [ ] ER図が実際のドメインモデルを反映している ### ドキュメントの完全性 - [ ] 必須セクションがすべて記載されている - [ ] プレースホルダー([選定理由]など)が残っていない - [ ] バックエンド設計セクションがフロントエンドプロジェクトに適した粒度である - [ ] 監視・ログ戦略が具体的に記載されている ## 使い方 このスキルを使用する際は、以下の流れで作業します: 1. **テンプレートの確認**: [template.md](./template.md)でドキュメント構造を把握 2. **ガイドラインの理解**: [guide.md](./guide.md)で作成時の注意点を確認 3. **ドキュメント作成**: テンプレートに従って`docs/architecture.md`を作成 4. **品質チェック**: 上記の「アーキテクチャ検証チェックリスト」で内容を検証