Back to skills
extension
Category: Development & EngineeringNo API key required

design-document-types

Define the types and judgment criteria of detailed design documents, and create a catalog to dynamically determine the necessary design document types from the contents of the basic design document.

personAuthor: jakexiaohubgithub

詳細設計書タイプカタログ

このドキュメントは、詳細設計書の種類と、それぞれの判定基準を定義します。 基本設計書の内容を分析し、必要な設計書タイプを動的に決定するために使用します。


設計書タイプ一覧

必須ドキュメント

| タイプ | ファイル名 | 説明 | 必須条件 | |--------|-----------|------|---------| | インデックス | 詳細設計書.md | 機能全体の概要とインデックス | 常に必須 |

コア設計書(条件付き)

| タイプ | ファイル名 | 説明 | 作成条件 | |--------|-----------|------|---------| | バックエンド | バックエンド設計書.md | API仕様、処理詳細 | APIエンドポイントがある | | フロントエンド | フロントエンド設計書.md | コンポーネント設計、状態管理 | 画面設計書がある場合は必ず作成 | | 画面 | 画面設計書.md | 画面レイアウト、遷移、バリデーション | ユーザー向け画面がある | | データベース | データベース設計書.md | テーブル定義、ER図、インデックス | DB操作がある |

Note: 画面設計書とフロントエンド設計書はセットで作成する。

  • 画面設計書: UIレイアウト、遷移、バリデーション(デザイナー視点)
  • フロントエンド設計書: コンポーネント設計、状態管理、データフェッチ(エンジニア視点)

アーキテクチャ関連設計書

| タイプ | ファイル名 | 説明 | 作成条件 | |--------|-----------|------|---------| | BFF | BFF設計書.md | Backend for Frontend設計 | BFFレイヤーがある | | API Gateway | APIゲートウェイ設計書.md | ルーティング、認証、レート制限 | API Gatewayを使用 | | マイクロサービス連携 | サービス間連携設計書.md | サービス間通信、イベント駆動 | マイクロサービス構成 |

外部連携設計書

| タイプ | ファイル名 | 説明 | 作成条件 | |--------|-----------|------|---------| | 外部API連携 | 外部API連携設計書.md | サードパーティAPI連携詳細 | 外部APIを使用 | | Webhook | Webhook設計書.md | Webhook受信/送信設計 | Webhookがある | | ファイル連携 | ファイル連携設計書.md | ファイル入出力、バッチ連携 | ファイル連携がある |

横断的関心事

| タイプ | ファイル名 | 説明 | 作成条件 | |--------|-----------|------|---------| | セキュリティ | セキュリティ設計書.md | 認証認可、暗号化、監査ログ | セキュリティ要件が複雑 | | パフォーマンス | パフォーマンス設計書.md | キャッシュ、最適化戦略 | パフォーマンス要件が厳しい | | 非同期処理 | 非同期処理設計書.md | キュー、ジョブ、バッチ処理 | 非同期処理がある | | 通知 | 通知設計書.md | メール、プッシュ、SMS通知 | 通知機能がある |

インフラストラクチャ(AWS基準)

| タイプ | ファイル名 | 説明 | 作成条件 | |--------|-----------|------|---------| | インフラ | インフラ設計書.md | AWS構成、ネットワーク、セキュリティグループ | 常に作成 | | コンテナ | コンテナ設計書.md | Docker、ECS/EKS構成 | コンテナ化する場合 | | CI/CD | CI/CD設計書.md | パイプライン、デプロイ戦略 | CI/CDパイプラインがある |


判定ロジック

フェーズ0で基本設計書から以下を抽出して判定

基本設計書の分析
    ↓
┌─────────────────────────────────────────────────────────────┐
│ 1. システムアーキテクチャを確認                              │
│    - BFFの有無 → BFF設計書                                  │
│    - API Gatewayの有無 → APIゲートウェイ設計書              │
│    - マイクロサービス構成 → サービス間連携設計書            │
└─────────────────────────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────────────────────────┐
│ 2. 機能一覧を確認                                           │
│    - API有無 → バックエンド設計書                           │
│    - 画面有無 → 画面設計書 + フロントエンド設計書(セット) │
│    - DB操作有無 → データベース設計書                        │
└─────────────────────────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────────────────────────┐
│ 3. 外部インターフェースを確認                               │
│    - 外部API連携 → 外部API連携設計書                        │
│    - Webhook → Webhook設計書                                │
│    - ファイル連携 → ファイル連携設計書                      │
└─────────────────────────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────────────────────────┐
│ 4. 非機能要件を確認                                         │
│    - セキュリティ要件が複雑 → セキュリティ設計書            │
│    - パフォーマンス要件が厳しい → パフォーマンス設計書      │
│    - 非同期処理がある → 非同期処理設計書                    │
│    - 通知機能がある → 通知設計書                            │
└─────────────────────────────────────────────────────────────┘
    ↓
┌─────────────────────────────────────────────────────────────┐
│ 5. インフラ要件を確認(AWS基準)                             │
│    - 常に → インフラ設計書(必須)                          │
│    - コンテナ化する場合 → コンテナ設計書                    │
│    - CI/CDパイプラインがある → CI/CD設計書                  │
└─────────────────────────────────────────────────────────────┘

各設計書の判定キーワード

BFF設計書

作成条件: 以下のいずれかに該当

  • アーキテクチャ図に「BFF」「Backend for Frontend」が含まれる
  • 技術スタックにBFFフレームワーク(Next.js API Routes, Nuxt server routes等)がある
  • フロントエンドとバックエンドの間に中間レイヤーがある

含めるべき内容:

  • BFFの責務定義
  • エンドポイント設計(クライアント向け)
  • バックエンドAPI呼び出しパターン
  • データ集約・変換ロジック
  • キャッシュ戦略
  • エラーハンドリング

外部API連携設計書

作成条件: 以下のいずれかに該当

  • 外部システム連携に具体的なサードパーティサービスが記載
  • 「外部API」「〇〇API」(Stripe, SendGrid, AWS等)への言及がある
  • 技術スタックに外部サービスSDKがある

含めるべき内容:

  • 連携先API仕様(参照先URL含む)
  • 認証方式(API Key, OAuth等)
  • リクエスト/レスポンス形式
  • エラーハンドリング・リトライ戦略
  • レート制限対策
  • テスト戦略(モック、サンドボックス)

フロントエンド設計書

作成条件: 画面設計書がある場合は必ず作成

画面設計書とフロントエンド設計書は相互補完の関係にある:

  • 画面設計書: UIレイアウト、遷移、バリデーション(What to show)
  • フロントエンド設計書: コンポーネント設計、状態管理(How to build)

含めるべき内容:

  • コンポーネント階層図
  • 状態管理設計(グローバル/ローカル/サーバー状態)
  • データフェッチング戦略(SSR/CSR/ISR)
  • ルーティング設計
  • エラー境界設計
  • アクセシビリティ対応

非同期処理設計書

作成条件: 以下のいずれかに該当

  • 「非同期」「バッチ」「キュー」「ジョブ」への言及
  • メッセージキュー(Redis, RabbitMQ, SQS等)の使用
  • 長時間実行処理がある

含めるべき内容:

  • ジョブ種別一覧
  • キュー設計
  • 実行タイミング・スケジュール
  • リトライ・デッドレター戦略
  • 監視・アラート

通知設計書

作成条件: 以下のいずれかに該当

  • 「メール送信」「プッシュ通知」「SMS」への言及
  • 通知サービス(SendGrid, FCM, Twilio等)の使用

含めるべき内容:

  • 通知種別一覧
  • トリガー条件
  • テンプレート設計
  • 配信チャネル選択ロジック
  • 配信ステータス管理

インフラ設計書(AWS基準)

作成条件: 常に作成(Webアプリケーションには必ずインフラが必要)

含めるべき内容:

  • システム構成図(AWS構成)
  • ネットワーク設計(VPC, サブネット, セキュリティグループ)
  • コンピューティング(EC2, ECS, Lambda等)
  • データベース(RDS, DynamoDB, ElastiCache等)
  • ストレージ(S3, EFS等)
  • CDN/ロードバランサー(CloudFront, ALB)
  • 監視・ログ(CloudWatch, X-Ray)
  • セキュリティ(IAM, Secrets Manager, WAF)
  • コスト見積もり
  • 障害対策・DR設計

AWSサービス判定キーワード: | カテゴリ | キーワード | 対応AWSサービス | |---------|-----------|----------------| | コンピュート | API, サーバー, コンテナ | ECS, Lambda, EC2 | | データベース | PostgreSQL, MySQL, NoSQL | RDS, Aurora, DynamoDB | | キャッシュ | Redis, キャッシュ | ElastiCache | | ストレージ | ファイル, 画像, S3 | S3, EFS | | メッセージング | キュー, 非同期, イベント | SQS, SNS, EventBridge | | メール | メール送信 | SES | | 認証 | 認証, OAuth | Cognito | | CDN | 静的ファイル, 高速化 | CloudFront | | 監視 | ログ, 監視, アラート | CloudWatch |

コンテナ設計書

作成条件: 以下のいずれかに該当

  • 「Docker」「コンテナ」「ECS」「EKS」「Kubernetes」への言及
  • マイクロサービスアーキテクチャ

含めるべき内容:

  • Dockerfile設計
  • コンテナ構成(サービス単位)
  • オーケストレーション(ECS/EKS)
  • リソース制限(CPU, メモリ)
  • ヘルスチェック
  • ログ収集
  • シークレット管理

CI/CD設計書

作成条件: 以下のいずれかに該当

  • 「CI/CD」「パイプライン」「デプロイ」への言及
  • GitHub Actions, CodePipeline等の使用

含めるべき内容:

  • パイプライン構成
  • ビルド・テスト戦略
  • デプロイ戦略(Blue/Green, Canary等)
  • 環境管理(dev/stg/prod)
  • ロールバック手順
  • 承認フロー

出力形式

設計書タイプ判定結果は以下の形式で出力:

## 設計書タイプ判定結果

### サブ機能分割

| サブ機能名 | 含まれる機能ID | 理由 |
|-----------|---------------|------|
| ログイン | F-001, F-007 | ログイン画面で実行、密接に関連 |
| ログアウト | F-002, F-003 | ログアウト関連の機能群 |
| パスワードリセット | F-005, F-006 | リセットフロー全体 |
| 共通 | - | DB設計、インフラ設計等 |

### 判定根拠

| 分析対象 | 検出内容 | 判定された設計書 | 配置場所 |
|---------|---------|-----------------|---------|
| システムアーキテクチャ | BFFレイヤーあり | BFF設計書 | 各サブ機能 |
| 機能一覧 | REST API 5エンドポイント | バックエンド設計書 | 各サブ機能 |
| 機能一覧 | 画面3種類 | 画面設計書 | 各サブ機能 |
| 外部インターフェース | SendGrid連携 | 外部API連携設計書 | パスワードリセット |
| 非機能要件 | メール通知機能 | 通知設計書 | パスワードリセット |
| データベース | PostgreSQL | データベース設計書 | 共通 |
| インフラ | AWS構成 | インフラ設計書 | 共通 |

### 作成する設計書一覧

#### ログイン/
| # | 設計書名 | 理由 |
|---|---------|------|
| 1 | 詳細設計書.md | 必須 |
| 2 | バックエンド設計書.md | POST /login |
| 3 | 画面設計書.md | ログイン画面 |

#### パスワードリセット/
| # | 設計書名 | 理由 |
|---|---------|------|
| 1 | 詳細設計書.md | 必須 |
| 2 | バックエンド設計書.md | reset-request, reset |
| 3 | 画面設計書.md | リセット画面 |
| 4 | 外部API連携設計書.md | SendGrid |

#### 共通/
| # | 設計書名 | 理由 |
|---|---------|------|
| 1 | データベース設計書.md | 全サブ機能で共有 |
| 2 | インフラ設計書.md | AWS構成(必須) |
| 3 | セキュリティ設計書.md | 認証全体 |

### フォルダ構成

docs/designs/detailed/{親機能名}/ ├── README.md # 親機能の概要 ├── ログイン/ │ ├── 詳細設計書.md │ ├── バックエンド設計書.md │ └── 画面設計書.md ├── パスワードリセット/ │ ├── 詳細設計書.md │ ├── バックエンド設計書.md │ ├── 画面設計書.md │ └── 外部API連携設計書.md └── 共通/ ├── データベース設計書.md ├── インフラ設計書.md └── セキュリティ設計書.md


参照

  • 各設計書のテンプレートは ``detailed-design-writer skill を参照
  • 共通設計書は docs/designs/detailed/{親機能名}/共通/ に配置
  • プロジェクト全体の共通設計は docs/designs/detailed/共通設計/ に配置